├── .gitignore ├── Activators ├── ActivateObjectAfterTime.cs ├── ActivateScript.cs └── GameObjectUtils.cs ├── AnimateValues ├── AnimateMaterial.cs ├── ChangeAnimator.cs └── MoveObject.cs ├── Attributes └── SceneAttribute.cs ├── Editor └── Attributes │ └── ScenePropertyDrawer.cs ├── Effects └── FocalLensController.cs ├── Functionalities ├── ApplicationQuit.cs ├── LoadScene.cs ├── OpenURL.cs ├── RealtimeDebugger.cs └── RemoveMyRenderer.cs ├── Game Mechanics ├── FPSCounter.cs └── GrowthScript.cs ├── General behaviors ├── DestroyAfterSeconds.cs └── MoveForward.cs ├── LICENSE.md ├── Material Graphs ├── SampleNormalTextureWorldspace.shadersubgraph ├── SampleTextureWorldspace.shadersubgraph └── UnderwaterSpriteShader.shadergraph ├── README.md ├── Shaders ├── Ripple.cs ├── Ripple.shader └── SceneTransition.shader ├── Sound Related ├── AudioSlider.cs ├── ChangeSongTo.cs ├── MixerAudioSlider.cs └── PlaySound.cs └── Unity Events ├── CallOnCollision.cs ├── CollisionEvent.cs ├── CollisionEventManager.cs ├── EnableDisableEventCaller.cs ├── EventHandler.cs └── StartEventAfterSeconds.cs /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | 6 | **/.DS_Store 7 | 8 | /[Ll]ibrary/ 9 | /[Tt]emp/ 10 | /[Oo]bj/ 11 | /[Bb]uild/ 12 | /[Bb]uilds/ 13 | /[Ll]ogs/ 14 | /[Mm]emoryCaptures/ 15 | 16 | # Never ignore Asset meta data 17 | !/[Aa]ssets/**/*.meta 18 | 19 | # Uncomment this line if you wish to ignore the asset store tools plugin 20 | # /[Aa]ssets/AssetStoreTools* 21 | 22 | # TextMesh Pro files 23 | [Aa]ssets/TextMesh*Pro/ 24 | 25 | # Autogenerated Jetbrains Rider plugin 26 | [Aa]ssets/Plugins/Editor/JetBrains* 27 | 28 | # Visual Studio cache directory 29 | .vs/ 30 | 31 | # Gradle cache directory 32 | .gradle/ 33 | 34 | # Autogenerated VS/MD/Consulo solution and project files 35 | ExportedObj/ 36 | .consulo/ 37 | *.csproj 38 | *.unityproj 39 | *.sln 40 | *.suo 41 | *.tmp 42 | *.user 43 | *.userprefs 44 | *.pidb 45 | *.booproj 46 | *.svd 47 | *.pdb 48 | *.mdb 49 | *.opendb 50 | *.VC.db 51 | 52 | # Unity3D generated meta files 53 | *.pidb.meta 54 | *.pdb.meta 55 | *.mdb.meta 56 | 57 | # Unity3D generated file on crash reports 58 | sysinfo.txt 59 | 60 | # Builds 61 | *.apk 62 | *.unitypackage 63 | 64 | # Crashlytics generated file 65 | crashlytics-build.properties 66 | 67 | 68 | .idea/ 69 | -------------------------------------------------------------------------------- /Activators/ActivateObjectAfterTime.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using UnityEngine; 3 | 4 | /** 5 | This script activates one GameObject given a certain period of time. 6 | */ 7 | public class ActivateObjectAfterTime : MonoBehaviour 8 | { 9 | [SerializeField] private float time; 10 | 11 | public void ActivateObjectAfterTimeFunction(GameObject objectToActivate) 12 | { 13 | StartCoroutine(ActivateObjectAfterTimeCoroutine(objectToActivate)); 14 | } 15 | 16 | private IEnumerator ActivateObjectAfterTimeCoroutine(GameObject objectToActivate) 17 | { 18 | yield return new WaitForSeconds(time); 19 | objectToActivate.SetActive(true); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Activators/ActivateScript.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script activates and deactivates a given GameObject. 5 | */ 6 | public class ActivateScript : MonoBehaviour 7 | { 8 | [SerializeField] 9 | private GameObject activateObject; 10 | 11 | public void ActivateObject() 12 | { 13 | activateObject.SetActive(true); 14 | } 15 | 16 | public void DeactivateObject() 17 | { 18 | activateObject.SetActive(false); 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /Activators/GameObjectUtils.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script grants static methods, such as RemoveAllChidrenFrom one Game Object. 5 | */ 6 | public class GameObjectUtils 7 | { 8 | public static void RemoveAllChidrenFrom(GameObject removeChildrenFrom) 9 | { 10 | int childCount = removeChildrenFrom.transform.childCount; 11 | while (childCount-- > 0) 12 | { 13 | GameObject.DestroyImmediate(removeChildrenFrom.transform.GetChild(0).gameObject); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AnimateValues/AnimateMaterial.cs: -------------------------------------------------------------------------------- 1 | using DG.Tweening; 2 | using UnityEngine; 3 | 4 | /** 5 | REQUIRES: DOTWEEN 6 | 7 | This script animated one Material property using DOTWeen. 8 | */ 9 | public class AnimateMaterial : MonoBehaviour 10 | { 11 | [SerializeField] private Renderer renderer; 12 | [SerializeField] private Material material; 13 | [SerializeField] private string materialProperty; 14 | [SerializeField] private float timeToAnimate; 15 | 16 | private void Awake() 17 | { 18 | material = renderer.material; 19 | } 20 | 21 | public void PerformMaterialAnimation(float valueToAchieve) 22 | { 23 | Tween tween = DOTween.To(() => material.GetFloat(materialProperty), val => { material.SetFloat(materialProperty, val); }, valueToAchieve, timeToAnimate); 24 | tween.Play(); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /AnimateValues/ChangeAnimator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEditor.Animations; 4 | using UnityEngine; 5 | 6 | /** 7 | This script changes the Animator Controler of one object's Animator. 8 | */ 9 | public class ChangeAnimator : MonoBehaviour 10 | { 11 | [SerializeField] private Animator objectWithAnimator; 12 | [SerializeField] private AnimatorController replaceWithAnimatorController; 13 | 14 | public void ReplaceAnimator() 15 | { 16 | objectWithAnimator.runtimeAnimatorController = replaceWithAnimatorController; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /AnimateValues/MoveObject.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using DG.Tweening; 4 | using UnityEngine; 5 | 6 | /** 7 | REQUIRES: DOTWEEN 8 | 9 | This script uses DTWeen to move one object to a given Vector3 position. 10 | */ 11 | public class MoveObject : MonoBehaviour 12 | { 13 | [SerializeField] private GameObject objectToBeMoved; 14 | [SerializeField] private float warmUpTime; 15 | [SerializeField] private float duration; 16 | [SerializeField] private Vector3 moveTo; 17 | 18 | public void Move() 19 | { 20 | StartCoroutine(MoveCoroutine()); 21 | } 22 | 23 | private IEnumerator MoveCoroutine() 24 | { 25 | yield return new WaitForSeconds(warmUpTime); 26 | objectToBeMoved.transform.DOMove(moveTo, duration); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Attributes/SceneAttribute.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /// 4 | /// Original Author: GlynnLeine 5 | /// 6 | public class SceneAttribute : PropertyAttribute 7 | { 8 | } -------------------------------------------------------------------------------- /Editor/Attributes/ScenePropertyDrawer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | /// 7 | /// Original Author: GlynnLeine 8 | /// Reviewer: YvensFaos 9 | /// 10 | [CustomPropertyDrawer(typeof(SceneAttribute))] 11 | public class ScenePropertyDrawer : PropertyDrawer 12 | { 13 | public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) 14 | { 15 | if (property.propertyType == SerializedPropertyType.String) 16 | { 17 | var sceneObject = GetSceneObject(property.stringValue); 18 | var scene = EditorGUI.ObjectField(position, label, sceneObject, typeof(SceneAsset), true); 19 | if (scene == null) 20 | { 21 | property.stringValue = ""; 22 | } 23 | else if (!scene.name.Equals(property.stringValue)) 24 | { 25 | var sceneObj = GetSceneObject(scene); 26 | if (sceneObj != null) 27 | { 28 | property.stringValue = scene.name; 29 | } 30 | } 31 | } 32 | else 33 | { 34 | EditorGUI.LabelField(position, label.text, "Use [Scene] with strings."); 35 | } 36 | } 37 | 38 | protected SceneAsset GetSceneObject(string assetName) 39 | { 40 | foreach (var editorScene in EditorBuildSettings.scenes) 41 | { 42 | if (editorScene.path.IndexOf(assetName, StringComparison.Ordinal) != -1) 43 | { 44 | return AssetDatabase.LoadAssetAtPath(editorScene.path, typeof(SceneAsset)) as SceneAsset; 45 | } 46 | } 47 | 48 | List scenes = EditorBuildSettings.scenes.ToList(); 49 | 50 | var GUIDs = AssetDatabase.FindAssets(assetName + ".unity"); 51 | if (GUIDs == null || GUIDs.Length == 0) 52 | { 53 | return null; 54 | } 55 | 56 | var assetPath = AssetDatabase.GUIDToAssetPath(GUIDs[0]); 57 | scenes.Add(new EditorBuildSettingsScene(assetPath, true)); 58 | EditorBuildSettings.scenes = scenes.ToArray(); 59 | return AssetDatabase.LoadAssetAtPath(assetPath, typeof(SceneAsset)) as SceneAsset; 60 | } 61 | 62 | protected SceneAsset GetSceneObject(UnityEngine.Object asset) 63 | { 64 | foreach (var editorScene in EditorBuildSettings.scenes) 65 | { 66 | if (editorScene.path.IndexOf(asset.name, StringComparison.Ordinal) != -1) 67 | { 68 | return asset as SceneAsset; 69 | } 70 | } 71 | 72 | List scenes = EditorBuildSettings.scenes.ToList(); 73 | 74 | scenes.Add(new EditorBuildSettingsScene(AssetDatabase.GetAssetPath(asset), true)); 75 | EditorBuildSettings.scenes = scenes.ToArray(); 76 | return asset as SceneAsset; 77 | } 78 | } -------------------------------------------------------------------------------- /Effects/FocalLensController.cs: -------------------------------------------------------------------------------- 1 | using DG.Tweening; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | using UnityEngine.Rendering.Universal; 5 | 6 | /** 7 | REQUIRES: DOTWEEN 8 | 9 | This script allows changing the Depth of Field post-processing effect properties using DOTween. 10 | */ 11 | public class FocalLensController : MonoBehaviour 12 | { 13 | [SerializeField] private Volume postProcessVolume; 14 | [SerializeField] private float startFocalLength = 115.0f; 15 | [SerializeField] private float changeDepthOfFieldTimer = 1.0f; 16 | 17 | private VolumeProfile _volumeProfile; 18 | private DepthOfField _depthOfField; 19 | 20 | private void Awake() 21 | { 22 | _volumeProfile = postProcessVolume.profile; 23 | _volumeProfile.TryGet(out _depthOfField); 24 | } 25 | 26 | private void Start() 27 | { 28 | _depthOfField.focalLength.value = startFocalLength; 29 | } 30 | 31 | public void ChangeDepthOfField(float distance) 32 | { 33 | DOTween.To(() => _depthOfField.focalLength.value, value => _depthOfField.focalLength.value = value, 34 | distance, changeDepthOfFieldTimer); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Functionalities/ApplicationQuit.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script closes the application. 5 | */ 6 | public class ApplicationQuit : MonoBehaviour 7 | { 8 | public void Quit() 9 | { 10 | Application.Quit(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Functionalities/LoadScene.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.SceneManagement; 3 | 4 | /** 5 | This script uses the SceneManager to load scenes. 6 | */ 7 | public class LoadScene : MonoBehaviour 8 | { 9 | public void Load(string sceneToBeLoaded) 10 | { 11 | SceneManager.LoadScene(sceneToBeLoaded); 12 | } 13 | } 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Functionalities/OpenURL.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script opens URLs. 5 | */ 6 | public class OpenURL : MonoBehaviour 7 | { 8 | public void OpenURLCall(string URL) 9 | { 10 | Application.OpenURL(URL); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Functionalities/RealtimeDebugger.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using System.Collections.Generic; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | //Made for only testing purposes so use at own discretion 7 | /// A Unity debugger window that allows you to subscribe values you want to debug in realtime easily 8 | public class RealtimeDebugger : EditorWindow 9 | { 10 | static Dictionary debugProperties = new Dictionary(); 11 | 12 | [MenuItem("Toolkit/RealtimeDebugger")] 13 | static void Init() 14 | { 15 | GetWindow(); 16 | } 17 | 18 | void OnGUI() 19 | { 20 | foreach (var debugProperty in debugProperties) 21 | { 22 | DisplayObject(debugProperty.Key, debugProperty.Value); 23 | } 24 | 25 | if (GUILayout.Button("Clear debug properties")) 26 | { 27 | debugProperties.Clear(); 28 | } 29 | } 30 | 31 | void DisplayObject(string label, object value) 32 | { 33 | if (value.GetType().IsPrimitive) 34 | { 35 | switch (value) 36 | { 37 | case int integer: 38 | EditorGUILayout.IntField(label, integer); 39 | break; 40 | case float floatingPoint: 41 | EditorGUILayout.FloatField(label, floatingPoint); 42 | break; 43 | case bool boolean: 44 | EditorGUILayout.Toggle(label, boolean); 45 | break; 46 | case string text: 47 | EditorGUILayout.LabelField(label,text); 48 | break; 49 | case double doubleFloatingPoint: 50 | EditorGUILayout.DoubleField(label, doubleFloatingPoint); 51 | break; 52 | default: 53 | throw new System.Exception("Unexpected primitive type"); 54 | } 55 | } 56 | else if (value is Object o) 57 | { 58 | EditorGUILayout.ObjectField(label, o, o.GetType(), false); 59 | } 60 | else 61 | { 62 | switch (value) 63 | { 64 | case Vector2 vec2: 65 | EditorGUILayout.Vector2Field(label, vec2); 66 | break; 67 | case Vector3 vec3: 68 | EditorGUILayout.Vector3Field(label, vec3); 69 | break; 70 | default: 71 | Debug.Log($"Can't identify type: {value.GetType().Name}"); 72 | break; 73 | } 74 | 75 | } 76 | 77 | //Ensure that the window updates regardless of window focus 78 | Repaint(); 79 | } 80 | 81 | ///Add property to debug window. Only supports primitive types and vectors (and possibly UnityEngine.Object types). 82 | public static void AddDebugProperty(string propertyName, object property) 83 | { 84 | debugProperties[propertyName] = property; 85 | } 86 | } 87 | #else 88 | public class RealtimeDebugger 89 | { 90 | public static void AddDebugProperty(string propertyName, object property) 91 | { 92 | } 93 | } 94 | #endif -------------------------------------------------------------------------------- /Functionalities/RemoveMyRenderer.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script disables the renderer of a game object on Awake. 5 | */ 6 | [RequireComponent(typeof(Renderer))] 7 | public class RemoveMyRenderer : MonoBehaviour 8 | { 9 | private void Awake() 10 | { 11 | GetComponent().enabled = false; 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Game Mechanics/FPSCounter.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | 5 | /** 6 | This script changes a UI Text to display the current and average FPS. 7 | */ 8 | [RequireComponent(typeof(Text))] 9 | public class FPSCounter : MonoBehaviour 10 | { 11 | [SerializeField] 12 | private Text text; 13 | 14 | [SerializeField] 15 | private int averageSample; 16 | 17 | private float[] _averageValues; 18 | private int _averageIndex; 19 | 20 | public void Awake() 21 | { 22 | text = GetComponent(); 23 | _averageValues = new float[averageSample]; 24 | _averageIndex = 0; 25 | _averageValues[_averageIndex] = 0; 26 | } 27 | 28 | public void Update() 29 | { 30 | _averageValues[_averageIndex] = Time.deltaTime; 31 | _averageIndex = (++_averageIndex) % averageSample; 32 | var fps = 1.0f / Time.deltaTime; 33 | var averageFps = 1.0f / (_averageValues.Sum(value => value) / averageSample); 34 | text.text = "FPS: " + fps.ToString("0.0") + " AVG: " + averageFps.ToString("0.0"); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Game Mechanics/GrowthScript.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using UnityEngine.Events; 4 | 5 | /** 6 | This script controls a growth mechanic. 7 | */ 8 | public class GrowthScript : MonoBehaviour 9 | { 10 | [SerializeField, Range(0.0f, 100.0f)] 11 | private float Growth; 12 | 13 | [SerializeField, Range(0.0f, 100.0f)] 14 | private float InitialValue; 15 | 16 | [SerializeField] 17 | private UnityEvent OnGrowth; 18 | [SerializeField] 19 | private UnityEvent OnFinish; 20 | [SerializeField] 21 | private UnityEvent OnWither; 22 | [SerializeField] 23 | private UnityEvent onReset; 24 | 25 | public void Start() 26 | { 27 | Reset(); 28 | } 29 | 30 | public void Reset() 31 | { 32 | Growth = InitialValue; 33 | onReset?.Invoke(); 34 | } 35 | 36 | public void OnDisable() 37 | { 38 | Reset(); 39 | } 40 | 41 | public void IncrementGrowth(float value) 42 | { 43 | Growth = Mathf.Min(Mathf.Max(Growth + value, 0.0f), 100.0f); 44 | OnGrowth?.Invoke(); 45 | CheckStatus(); 46 | } 47 | private void CheckStatus() 48 | { 49 | if (Growth >= 100.0f) 50 | { 51 | OnFinish?.Invoke(); 52 | } 53 | else if (Growth <= 0.0f) 54 | { 55 | OnWither?.Invoke(); 56 | } 57 | } 58 | } 59 | 60 | -------------------------------------------------------------------------------- /General behaviors/DestroyAfterSeconds.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /// 4 | /// Original Author: Bugulet 5 | /// Revisor: YvensFaos 6 | /// 7 | public class DestroyAfterSeconds : MonoBehaviour 8 | { 9 | [SerializeField] private float destroyTime = 1.0f; 10 | 11 | private void Start() 12 | { 13 | Destroy(gameObject, destroyTime); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /General behaviors/MoveForward.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /// 4 | /// Original Author: Bugulet 5 | /// Revisor: YvensFaos 6 | /// 7 | public class MoveForward : MonoBehaviour 8 | { 9 | [SerializeField] private float speed; 10 | private void Update() 11 | { 12 | transform.Translate(Vector3.forward * speed * Time.deltaTime); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | CC0 1.0 Universal 3 | 4 | Statement of Purpose 5 | 6 | The laws of most jurisdictions throughout the world automatically confer 7 | exclusive Copyright and Related Rights (defined below) upon the creator and 8 | subsequent owner(s) (each and all, an "owner") of an original work of 9 | authorship and/or a database (each, a "Work"). 10 | 11 | Certain owners wish to permanently relinquish those rights to a Work for the 12 | purpose of contributing to a commons of creative, cultural and scientific 13 | works ("Commons") that the public can reliably and without fear of later 14 | claims of infringement build upon, modify, incorporate in other works, reuse 15 | and redistribute as freely as possible in any form whatsoever and for any 16 | purposes, including without limitation commercial purposes. These owners may 17 | contribute to the Commons to promote the ideal of a free culture and the 18 | further production of creative, cultural and scientific works, or to gain 19 | reputation or greater distribution for their Work in part through the use and 20 | efforts of others. 21 | 22 | For these and/or other purposes and motivations, and without any expectation 23 | of additional consideration or compensation, the person associating CC0 with a 24 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright 25 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work 26 | and publicly distribute the Work under its terms, with knowledge of his or her 27 | Copyright and Related Rights in the Work and the meaning and intended legal 28 | effect of CC0 on those rights. 29 | 30 | 1. Copyright and Related Rights. A Work made available under CC0 may be 31 | protected by copyright and related or neighboring rights ("Copyright and 32 | Related Rights"). Copyright and Related Rights include, but are not limited 33 | to, the following: 34 | 35 | i. the right to reproduce, adapt, distribute, perform, display, communicate, 36 | and translate a Work; 37 | 38 | ii. moral rights retained by the original author(s) and/or performer(s); 39 | 40 | iii. publicity and privacy rights pertaining to a person's image or likeness 41 | depicted in a Work; 42 | 43 | iv. rights protecting against unfair competition in regards to a Work, 44 | subject to the limitations in paragraph 4(a), below; 45 | 46 | v. rights protecting the extraction, dissemination, use and reuse of data in 47 | a Work; 48 | 49 | vi. database rights (such as those arising under Directive 96/9/EC of the 50 | European Parliament and of the Council of 11 March 1996 on the legal 51 | protection of databases, and under any national implementation thereof, 52 | including any amended or successor version of such directive); and 53 | 54 | vii. other similar, equivalent or corresponding rights throughout the world 55 | based on applicable law or treaty, and any national implementations thereof. 56 | 57 | 2. Waiver. To the greatest extent permitted by, but not in contravention of, 58 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and 59 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright 60 | and Related Rights and associated claims and causes of action, whether now 61 | known or unknown (including existing as well as future claims and causes of 62 | action), in the Work (i) in all territories worldwide, (ii) for the maximum 63 | duration provided by applicable law or treaty (including future time 64 | extensions), (iii) in any current or future medium and for any number of 65 | copies, and (iv) for any purpose whatsoever, including without limitation 66 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes 67 | the Waiver for the benefit of each member of the public at large and to the 68 | detriment of Affirmer's heirs and successors, fully intending that such Waiver 69 | shall not be subject to revocation, rescission, cancellation, termination, or 70 | any other legal or equitable action to disrupt the quiet enjoyment of the Work 71 | by the public as contemplated by Affirmer's express Statement of Purpose. 72 | 73 | 3. Public License Fallback. Should any part of the Waiver for any reason be 74 | judged legally invalid or ineffective under applicable law, then the Waiver 75 | shall be preserved to the maximum extent permitted taking into account 76 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver 77 | is so judged Affirmer hereby grants to each affected person a royalty-free, 78 | non transferable, non sublicensable, non exclusive, irrevocable and 79 | unconditional license to exercise Affirmer's Copyright and Related Rights in 80 | the Work (i) in all territories worldwide, (ii) for the maximum duration 81 | provided by applicable law or treaty (including future time extensions), (iii) 82 | in any current or future medium and for any number of copies, and (iv) for any 83 | purpose whatsoever, including without limitation commercial, advertising or 84 | promotional purposes (the "License"). The License shall be deemed effective as 85 | of the date CC0 was applied by Affirmer to the Work. Should any part of the 86 | License for any reason be judged legally invalid or ineffective under 87 | applicable law, such partial invalidity or ineffectiveness shall not 88 | invalidate the remainder of the License, and in such case Affirmer hereby 89 | affirms that he or she will not (i) exercise any of his or her remaining 90 | Copyright and Related Rights in the Work or (ii) assert any associated claims 91 | and causes of action with respect to the Work, in either case contrary to 92 | Affirmer's express Statement of Purpose. 93 | 94 | 4. Limitations and Disclaimers. 95 | 96 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 97 | surrendered, licensed or otherwise affected by this document. 98 | 99 | b. Affirmer offers the Work as-is and makes no representations or warranties 100 | of any kind concerning the Work, express, implied, statutory or otherwise, 101 | including without limitation warranties of title, merchantability, fitness 102 | for a particular purpose, non infringement, or the absence of latent or 103 | other defects, accuracy, or the present or absence of errors, whether or not 104 | discoverable, all to the greatest extent permissible under applicable law. 105 | 106 | c. Affirmer disclaims responsibility for clearing rights of other persons 107 | that may apply to the Work or any use thereof, including without limitation 108 | any person's Copyright and Related Rights in the Work. Further, Affirmer 109 | disclaims responsibility for obtaining any necessary consents, permissions 110 | or other rights required for any use of the Work. 111 | 112 | d. Affirmer understands and acknowledges that Creative Commons is not a 113 | party to this document and has no duty or obligation with respect to this 114 | CC0 or use of the Work. 115 | 116 | For more information, please see 117 | 118 | -------------------------------------------------------------------------------- /Material Graphs/SampleNormalTextureWorldspace.shadersubgraph: -------------------------------------------------------------------------------- 1 | { 2 | "m_SerializedProperties": [ 3 | { 4 | "typeInfo": { 5 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty" 6 | }, 7 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"60a70720-88e1-470c-94de-c6aae97f32f7\"\n },\n \"m_Name\": \"Position\",\n \"m_DefaultReferenceName\": \"Vector3_F063FD37\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" 8 | }, 9 | { 10 | "typeInfo": { 11 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" 12 | }, 13 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"376c6b5d-0469-4e82-b300-f150d6e22da3\"\n },\n \"m_Name\": \"Tiling\",\n \"m_DefaultReferenceName\": \"Vector1_26C61A11\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" 14 | }, 15 | { 16 | "typeInfo": { 17 | "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" 18 | }, 19 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n },\n \"m_Name\": \"ColorTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_1823C8D1\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" 20 | }, 21 | { 22 | "typeInfo": { 23 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" 24 | }, 25 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a168f67d-e6cf-4404-917d-b5ddd6e44df6\"\n },\n \"m_Name\": \"FrontInfluence\",\n \"m_DefaultReferenceName\": \"Vector1_10CE2E8B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" 26 | }, 27 | { 28 | "typeInfo": { 29 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" 30 | }, 31 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"007ae179-656a-4c55-87ee-f36c5268277d\"\n },\n \"m_Name\": \"UpInfluence\",\n \"m_DefaultReferenceName\": \"Vector1_30CB3BBA\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" 32 | } 33 | ], 34 | "m_SerializedKeywords": [], 35 | "m_SerializableNodes": [ 36 | { 37 | "typeInfo": { 38 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 39 | }, 40 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"0a83a9d9-795e-4af4-8de1-47cfa76566be\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 470.5,\n \"y\": 337.5000305175781,\n \"width\": 136.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UpInfluence\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"007ae179-656a-4c55-87ee-f36c5268277d\"\n}" 41 | }, 42 | { 43 | "typeInfo": { 44 | "fullName": "UnityEditor.ShaderGraph.MultiplyNode" 45 | }, 46 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Multiply\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -605.0,\n \"y\": 320.0000305175781,\n \"width\": 208.0,\n \"height\": 302.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 0.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 0.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 0.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 2.0,\\n \\\"e01\\\": 2.0,\\n \\\"e02\\\": 2.0,\\n \\\"e03\\\": 2.0,\\n \\\"e10\\\": 2.0,\\n \\\"e11\\\": 2.0,\\n \\\"e12\\\": 2.0,\\n \\\"e13\\\": 2.0,\\n \\\"e20\\\": 2.0,\\n \\\"e21\\\": 2.0,\\n \\\"e22\\\": 2.0,\\n \\\"e23\\\": 2.0,\\n \\\"e30\\\": 2.0,\\n \\\"e31\\\": 2.0,\\n \\\"e32\\\": 2.0,\\n \\\"e33\\\": 2.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 0.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 0.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 0.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 47 | }, 48 | { 49 | "typeInfo": { 50 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 51 | }, 52 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"293a2e91-20b9-4081-b488-2fac3df7b06c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -770.0,\n \"y\": 410.0,\n \"width\": 104.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Tiling\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"376c6b5d-0469-4e82-b300-f150d6e22da3\"\n}" 53 | }, 54 | { 55 | "typeInfo": { 56 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 57 | }, 58 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"3118b190-2665-4aff-88e9-255be4f3d17a\",\n \"m_GroupGuidSerialized\": \"f79ece62-c6fe-4e0f-832a-0465c2825c9f\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 38.50000762939453,\n \"y\": -105.50000762939453,\n \"width\": 152.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"ColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n}" 59 | }, 60 | { 61 | "typeInfo": { 62 | "fullName": "UnityEditor.ShaderGraph.SplitNode" 63 | }, 64 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Split\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -330.50006103515627,\n \"y\": 323.0,\n \"width\": 119.0,\n \"height\": 149.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 65 | }, 66 | { 67 | "typeInfo": { 68 | "fullName": "UnityEditor.ShaderGraph.Vector2Node" 69 | }, 70 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\",\n \"m_GroupGuidSerialized\": \"4c958bac-f8ad-484d-b447-e935075b74fb\",\n \"m_Name\": \"Vector 2\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 41.00001907348633,\n \"y\": 322.5000305175781,\n \"width\": 127.0,\n \"height\": 101.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"X\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"X\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Y\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Y\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0\n }\n}" 71 | }, 72 | { 73 | "typeInfo": { 74 | "fullName": "UnityEditor.ShaderGraph.Vector2Node" 75 | }, 76 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\",\n \"m_GroupGuidSerialized\": \"3ca086e2-7dda-4474-8cf9-e71248725d06\",\n \"m_Name\": \"Vector 2\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 38.50000762939453,\n \"y\": 693.0,\n \"width\": 127.0,\n \"height\": 101.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"X\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"X\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Y\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Y\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0\n }\n}" 77 | }, 78 | { 79 | "typeInfo": { 80 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 81 | }, 82 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"785f676f-123a-4a13-9a8f-58689fe695c7\",\n \"m_GroupGuidSerialized\": \"4c958bac-f8ad-484d-b447-e935075b74fb\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 37.00001907348633,\n \"y\": 221.50001525878907,\n \"width\": 152.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"ColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n}" 83 | }, 84 | { 85 | "typeInfo": { 86 | "fullName": "UnityEditor.ShaderGraph.LerpNode" 87 | }, 88 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Lerp\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 633.5,\n \"y\": 113.0000228881836,\n \"width\": 129.0,\n \"height\": 142.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"T\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"T\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 89 | }, 90 | { 91 | "typeInfo": { 92 | "fullName": "UnityEditor.ShaderGraph.SampleTexture2DLODNode" 93 | }, 94 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\",\n \"m_GroupGuidSerialized\": \"3ca086e2-7dda-4474-8cf9-e71248725d06\",\n \"m_Name\": \"Sample Texture 2D LOD\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 233.49996948242188,\n \"y\": 595.5,\n \"width\": 197.49998474121095,\n \"height\": 250.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"LOD\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"LOD\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 1,\n \"m_NormalMapSpace\": 0\n}" 95 | }, 96 | { 97 | "typeInfo": { 98 | "fullName": "UnityEditor.ShaderGraph.SampleTexture2DLODNode" 99 | }, 100 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\",\n \"m_GroupGuidSerialized\": \"4c958bac-f8ad-484d-b447-e935075b74fb\",\n \"m_Name\": \"Sample Texture 2D LOD\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 235.99996948242188,\n \"y\": 225.00001525878907,\n \"width\": 197.49998474121095,\n \"height\": 250.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"LOD\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"LOD\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 1,\n \"m_NormalMapSpace\": 0\n}" 101 | }, 102 | { 103 | "typeInfo": { 104 | "fullName": "UnityEditor.ShaderGraph.SampleTexture2DLODNode" 105 | }, 106 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\",\n \"m_GroupGuidSerialized\": \"f79ece62-c6fe-4e0f-832a-0465c2825c9f\",\n \"m_Name\": \"Sample Texture 2D LOD\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 236.49993896484376,\n \"y\": -141.5,\n \"width\": 197.49998474121095,\n \"height\": 250.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"LOD\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"LOD\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 1,\n \"m_NormalMapSpace\": 0\n}" 107 | }, 108 | { 109 | "typeInfo": { 110 | "fullName": "UnityEditor.ShaderGraph.LerpNode" 111 | }, 112 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Lerp\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 796.0,\n \"y\": 209.99998474121095,\n \"width\": 129.0,\n \"height\": 142.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"T\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"T\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 113 | }, 114 | { 115 | "typeInfo": { 116 | "fullName": "UnityEditor.ShaderGraph.SubGraphOutputNode" 117 | }, 118 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"bc047bb8-3f99-425b-815a-c844ff29d629\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Out_Vector4\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 970.5,\n \"y\": 211.00001525878907,\n \"width\": 132.5,\n \"height\": 77.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector4\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector4\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 119 | }, 120 | { 121 | "typeInfo": { 122 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 123 | }, 124 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"e849dca1-4e12-4e4f-875d-669ab9a5452b\",\n \"m_GroupGuidSerialized\": \"3ca086e2-7dda-4474-8cf9-e71248725d06\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 49.000022888183597,\n \"y\": 582.5000610351563,\n \"width\": 152.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"ColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n}" 125 | }, 126 | { 127 | "typeInfo": { 128 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 129 | }, 130 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"e9247ffa-a147-46ed-b792-50d889365b8b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 464.5000305175781,\n \"y\": 301.0,\n \"width\": 148.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"FrontInfluence\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a168f67d-e6cf-4404-917d-b5ddd6e44df6\"\n}" 131 | }, 132 | { 133 | "typeInfo": { 134 | "fullName": "UnityEditor.ShaderGraph.Vector2Node" 135 | }, 136 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\",\n \"m_GroupGuidSerialized\": \"f79ece62-c6fe-4e0f-832a-0465c2825c9f\",\n \"m_Name\": \"Vector 2\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 54.50001525878906,\n \"y\": 20.0000057220459,\n \"width\": 127.0,\n \"height\": 101.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"X\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"X\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Y\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Y\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0\n }\n}" 137 | }, 138 | { 139 | "typeInfo": { 140 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 141 | }, 142 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"f51a6a6e-6a26-480a-959b-8d2fd375e29f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -774.0,\n \"y\": 356.0000305175781,\n \"width\": 120.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Position\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"60a70720-88e1-470c-94de-c6aae97f32f7\"\n}" 143 | } 144 | ], 145 | "m_Groups": [ 146 | { 147 | "m_GuidSerialized": "4c958bac-f8ad-484d-b447-e935075b74fb", 148 | "m_Title": "Front", 149 | "m_Position": { 150 | "x": 10.0, 151 | "y": 10.0 152 | } 153 | }, 154 | { 155 | "m_GuidSerialized": "f79ece62-c6fe-4e0f-832a-0465c2825c9f", 156 | "m_Title": "Side", 157 | "m_Position": { 158 | "x": 13.500091552734375, 159 | "y": -200.5 160 | } 161 | }, 162 | { 163 | "m_GuidSerialized": "3ca086e2-7dda-4474-8cf9-e71248725d06", 164 | "m_Title": "Up", 165 | "m_Position": { 166 | "x": 13.500091552734375, 167 | "y": 523.5001220703125 168 | } 169 | } 170 | ], 171 | "m_StickyNotes": [], 172 | "m_SerializableEdges": [ 173 | { 174 | "typeInfo": { 175 | "fullName": "UnityEditor.Graphing.Edge" 176 | }, 177 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0a83a9d9-795e-4af4-8de1-47cfa76566be\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n }\n}" 178 | }, 179 | { 180 | "typeInfo": { 181 | "fullName": "UnityEditor.Graphing.Edge" 182 | }, 183 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n }\n}" 184 | }, 185 | { 186 | "typeInfo": { 187 | "fullName": "UnityEditor.Graphing.Edge" 188 | }, 189 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"293a2e91-20b9-4081-b488-2fac3df7b06c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\"\n }\n}" 190 | }, 191 | { 192 | "typeInfo": { 193 | "fullName": "UnityEditor.Graphing.Edge" 194 | }, 195 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3118b190-2665-4aff-88e9-255be4f3d17a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\"\n }\n}" 196 | }, 197 | { 198 | "typeInfo": { 199 | "fullName": "UnityEditor.Graphing.Edge" 200 | }, 201 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\"\n }\n}" 202 | }, 203 | { 204 | "typeInfo": { 205 | "fullName": "UnityEditor.Graphing.Edge" 206 | }, 207 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\"\n }\n}" 208 | }, 209 | { 210 | "typeInfo": { 211 | "fullName": "UnityEditor.Graphing.Edge" 212 | }, 213 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\"\n }\n}" 214 | }, 215 | { 216 | "typeInfo": { 217 | "fullName": "UnityEditor.Graphing.Edge" 218 | }, 219 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\"\n }\n}" 220 | }, 221 | { 222 | "typeInfo": { 223 | "fullName": "UnityEditor.Graphing.Edge" 224 | }, 225 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\"\n }\n}" 226 | }, 227 | { 228 | "typeInfo": { 229 | "fullName": "UnityEditor.Graphing.Edge" 230 | }, 231 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\"\n }\n}" 232 | }, 233 | { 234 | "typeInfo": { 235 | "fullName": "UnityEditor.Graphing.Edge" 236 | }, 237 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\"\n }\n}" 238 | }, 239 | { 240 | "typeInfo": { 241 | "fullName": "UnityEditor.Graphing.Edge" 242 | }, 243 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\"\n }\n}" 244 | }, 245 | { 246 | "typeInfo": { 247 | "fullName": "UnityEditor.Graphing.Edge" 248 | }, 249 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"785f676f-123a-4a13-9a8f-58689fe695c7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\"\n }\n}" 250 | }, 251 | { 252 | "typeInfo": { 253 | "fullName": "UnityEditor.Graphing.Edge" 254 | }, 255 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n }\n}" 256 | }, 257 | { 258 | "typeInfo": { 259 | "fullName": "UnityEditor.Graphing.Edge" 260 | }, 261 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n }\n}" 262 | }, 263 | { 264 | "typeInfo": { 265 | "fullName": "UnityEditor.Graphing.Edge" 266 | }, 267 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n }\n}" 268 | }, 269 | { 270 | "typeInfo": { 271 | "fullName": "UnityEditor.Graphing.Edge" 272 | }, 273 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n }\n}" 274 | }, 275 | { 276 | "typeInfo": { 277 | "fullName": "UnityEditor.Graphing.Edge" 278 | }, 279 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"bc047bb8-3f99-425b-815a-c844ff29d629\"\n }\n}" 280 | }, 281 | { 282 | "typeInfo": { 283 | "fullName": "UnityEditor.Graphing.Edge" 284 | }, 285 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e849dca1-4e12-4e4f-875d-669ab9a5452b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\"\n }\n}" 286 | }, 287 | { 288 | "typeInfo": { 289 | "fullName": "UnityEditor.Graphing.Edge" 290 | }, 291 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e9247ffa-a147-46ed-b792-50d889365b8b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n }\n}" 292 | }, 293 | { 294 | "typeInfo": { 295 | "fullName": "UnityEditor.Graphing.Edge" 296 | }, 297 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\"\n }\n}" 298 | }, 299 | { 300 | "typeInfo": { 301 | "fullName": "UnityEditor.Graphing.Edge" 302 | }, 303 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f51a6a6e-6a26-480a-959b-8d2fd375e29f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\"\n }\n}" 304 | } 305 | ], 306 | "m_PreviewData": { 307 | "serializedMesh": { 308 | "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", 309 | "m_Guid": "" 310 | } 311 | }, 312 | "m_Path": "Sub Graphs", 313 | "m_ConcretePrecision": 0, 314 | "m_ActiveOutputNodeGuidSerialized": "" 315 | } -------------------------------------------------------------------------------- /Material Graphs/SampleTextureWorldspace.shadersubgraph: -------------------------------------------------------------------------------- 1 | { 2 | "m_SerializedProperties": [ 3 | { 4 | "typeInfo": { 5 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty" 6 | }, 7 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"60a70720-88e1-470c-94de-c6aae97f32f7\"\n },\n \"m_Name\": \"Position\",\n \"m_DefaultReferenceName\": \"Vector3_F063FD37\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" 8 | }, 9 | { 10 | "typeInfo": { 11 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" 12 | }, 13 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"376c6b5d-0469-4e82-b300-f150d6e22da3\"\n },\n \"m_Name\": \"Tiling\",\n \"m_DefaultReferenceName\": \"Vector1_26C61A11\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" 14 | }, 15 | { 16 | "typeInfo": { 17 | "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" 18 | }, 19 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n },\n \"m_Name\": \"ColorTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_1823C8D1\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" 20 | }, 21 | { 22 | "typeInfo": { 23 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" 24 | }, 25 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a168f67d-e6cf-4404-917d-b5ddd6e44df6\"\n },\n \"m_Name\": \"FrontInfluence\",\n \"m_DefaultReferenceName\": \"Vector1_10CE2E8B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" 26 | }, 27 | { 28 | "typeInfo": { 29 | "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" 30 | }, 31 | "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"007ae179-656a-4c55-87ee-f36c5268277d\"\n },\n \"m_Name\": \"UpInfluence\",\n \"m_DefaultReferenceName\": \"Vector1_30CB3BBA\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" 32 | } 33 | ], 34 | "m_SerializedKeywords": [], 35 | "m_SerializableNodes": [ 36 | { 37 | "typeInfo": { 38 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 39 | }, 40 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"0a83a9d9-795e-4af4-8de1-47cfa76566be\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 470.5,\n \"y\": 337.5000305175781,\n \"width\": 136.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UpInfluence\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"007ae179-656a-4c55-87ee-f36c5268277d\"\n}" 41 | }, 42 | { 43 | "typeInfo": { 44 | "fullName": "UnityEditor.ShaderGraph.MultiplyNode" 45 | }, 46 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Multiply\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -605.0,\n \"y\": 320.0000305175781,\n \"width\": 208.0,\n \"height\": 302.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 0.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 0.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 0.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 2.0,\\n \\\"e01\\\": 2.0,\\n \\\"e02\\\": 2.0,\\n \\\"e03\\\": 2.0,\\n \\\"e10\\\": 2.0,\\n \\\"e11\\\": 2.0,\\n \\\"e12\\\": 2.0,\\n \\\"e13\\\": 2.0,\\n \\\"e20\\\": 2.0,\\n \\\"e21\\\": 2.0,\\n \\\"e22\\\": 2.0,\\n \\\"e23\\\": 2.0,\\n \\\"e30\\\": 2.0,\\n \\\"e31\\\": 2.0,\\n \\\"e32\\\": 2.0,\\n \\\"e33\\\": 2.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 0.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 0.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 0.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 47 | }, 48 | { 49 | "typeInfo": { 50 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 51 | }, 52 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"293a2e91-20b9-4081-b488-2fac3df7b06c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -770.0,\n \"y\": 410.0,\n \"width\": 104.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Tiling\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"376c6b5d-0469-4e82-b300-f150d6e22da3\"\n}" 53 | }, 54 | { 55 | "typeInfo": { 56 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 57 | }, 58 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"3118b190-2665-4aff-88e9-255be4f3d17a\",\n \"m_GroupGuidSerialized\": \"f79ece62-c6fe-4e0f-832a-0465c2825c9f\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 38.50000762939453,\n \"y\": -105.50000762939453,\n \"width\": 152.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"ColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n}" 59 | }, 60 | { 61 | "typeInfo": { 62 | "fullName": "UnityEditor.ShaderGraph.SplitNode" 63 | }, 64 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Split\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -330.50006103515627,\n \"y\": 323.0,\n \"width\": 119.0,\n \"height\": 149.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 65 | }, 66 | { 67 | "typeInfo": { 68 | "fullName": "UnityEditor.ShaderGraph.Vector2Node" 69 | }, 70 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\",\n \"m_GroupGuidSerialized\": \"4c958bac-f8ad-484d-b447-e935075b74fb\",\n \"m_Name\": \"Vector 2\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 41.00001907348633,\n \"y\": 322.5000305175781,\n \"width\": 127.0,\n \"height\": 101.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"X\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"X\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Y\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Y\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0\n }\n}" 71 | }, 72 | { 73 | "typeInfo": { 74 | "fullName": "UnityEditor.ShaderGraph.Vector2Node" 75 | }, 76 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\",\n \"m_GroupGuidSerialized\": \"3ca086e2-7dda-4474-8cf9-e71248725d06\",\n \"m_Name\": \"Vector 2\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 38.50000762939453,\n \"y\": 693.0,\n \"width\": 127.0,\n \"height\": 101.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"X\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"X\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Y\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Y\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0\n }\n}" 77 | }, 78 | { 79 | "typeInfo": { 80 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 81 | }, 82 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"785f676f-123a-4a13-9a8f-58689fe695c7\",\n \"m_GroupGuidSerialized\": \"4c958bac-f8ad-484d-b447-e935075b74fb\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 37.00001907348633,\n \"y\": 221.50001525878907,\n \"width\": 152.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"ColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n}" 83 | }, 84 | { 85 | "typeInfo": { 86 | "fullName": "UnityEditor.ShaderGraph.LerpNode" 87 | }, 88 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Lerp\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 633.5,\n \"y\": 113.0000228881836,\n \"width\": 129.0,\n \"height\": 142.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"T\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"T\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 89 | }, 90 | { 91 | "typeInfo": { 92 | "fullName": "UnityEditor.ShaderGraph.SampleTexture2DLODNode" 93 | }, 94 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\",\n \"m_GroupGuidSerialized\": \"3ca086e2-7dda-4474-8cf9-e71248725d06\",\n \"m_Name\": \"Sample Texture 2D LOD\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 233.49996948242188,\n \"y\": 595.5,\n \"width\": 197.49998474121095,\n \"height\": 250.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"LOD\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"LOD\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" 95 | }, 96 | { 97 | "typeInfo": { 98 | "fullName": "UnityEditor.ShaderGraph.SampleTexture2DLODNode" 99 | }, 100 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\",\n \"m_GroupGuidSerialized\": \"4c958bac-f8ad-484d-b447-e935075b74fb\",\n \"m_Name\": \"Sample Texture 2D LOD\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 235.99996948242188,\n \"y\": 225.00001525878907,\n \"width\": 197.49998474121095,\n \"height\": 250.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"LOD\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"LOD\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" 101 | }, 102 | { 103 | "typeInfo": { 104 | "fullName": "UnityEditor.ShaderGraph.SampleTexture2DLODNode" 105 | }, 106 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\",\n \"m_GroupGuidSerialized\": \"f79ece62-c6fe-4e0f-832a-0465c2825c9f\",\n \"m_Name\": \"Sample Texture 2D LOD\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 236.49993896484376,\n \"y\": -141.5,\n \"width\": 197.49998474121095,\n \"height\": 250.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"LOD\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"LOD\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" 107 | }, 108 | { 109 | "typeInfo": { 110 | "fullName": "UnityEditor.ShaderGraph.LerpNode" 111 | }, 112 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Lerp\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 796.0,\n \"y\": 209.99998474121095,\n \"width\": 129.0,\n \"height\": 142.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"T\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"T\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 113 | }, 114 | { 115 | "typeInfo": { 116 | "fullName": "UnityEditor.ShaderGraph.SubGraphOutputNode" 117 | }, 118 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"bc047bb8-3f99-425b-815a-c844ff29d629\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Out_Vector4\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 970.5,\n \"y\": 211.00001525878907,\n \"width\": 132.5,\n \"height\": 77.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector4\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector4\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" 119 | }, 120 | { 121 | "typeInfo": { 122 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 123 | }, 124 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"e849dca1-4e12-4e4f-875d-669ab9a5452b\",\n \"m_GroupGuidSerialized\": \"3ca086e2-7dda-4474-8cf9-e71248725d06\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 49.000022888183597,\n \"y\": 582.5000610351563,\n \"width\": 152.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"ColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3a21a75f-0086-4e2a-88e4-b09cf6d10b18\"\n}" 125 | }, 126 | { 127 | "typeInfo": { 128 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 129 | }, 130 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"e9247ffa-a147-46ed-b792-50d889365b8b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 464.5000305175781,\n \"y\": 301.0,\n \"width\": 148.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"FrontInfluence\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a168f67d-e6cf-4404-917d-b5ddd6e44df6\"\n}" 131 | }, 132 | { 133 | "typeInfo": { 134 | "fullName": "UnityEditor.ShaderGraph.Vector2Node" 135 | }, 136 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\",\n \"m_GroupGuidSerialized\": \"f79ece62-c6fe-4e0f-832a-0465c2825c9f\",\n \"m_Name\": \"Vector 2\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 54.50001525878906,\n \"y\": 20.0000057220459,\n \"width\": 127.0,\n \"height\": 101.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"X\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"X\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Y\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Y\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0\n }\n}" 137 | }, 138 | { 139 | "typeInfo": { 140 | "fullName": "UnityEditor.ShaderGraph.PropertyNode" 141 | }, 142 | "JSONnodeData": "{\n \"m_GuidSerialized\": \"f51a6a6e-6a26-480a-959b-8d2fd375e29f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -774.0,\n \"y\": 356.0000305175781,\n \"width\": 120.5,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Position\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"60a70720-88e1-470c-94de-c6aae97f32f7\"\n}" 143 | } 144 | ], 145 | "m_Groups": [ 146 | { 147 | "m_GuidSerialized": "4c958bac-f8ad-484d-b447-e935075b74fb", 148 | "m_Title": "Front", 149 | "m_Position": { 150 | "x": 10.0, 151 | "y": 10.0 152 | } 153 | }, 154 | { 155 | "m_GuidSerialized": "f79ece62-c6fe-4e0f-832a-0465c2825c9f", 156 | "m_Title": "Side", 157 | "m_Position": { 158 | "x": 13.500091552734375, 159 | "y": -200.5 160 | } 161 | }, 162 | { 163 | "m_GuidSerialized": "3ca086e2-7dda-4474-8cf9-e71248725d06", 164 | "m_Title": "Up", 165 | "m_Position": { 166 | "x": 13.500091552734375, 167 | "y": 523.5001220703125 168 | } 169 | } 170 | ], 171 | "m_StickyNotes": [], 172 | "m_SerializableEdges": [ 173 | { 174 | "typeInfo": { 175 | "fullName": "UnityEditor.Graphing.Edge" 176 | }, 177 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0a83a9d9-795e-4af4-8de1-47cfa76566be\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n }\n}" 178 | }, 179 | { 180 | "typeInfo": { 181 | "fullName": "UnityEditor.Graphing.Edge" 182 | }, 183 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n }\n}" 184 | }, 185 | { 186 | "typeInfo": { 187 | "fullName": "UnityEditor.Graphing.Edge" 188 | }, 189 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"293a2e91-20b9-4081-b488-2fac3df7b06c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\"\n }\n}" 190 | }, 191 | { 192 | "typeInfo": { 193 | "fullName": "UnityEditor.Graphing.Edge" 194 | }, 195 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3118b190-2665-4aff-88e9-255be4f3d17a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\"\n }\n}" 196 | }, 197 | { 198 | "typeInfo": { 199 | "fullName": "UnityEditor.Graphing.Edge" 200 | }, 201 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\"\n }\n}" 202 | }, 203 | { 204 | "typeInfo": { 205 | "fullName": "UnityEditor.Graphing.Edge" 206 | }, 207 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\"\n }\n}" 208 | }, 209 | { 210 | "typeInfo": { 211 | "fullName": "UnityEditor.Graphing.Edge" 212 | }, 213 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\"\n }\n}" 214 | }, 215 | { 216 | "typeInfo": { 217 | "fullName": "UnityEditor.Graphing.Edge" 218 | }, 219 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\"\n }\n}" 220 | }, 221 | { 222 | "typeInfo": { 223 | "fullName": "UnityEditor.Graphing.Edge" 224 | }, 225 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\"\n }\n}" 226 | }, 227 | { 228 | "typeInfo": { 229 | "fullName": "UnityEditor.Graphing.Edge" 230 | }, 231 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"4df42a39-63c0-46c8-bede-dc21ae00093e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\"\n }\n}" 232 | }, 233 | { 234 | "typeInfo": { 235 | "fullName": "UnityEditor.Graphing.Edge" 236 | }, 237 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"54cab3f9-ef16-4c82-80da-3673ef974fbb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\"\n }\n}" 238 | }, 239 | { 240 | "typeInfo": { 241 | "fullName": "UnityEditor.Graphing.Edge" 242 | }, 243 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5b3aa88a-ab52-4845-989e-145f20ec7233\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\"\n }\n}" 244 | }, 245 | { 246 | "typeInfo": { 247 | "fullName": "UnityEditor.Graphing.Edge" 248 | }, 249 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"785f676f-123a-4a13-9a8f-58689fe695c7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\"\n }\n}" 250 | }, 251 | { 252 | "typeInfo": { 253 | "fullName": "UnityEditor.Graphing.Edge" 254 | }, 255 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n }\n}" 256 | }, 257 | { 258 | "typeInfo": { 259 | "fullName": "UnityEditor.Graphing.Edge" 260 | }, 261 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n }\n}" 262 | }, 263 | { 264 | "typeInfo": { 265 | "fullName": "UnityEditor.Graphing.Edge" 266 | }, 267 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a9fa1669-626f-4e9a-b6c5-19e1ecee2c7d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n }\n}" 268 | }, 269 | { 270 | "typeInfo": { 271 | "fullName": "UnityEditor.Graphing.Edge" 272 | }, 273 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n }\n}" 274 | }, 275 | { 276 | "typeInfo": { 277 | "fullName": "UnityEditor.Graphing.Edge" 278 | }, 279 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"ba9c859b-5853-41ad-b61b-17a31d2c10fe\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"bc047bb8-3f99-425b-815a-c844ff29d629\"\n }\n}" 280 | }, 281 | { 282 | "typeInfo": { 283 | "fullName": "UnityEditor.Graphing.Edge" 284 | }, 285 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e849dca1-4e12-4e4f-875d-669ab9a5452b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"9a7f9f69-b3dd-4ed1-9d5f-5818376d6854\"\n }\n}" 286 | }, 287 | { 288 | "typeInfo": { 289 | "fullName": "UnityEditor.Graphing.Edge" 290 | }, 291 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e9247ffa-a147-46ed-b792-50d889365b8b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"7afa0121-8e16-45e0-8ce3-50e4a8aa3577\"\n }\n}" 292 | }, 293 | { 294 | "typeInfo": { 295 | "fullName": "UnityEditor.Graphing.Edge" 296 | }, 297 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ec7610a6-6947-4ed3-b830-4fda0fa6f554\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b92840bc-977f-4920-a7d0-b3a32cb13fbe\"\n }\n}" 298 | }, 299 | { 300 | "typeInfo": { 301 | "fullName": "UnityEditor.Graphing.Edge" 302 | }, 303 | "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f51a6a6e-6a26-480a-959b-8d2fd375e29f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2450d301-d242-46e8-ab22-405b9fa93d68\"\n }\n}" 304 | } 305 | ], 306 | "m_PreviewData": { 307 | "serializedMesh": { 308 | "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", 309 | "m_Guid": "" 310 | } 311 | }, 312 | "m_Path": "Sub Graphs", 313 | "m_ConcretePrecision": 0, 314 | "m_ActiveOutputNodeGuidSerialized": "" 315 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Loved Unity Scripts 2 | Reusable useful scripts. 3 | -------------------------------------------------------------------------------- /Shaders/Ripple.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace RRUnity 4 | { 5 | public class Ripple : MonoBehaviour 6 | { 7 | public static class Radius 8 | { 9 | public static readonly float Small = 0.16f; 10 | public static readonly float Medium = 0.32f; 11 | public static readonly float Large = 0.64f; 12 | public static readonly float Huge = 1.28f; 13 | } 14 | 15 | public static class WaveSize 16 | { 17 | public static readonly float Small = 0.1f; 18 | public static readonly float Medium = 0.2f; 19 | public static readonly float Large = 0.3f; 20 | public static readonly float Huge = 0.4f; 21 | } 22 | 23 | private Camera _camera = null; 24 | private Material _material = null; 25 | private float _maxRadius = Radius.Huge; 26 | private bool _movesWithSource = true; 27 | private Vector3 _startPosition; 28 | private Timer _timer = null; 29 | private float _waveSize = WaveSize.Medium; 30 | 31 | public static Ripple Create() 32 | { 33 | if (Camera.main) 34 | { 35 | return Camera.main.gameObject.AddComponent(); 36 | } 37 | 38 | return null; 39 | } 40 | 41 | public static Ripple Create(Transform transform, float radius = -1.0f, float waveSize = -1.0f, 42 | float animationDuration = -1.0f, bool movesWithSource = true) 43 | { 44 | if (Camera.main) 45 | { 46 | return Camera.main.gameObject.AddComponent() 47 | .PlaceAndStart(transform, radius, waveSize, animationDuration, movesWithSource); 48 | } 49 | 50 | return null; 51 | } 52 | 53 | public void Awake() 54 | { 55 | _camera = Camera.main; 56 | _material = new Material(Shader.Find("Custom/Ripple")); 57 | _timer = new Timer(RRSettings.AnimationDuration.Slow); 58 | } 59 | 60 | public void OnRenderImage(RenderTexture source, RenderTexture destination) 61 | { 62 | Graphics.Blit(source, destination, _material); 63 | } 64 | 65 | public Ripple PlaceAndStart(Transform transform, float radius = -1.0f, float waveSize = -1.0f, 66 | float animationDuration = -1.0f, bool movesWithSource = true) 67 | { 68 | return PlaceAndStart(transform.position, radius, waveSize, animationDuration, movesWithSource); 69 | } 70 | 71 | public Ripple PlaceAndStart(Vector3 position, float radius = -1.0f, float waveSize = -1.0f, 72 | float animationDuration = -1.0f, bool movesWithSource = true) 73 | { 74 | if (animationDuration < 0) 75 | { 76 | animationDuration = RRSettings.AnimationDuration.Slow; 77 | } 78 | 79 | if (radius < 0) 80 | { 81 | radius = Radius.Large; 82 | } 83 | 84 | if (waveSize < 0) 85 | { 86 | waveSize = WaveSize.Medium; 87 | } 88 | 89 | _maxRadius = radius; 90 | _movesWithSource = movesWithSource; 91 | _startPosition = position; 92 | _waveSize = waveSize; 93 | 94 | _material.SetFloat("_MaxRadius", _maxRadius); 95 | _material.SetFloat("_WaveSize", _waveSize); 96 | 97 | updateCenterPosition(); 98 | 99 | _timer.SetTimeout(animationDuration); 100 | _timer.Reset(); 101 | 102 | return this; 103 | } 104 | 105 | public void Update() 106 | { 107 | if (_timer.AdvanceTime(Time.deltaTime)) 108 | { 109 | Destroy(this); 110 | } 111 | else 112 | { 113 | float easedStep = Lerp.EaseOut(_timer.progress, EasingType.Cubic); 114 | _material.SetFloat("_Radius", _maxRadius * easedStep); 115 | 116 | if (_movesWithSource) 117 | { 118 | updateCenterPosition(); 119 | } 120 | } 121 | } 122 | 123 | private void updateCenterPosition() 124 | { 125 | Vector2 positionOnScreen = _camera.WorldToViewportPoint(_startPosition); 126 | _material.SetFloat("_CenterX", positionOnScreen.x); 127 | _material.SetFloat("_CenterY", positionOnScreen.y); 128 | } 129 | } 130 | } -------------------------------------------------------------------------------- /Shaders/Ripple.shader: -------------------------------------------------------------------------------- 1 | // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' 2 | 3 | Shader "Custom/Ripple" { 4 | Properties { 5 | _MainTex ("", 2D) = "white" {} 6 | _CenterX ("CenterX", Range(-1,2)) = 0.5 7 | _CenterY ("CenterY", Range(-1,2)) = 0.5 8 | _Radius ("Radius", Range(-1,1)) = 0.2 9 | _MaxRadius ("MaxRadius", Range(-1,1)) = 1.0 10 | _Amplitude ("Amplitude", Range(-10,10)) = 0.05 11 | _WaveSize ("WaveSize", Range(0, 1)) = 0.3 12 | } 13 | 14 | SubShader { 15 | 16 | ZTest Always Cull Off ZWrite Off Fog { Mode Off } //Rendering settings 17 | 18 | Pass{ 19 | CGPROGRAM 20 | #pragma vertex vert 21 | #pragma fragment frag 22 | #include "UnityCG.cginc" 23 | //we include "UnityCG.cginc" to use the appdata_img struct 24 | 25 | float _CenterX; 26 | float _CenterY; 27 | float _Radius; 28 | float _MaxRadius; 29 | float _Amplitude; 30 | float _WaveSize; 31 | 32 | struct v2f { 33 | float4 pos : POSITION; 34 | half2 uv : TEXCOORD0; 35 | }; 36 | 37 | //Our Vertex Shader 38 | v2f vert (appdata_img v) { 39 | v2f o; 40 | o.pos = UnityObjectToClipPos (v.vertex); 41 | o.uv = MultiplyUV (UNITY_MATRIX_TEXTURE0, v.texcoord.xy); 42 | return o; 43 | } 44 | 45 | sampler2D _MainTex; //Reference in Pass is necessary to let us use this variable in shaders 46 | 47 | //Our Fragment Shader 48 | fixed4 frag (v2f i) : COLOR{ 49 | 50 | float2 difference = float2(i.uv.x - _CenterX, i.uv.y - _CenterY); 51 | difference.x *= _ScreenParams.x / _ScreenParams.y; 52 | float dist = sqrt(difference.x * difference.x + difference.y * difference.y); 53 | 54 | float2 uv_displaced = float2(i.uv.x, i.uv.y); 55 | 56 | // Make the wavesize smaller over time to make sure it "fades" out 57 | _WaveSize *= (1.0f - (_Radius / _MaxRadius)); 58 | if (dist > _Radius) { 59 | if (dist < _Radius + _WaveSize) { 60 | float angle = (dist - _Radius) * 2 * 3.141592654 / _WaveSize; 61 | float cossin= (1 - cos(angle)) * 0.5; 62 | uv_displaced.x -= (cossin * difference.x * _Amplitude / dist); 63 | uv_displaced.y -= (cossin * difference.y * _Amplitude / dist); 64 | } 65 | } 66 | 67 | fixed4 orgCol = tex2D(_MainTex, uv_displaced); 68 | return orgCol; 69 | } 70 | ENDCG 71 | } 72 | } 73 | 74 | FallBack "Diffuse" 75 | } 76 | -------------------------------------------------------------------------------- /Shaders/SceneTransition.shader: -------------------------------------------------------------------------------- 1 | Shader "RRShaders/SceneTransition" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Texture", 2D) = "white" {} 6 | 7 | /* 8 | 0: Slide in from left to right - Slide out from left to right 9 | 1: Slide in from bottom to top 10 | 2: Vertical blinds 11 | 3: Horizontal blinds 12 | 4: Flash 13 | 5: That's all folks! 14 | 6: Reversed That's all folks! 15 | */ 16 | _Mode("Mode", Int) = 0 17 | _FocalPoint("Focal Point", Vector) = (0, 0, 0, 0) 18 | _InvertMode("Invert Mode (not working yet)", Int) = 0 19 | _Color("Color", Color) = (1, 1, 1, 1) 20 | _Done("Done", Int) = 0 21 | 22 | _Phase ("Phase", Int) = 0 23 | _Progress("Progress", Float) = 0.0 24 | 25 | _BlindSize ("Blind Size", Float) = 64.0 26 | } 27 | SubShader 28 | { 29 | // No culling or depth 30 | Cull Off ZWrite Off ZTest Always 31 | 32 | 33 | Pass 34 | { 35 | CGPROGRAM 36 | // Upgrade NOTE: excluded shader from DX11, OpenGL ES 2.0 because it uses unsized arrays 37 | #pragma exclude_renderers d3d11 gles 38 | // Upgrade NOTE: excluded shader from DX11 because it uses wrong array syntax (type[size] name) 39 | #pragma exclude_renderers d3d11 40 | #pragma vertex vert 41 | #pragma fragment frag 42 | 43 | #include "UnityCG.cginc" 44 | 45 | sampler2D _MainTex; 46 | uniform float4 _MainTex_TexelSize; 47 | 48 | int _Mode; 49 | int _InvertMode; 50 | float _BlindSize; 51 | float4 _FocalPoint; 52 | fixed4 _Color; 53 | int _Done; 54 | float _Phase; 55 | float _Progress; 56 | 57 | struct appdata 58 | { 59 | float4 vertex : POSITION; 60 | float2 uv : TEXCOORD0; 61 | }; 62 | 63 | struct v2f 64 | { 65 | float4 vertex : SV_POSITION; 66 | float2 uv : TEXCOORD0; 67 | }; 68 | 69 | v2f vert (appdata v) 70 | { 71 | v2f o; 72 | o.vertex = UnityObjectToClipPos(v.vertex); 73 | o.uv = v.uv; 74 | return o; 75 | } 76 | 77 | bool distanceBetweenSmallerThanOrEqualTo(float2 position1, float2 position2, float distance) { 78 | float x = position1[0] - position2[0]; 79 | #if UNITY_UV_STARTS_AT_TOP 80 | float y = position1[1] - position2[1]; 81 | #else 82 | float y = (1.0f - position1[1]) - (1.0f - position2[1]); 83 | #endif 84 | return x*x + y*y <= distance * distance; 85 | } 86 | 87 | fixed4 frag (v2f i) : SV_Target 88 | { 89 | fixed4 col = tex2D(_MainTex, i.uv); 90 | 91 | // Skip everything else 92 | if(_Done == 1) { 93 | return col; 94 | } 95 | 96 | float y = i.vertex[1]; 97 | #if UNITY_UV_STARTS_AT_TOP 98 | 99 | 100 | #else 101 | y = 1 - y; 102 | #endif 103 | 104 | // Slide in and out curtain 105 | if(_Mode == 0) { 106 | float width = _MainTex_TexelSize.z; 107 | if(_Phase == 0) { 108 | if(i.vertex[0] < _Progress * width) { 109 | col.rgb = _Color; 110 | } 111 | } 112 | if(_Phase == 1) { 113 | if(i.vertex[0] > _Progress * width) { 114 | col.rgb = _Color; 115 | } 116 | } 117 | } 118 | if(_Mode == 1) { 119 | float height = _MainTex_TexelSize.w; 120 | if(_Phase == 0) { 121 | #if UNITY_UV_STARTS_AT_TOP 122 | if(i.vertex[1] < _Progress * height) { 123 | col.rgb = _Color; 124 | } 125 | #else 126 | if(i.vertex[1] > (1 - _Progress) * height) { 127 | col.rgb = _Color; 128 | } 129 | #endif 130 | } 131 | if(_Phase == 1) { 132 | #if UNITY_UV_STARTS_AT_TOP 133 | if(i.vertex[1] > _Progress * height) { 134 | col.rgb = _Color; 135 | } 136 | #else 137 | if(i.vertex[1] < (1 - _Progress) * height) { 138 | col.rgb = _Color; 139 | } 140 | #endif 141 | } 142 | } 143 | 144 | // Horizontal blinds 145 | if(_Mode == 2) { 146 | if(_Phase == 0) { 147 | if(fmod(i.vertex[0], _BlindSize) < _Progress * _BlindSize) { 148 | col.rgb = _Color; 149 | } 150 | } 151 | if(_Phase == 1) { 152 | if(fmod(i.vertex[0], _BlindSize) > _Progress * _BlindSize) { 153 | col.rgb = _Color; 154 | } 155 | } 156 | } 157 | 158 | // Vertical blinds 159 | if(_Mode == 3) { 160 | if(_Phase == 0) { 161 | if(fmod(y, _BlindSize) < _Progress * _BlindSize) { 162 | col.rgb = _Color; 163 | } 164 | } 165 | if(_Phase == 1) { 166 | if(fmod(y, _BlindSize) > _Progress * _BlindSize) { 167 | col.rgb = _Color; 168 | } 169 | } 170 | } 171 | 172 | // Flash 173 | if(_Mode == 4) { 174 | fixed4 ColorWhite = fixed4(1, 1, 1, 1); 175 | if(_Phase == 0) { 176 | col.rgba += _Progress * ColorWhite; 177 | } 178 | if(_Phase == 1) { 179 | col.rgba += (1-_Progress) * ColorWhite; 180 | } 181 | } 182 | 183 | if(_Mode == 5) { 184 | float height = _MainTex_TexelSize.w; 185 | float width = _MainTex_TexelSize.z; 186 | 187 | #if UNITY_UV_STARTS_AT_TOP 188 | float2 focalPoint = float2(_FocalPoint[0], height - _FocalPoint[1]); 189 | #else 190 | float2 focalPoint = _FocalPoint; 191 | #endif 192 | 193 | float limit = width > height ? width : height; 194 | if(_Phase == 0) { 195 | if(!distanceBetweenSmallerThanOrEqualTo(i.vertex, focalPoint, (1-_Progress) * limit)) { 196 | col.rgba = _Color; 197 | } 198 | } 199 | 200 | if(_Phase == 1) { 201 | if(!distanceBetweenSmallerThanOrEqualTo(i.vertex, focalPoint, _Progress * limit)) { 202 | col.rgba = _Color; 203 | } 204 | } 205 | } 206 | 207 | if(_Mode == 6) { 208 | float height = _MainTex_TexelSize.w; 209 | float width = _MainTex_TexelSize.z; 210 | 211 | #if UNITY_UV_STARTS_AT_TOP 212 | float2 focalPoint = float2(_FocalPoint[0], height - _FocalPoint[1]); 213 | #else 214 | float2 focalPoint = _FocalPoint; 215 | #endif 216 | 217 | float limit = width > height ? width : height; 218 | if(_Phase == 0) { 219 | if(distanceBetweenSmallerThanOrEqualTo(i.vertex, focalPoint, _Progress * limit)) { 220 | col.rgba = _Color; 221 | } 222 | } 223 | 224 | if(_Phase == 1) { 225 | if(distanceBetweenSmallerThanOrEqualTo(i.vertex, focalPoint, (1 - _Progress) * limit)) { 226 | col.rgba = _Color; 227 | } 228 | } 229 | } 230 | return col; 231 | } 232 | ENDCG 233 | } 234 | } 235 | } 236 | -------------------------------------------------------------------------------- /Sound Related/AudioSlider.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.UI; 3 | 4 | /** 5 | This script attaches a UI slider to this object's Audio Source, allowing it to seamslessly control the volume. 6 | */ 7 | [RequireComponent(typeof(AudioSource))] 8 | public class AudioSlider : MonoBehaviour 9 | { 10 | [SerializeField] private AudioSource source; 11 | [SerializeField] private Slider slider; 12 | 13 | private void Awake() 14 | { 15 | source = GetComponent(); 16 | } 17 | 18 | private void Start() 19 | { 20 | slider.value = source.volume; 21 | } 22 | 23 | public void ChangeVolume(float value) 24 | { 25 | source.volume = value; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Sound Related/ChangeSongTo.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script changes the music from this object's Audio Source to another. 5 | */ 6 | [RequireComponent(typeof(AudioSource))] 7 | public class ChangeSongTo : MonoBehaviour 8 | { 9 | private AudioSource _audioSource; 10 | 11 | [SerializeField] private AudioClip baseSong; 12 | [SerializeField] private AudioClip combatSong; 13 | 14 | private void Awake() 15 | { 16 | _audioSource = GetComponent(); 17 | } 18 | 19 | public void ChangeToCombatSong() 20 | { 21 | PlaySong(combatSong); 22 | } 23 | 24 | public void ChangeToBaseSong() 25 | { 26 | PlaySong(baseSong); 27 | } 28 | 29 | private void PlaySong(AudioClip song) 30 | { 31 | _audioSource.clip = song; 32 | _audioSource.Stop(); 33 | _audioSource.Play(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Sound Related/MixerAudioSlider.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Audio; 3 | using UnityEngine.UI; 4 | 5 | /** 6 | This script connects an exposed variable from an Audio Mixer to a UI slider. 7 | */ 8 | public class MixerAudioSlider : MonoBehaviour 9 | { 10 | [SerializeField] private AudioMixer mixer; 11 | [SerializeField] private string exposedVariable; 12 | [SerializeField] private Slider slider; 13 | 14 | private void Start() 15 | { 16 | if (slider != null) 17 | { 18 | if (mixer.GetFloat(exposedVariable, out var volume)) 19 | { 20 | slider.value = volume; 21 | } 22 | } 23 | } 24 | 25 | public void ChangeMixerVolume(Slider volume){ 26 | mixer.SetFloat(exposedVariable, volume.value); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Sound Related/PlaySound.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | /** 4 | This script uses this object's Audio Source to playOneShot one audioClip. 5 | */ 6 | [RequireComponent(typeof(AudioSource))] 7 | public class PlaySound : MonoBehaviour 8 | { 9 | [SerializeField] private AudioSource _audioSource; 10 | 11 | private void Awake() 12 | { 13 | _audioSource = GetComponent(); 14 | } 15 | 16 | public void Play(AudioClip audioClip) 17 | { 18 | _audioSource.PlayOneShot(audioClip); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Unity Events/CallOnCollision.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Events; 3 | 4 | /// 5 | /// Original Author: Bugulet 6 | /// Revisor: YvensFaos 7 | /// 8 | public class CallOnCollision : MonoBehaviour 9 | { 10 | [SerializeField] private bool onCollision = true; 11 | [SerializeField] private bool onTrigger; 12 | 13 | [Tooltip("What object type do you want this to work on, empty for any object")] [SerializeField] 14 | private string objectTag; 15 | 16 | [SerializeField] private UnityEvent eventToTrigger; 17 | 18 | private void OnTriggerEnter(Collider other) 19 | { 20 | if (onTrigger) 21 | { 22 | Resolve(other.gameObject); 23 | } 24 | } 25 | 26 | private void OnCollisionEnter(Collision other) 27 | { 28 | if (onCollision) 29 | { 30 | Resolve(other.gameObject); 31 | } 32 | } 33 | 34 | private void Resolve(GameObject other) 35 | { 36 | if (objectTag.Length > 0) 37 | { 38 | if (other.CompareTag(objectTag)) 39 | { 40 | eventToTrigger.Invoke(); 41 | } 42 | } 43 | else 44 | { 45 | eventToTrigger.Invoke(); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Unity Events/CollisionEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using System.Collections.Generic; 4 | using System.Reflection; 5 | #if UNITY_EDITOR 6 | using UnityEditor; 7 | #endif 8 | using UnityEngine.Events; 9 | 10 | 11 | [Serializable] 12 | public class CollisionEvent : ScriptableObject 13 | { 14 | public enum CollisionTypes { Tag,Script,Name,Object } 15 | private Type type; 16 | [HideInInspector] public CollisionTypes collisionType; 17 | [HideInInspector] public string typeName = ""; 18 | [HideInInspector] public string tagName = ""; 19 | [HideInInspector] public string objectName = ""; 20 | [HideInInspector] public GameObject targetObject; 21 | [HideInInspector] public bool activateWithAnything = false; 22 | [SerializeField] public int test; 23 | 24 | public UnityEvent onTriggerEnter = new UnityEvent(); 25 | public UnityEvent onTriggerStay = new UnityEvent(); 26 | public UnityEvent onTriggerExit = new UnityEvent(); 27 | 28 | public UnityEvent onCollisionEnter = new UnityEvent(); 29 | public UnityEvent onCollisionStay = new UnityEvent(); 30 | public UnityEvent onCollisionExit = new UnityEvent(); 31 | 32 | public void HandleEvent(UnityEvent unityEvent, GameObject col) 33 | { 34 | //No functions anyways 35 | if (unityEvent == null) 36 | return; 37 | 38 | //Always activate if true 39 | if (activateWithAnything) 40 | { 41 | unityEvent.Invoke(); 42 | return; 43 | } 44 | 45 | switch (collisionType) 46 | { 47 | case CollisionTypes.Tag: 48 | try 49 | { 50 | if (col.CompareTag(tagName)) unityEvent.Invoke(); 51 | } 52 | catch (Exception e) 53 | { 54 | Debug.LogError("Does the tag: "+tagName+ " exist? Otherwhise the function contains an error. Error message from object: "+name,this); 55 | Debug.LogError(e.ToString()); 56 | } 57 | break; 58 | case CollisionTypes.Script: 59 | InvokeByType(unityEvent, col); 60 | break; 61 | case CollisionTypes.Name: 62 | if (col.name == objectName) unityEvent.Invoke(); 63 | break; 64 | case CollisionTypes.Object: 65 | if (col.gameObject == targetObject) unityEvent.Invoke(); 66 | break; 67 | } 68 | } 69 | 70 | private void InvokeByType(UnityEvent unityEvent, GameObject col) 71 | { 72 | if (type == null && typeName != null) 73 | type = Type.GetType(typeName); 74 | 75 | if (col.transform.GetComponent(type)) 76 | unityEvent.Invoke(); 77 | } 78 | } 79 | 80 | #if UNITY_EDITOR 81 | [CustomEditor(typeof(CollisionEvent),true)] 82 | public class EventTriggerEditor : Editor 83 | { 84 | private CollisionEvent trigger; 85 | private bool showTriggerEvents = false; 86 | private bool showCollisionEvents = false; 87 | 88 | public override void OnInspectorGUI() 89 | { 90 | serializedObject.Update(); 91 | if (trigger == null) 92 | trigger = target as CollisionEvent; 93 | 94 | trigger.activateWithAnything = EditorGUILayout.Toggle("Activate with anything", trigger.activateWithAnything); 95 | if (!trigger.activateWithAnything) 96 | { 97 | trigger.collisionType = (CollisionEvent.CollisionTypes) EditorGUILayout.EnumPopup("Type", trigger.collisionType); 98 | 99 | switch (trigger.collisionType) 100 | { 101 | case CollisionEvent.CollisionTypes.Tag: 102 | SelectCollisionByTag(); 103 | break; 104 | case CollisionEvent.CollisionTypes.Script: 105 | SelectCollisionByType(); 106 | break; 107 | case CollisionEvent.CollisionTypes.Name: 108 | SelectCollisionByName(); 109 | break; 110 | case CollisionEvent.CollisionTypes.Object: 111 | SelectCollisionByObject(); 112 | break; 113 | } 114 | } 115 | 116 | //Unity events 117 | GUI.color = Color.grey * 0.5f; 118 | GUILayout.BeginVertical("Box"); 119 | GUI.color = Color.white; 120 | 121 | showTriggerEvents = EditorGUILayout.Foldout(showTriggerEvents, "Show trigger events"); 122 | if (showTriggerEvents) 123 | { 124 | //Trigger events 125 | SerializedProperty onTriggerEnterProperty = serializedObject.FindProperty("onTriggerEnter"); 126 | EditorGUILayout.PropertyField(onTriggerEnterProperty); 127 | SerializedProperty onTriggerStayProperty = serializedObject.FindProperty("onTriggerStay"); 128 | EditorGUILayout.PropertyField(onTriggerStayProperty); 129 | SerializedProperty onTriggerExitProperty = serializedObject.FindProperty("onTriggerExit"); 130 | EditorGUILayout.PropertyField(onTriggerExitProperty); 131 | } 132 | 133 | showCollisionEvents = EditorGUILayout.Foldout(showCollisionEvents, "Show collision events"); 134 | if (showCollisionEvents) 135 | { 136 | //Collision events 137 | SerializedProperty onCollisionEnterProperty = serializedObject.FindProperty("onCollisionEnter"); 138 | EditorGUILayout.PropertyField(onCollisionEnterProperty); 139 | SerializedProperty onCollisionStayProperty = serializedObject.FindProperty("onCollisionStay"); 140 | EditorGUILayout.PropertyField(onCollisionStayProperty); 141 | SerializedProperty onCollisionExitProperty = serializedObject.FindProperty("onCollisionExit"); 142 | EditorGUILayout.PropertyField(onCollisionExitProperty); 143 | } 144 | GUILayout.EndVertical(); 145 | 146 | 147 | serializedObject.ApplyModifiedProperties(); 148 | EditorUtility.SetDirty(target); 149 | } 150 | 151 | private void SelectCollisionByTag() 152 | { 153 | trigger.tagName = EditorGUILayout.TextField("Tag", trigger.tagName); 154 | } 155 | 156 | private void SelectCollisionByName() 157 | { 158 | trigger.objectName = EditorGUILayout.TextField("Name", trigger.objectName); 159 | } 160 | 161 | private void SelectCollisionByType() 162 | { 163 | Type[] allTypes = Assembly.GetExecutingAssembly().GetTypes(); 164 | 165 | List types = new List(); 166 | List enumStrings = new List(); 167 | foreach (Type type in allTypes) 168 | { 169 | if (type.IsSubclassOf(typeof(MonoBehaviour))) 170 | { 171 | types.Add(type); 172 | enumStrings.Add(type.FullName); 173 | } 174 | } 175 | 176 | int selected = trigger.typeName != null ? types.IndexOf(Type.GetType(trigger.typeName)) : 0; 177 | int id = EditorGUILayout.Popup("Script Type", selected, enumStrings.ToArray()); 178 | if (id == -1) return; 179 | trigger.typeName = types[id].Name; 180 | } 181 | 182 | private void SelectCollisionByObject() 183 | { 184 | trigger.targetObject = (GameObject) EditorGUILayout.ObjectField(trigger.targetObject, typeof(GameObject), true); 185 | } 186 | } 187 | #endif -------------------------------------------------------------------------------- /Unity Events/CollisionEventManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | #if UNITY_EDITOR 5 | using UnityEditor; 6 | #endif 7 | using UnityEngine; 8 | using UnityEngine.Events; 9 | 10 | 11 | /// Manages a list of collision events which can have conditions that are required to invoke a collision event 12 | public class CollisionEventManager : MonoBehaviour 13 | { 14 | public List events = new List(); 15 | 16 | void Reset() 17 | { 18 | events.Add(ScriptableObject.CreateInstance()); 19 | } 20 | 21 | #region 3D 22 | private void OnTriggerEnter(Collider other) 23 | { 24 | foreach (CollisionEvent collision3DEvent in events) 25 | { 26 | collision3DEvent.HandleEvent(collision3DEvent.onTriggerEnter, other.gameObject); 27 | } 28 | } 29 | 30 | private void OnTriggerStay(Collider other) 31 | { 32 | foreach (CollisionEvent collision3DEvent in events) 33 | { 34 | collision3DEvent.HandleEvent(collision3DEvent.onTriggerStay, other.gameObject); 35 | } 36 | } 37 | 38 | private void OnTriggerExit(Collider other) 39 | { 40 | foreach (CollisionEvent collision3DEvent in events) 41 | { 42 | collision3DEvent.HandleEvent(collision3DEvent.onTriggerExit, other.gameObject); 43 | } 44 | } 45 | 46 | private void OnCollisionEnter(Collision col) 47 | { 48 | foreach (CollisionEvent collision3DEvent in events) 49 | { 50 | collision3DEvent.HandleEvent(collision3DEvent.onCollisionEnter, col.gameObject); 51 | } 52 | } 53 | 54 | private void OnCollisionStay(Collision col) 55 | { 56 | foreach (CollisionEvent collision3DEvent in events) 57 | { 58 | collision3DEvent.HandleEvent(collision3DEvent.onCollisionStay, col.gameObject); 59 | } 60 | } 61 | 62 | private void OnCollisionExit(Collision col) 63 | { 64 | foreach (CollisionEvent collision3DEvent in events) 65 | { 66 | collision3DEvent.HandleEvent(collision3DEvent.onCollisionExit, col.gameObject); 67 | } 68 | } 69 | #endregion 70 | 71 | #region 2D 72 | private void OnTriggerEnter2D(Collider2D other) 73 | { 74 | foreach (CollisionEvent collision2DEvent in events) 75 | { 76 | collision2DEvent.HandleEvent(collision2DEvent.onTriggerEnter, other.gameObject); 77 | } 78 | } 79 | 80 | private void OnTriggerStay2D(Collider2D other) 81 | { 82 | foreach (CollisionEvent collision2DEvent in events) 83 | { 84 | collision2DEvent.HandleEvent(collision2DEvent.onTriggerStay, other.gameObject); 85 | } 86 | } 87 | 88 | private void OnTriggerExit2D(Collider2D other) 89 | { 90 | foreach (CollisionEvent collision2DEvent in events) 91 | { 92 | collision2DEvent.HandleEvent(collision2DEvent.onTriggerExit, other.gameObject); 93 | } 94 | } 95 | 96 | private void OnCollisionEnter2D(Collision2D other) 97 | { 98 | foreach (CollisionEvent collision2DEvent in events) 99 | { 100 | collision2DEvent.HandleEvent(collision2DEvent.onCollisionEnter, other.gameObject); 101 | } 102 | } 103 | private void OnCollisionStay2D(Collision2D other) 104 | { 105 | foreach (CollisionEvent collision2DEvent in events) 106 | { 107 | collision2DEvent.HandleEvent(collision2DEvent.onCollisionStay, other.gameObject); 108 | } 109 | } 110 | 111 | private void OnCollisionExit2D(Collision2D other) 112 | { 113 | foreach (CollisionEvent collision2DEvent in events) 114 | { 115 | collision2DEvent.HandleEvent(collision2DEvent.onCollisionExit, other.gameObject); 116 | } 117 | } 118 | 119 | #endregion 120 | } 121 | 122 | #if UNITY_EDITOR 123 | [CustomEditor(typeof(CollisionEventManager), true)] 124 | [CanEditMultipleObjects] 125 | public class CollisionEventManagerEditor : Editor 126 | { 127 | private CollisionEventManager manager; 128 | private List cachedEditors = new List(); 129 | private List showEvents = new List(); 130 | private UnityEvent garbageCollector = new UnityEvent(); 131 | 132 | public override void OnInspectorGUI() 133 | { 134 | if (manager == null) manager = (CollisionEventManager)target; 135 | GUI.color = Color.green; 136 | if (GUILayout.Button("Add event")) 137 | manager.events.Add(CreateInstance()); 138 | GUI.color = Color.white; 139 | 140 | for (int i = 0; i < manager.events.Count; i++) 141 | { 142 | if (cachedEditors.Count < manager.events.Count) cachedEditors.Add(new Editor()); 143 | if (showEvents.Count < manager.events.Count) showEvents.Add(false); 144 | showEvents[i] = EditorGUILayout.Foldout(showEvents[i], "Event " + (i + 1)); 145 | if (showEvents[i]) 146 | { 147 | GUI.color = Color.red; 148 | if (GUILayout.Button("Delete")) RemoveEvent(manager.events[i]); 149 | GUI.color = Color.white; 150 | Editor tempEditor = cachedEditors[i]; 151 | CreateCachedEditor(manager.events[i], typeof(EventTriggerEditor), ref tempEditor); 152 | if (tempEditor != null) tempEditor.OnInspectorGUI(); 153 | cachedEditors[i] = tempEditor; 154 | } 155 | } 156 | 157 | //Garbage collector? overkill? yes. Unnecessary? maybe. Better alternatives? Definitely. 158 | if (garbageCollector != null) 159 | { 160 | garbageCollector.Invoke(); 161 | garbageCollector.RemoveAllListeners(); 162 | } 163 | 164 | EditorUtility.SetDirty(target); 165 | } 166 | 167 | private void RemoveEvent(CollisionEvent collision3DEvent) 168 | { 169 | garbageCollector.AddListener(delegate { manager.events.Remove(collision3DEvent); }); 170 | } 171 | } 172 | #endif -------------------------------------------------------------------------------- /Unity Events/EnableDisableEventCaller.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Events; 3 | 4 | /** 5 | This script adds UnityEvents calls for this object's OnEnable and OnDisable. 6 | */ 7 | public class EnableDisableEventCaller : MonoBehaviour 8 | { 9 | [SerializeField] private UnityEvent onEnableEvents; 10 | [SerializeField] private UnityEvent onDisableEvents; 11 | 12 | private void OnEnable() 13 | { 14 | onEnableEvents.Invoke(); 15 | } 16 | 17 | private void OnDisable() 18 | { 19 | onDisableEvents.Invoke(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Unity Events/EventHandler.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Events; 3 | 4 | /** 5 | This script attaches a UnityEvent to this object callable via CallEvents script. 6 | */ 7 | public class EventHandler : MonoBehaviour 8 | { 9 | [SerializeField] 10 | private UnityEvent events; 11 | 12 | public void CallEvents() 13 | { 14 | events.Invoke(); 15 | } 16 | } 17 | 18 | 19 | -------------------------------------------------------------------------------- /Unity Events/StartEventAfterSeconds.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.Events; 5 | 6 | /** 7 | This script calls a Unity Events list after a given time. 8 | */ 9 | public class StartEventAfterSeconds : MonoBehaviour 10 | { 11 | [SerializeField] private UnityEvent events; 12 | 13 | public void StartAfter(float seconds) 14 | { 15 | StartCoroutine(StartAfterCoroutine(seconds)); 16 | } 17 | 18 | private IEnumerator StartAfterCoroutine(float seconds) 19 | { 20 | yield return new WaitForSeconds(seconds); 21 | events.Invoke(); 22 | } 23 | } 24 | --------------------------------------------------------------------------------