├── .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 |
--------------------------------------------------------------------------------