diff --git a/Assets/AllIn1SpriteShader.meta b/Assets/AllIn1SpriteShader.meta new file mode 100644 index 0000000..7eff29d --- /dev/null +++ b/Assets/AllIn1SpriteShader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e38f164f8dccde42867c5d673395b16 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Editor.meta b/Assets/AllIn1SpriteShader/Editor.meta new file mode 100644 index 0000000..4d7651e --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 88005189a0eaefe4aa34961fe0208e26 +folderAsset: yes +timeCreated: 1464994693 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Editor/AllIn1ShaderScriptEditor.cs b/Assets/AllIn1SpriteShader/Editor/AllIn1ShaderScriptEditor.cs new file mode 100644 index 0000000..0f3030e --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor/AllIn1ShaderScriptEditor.cs @@ -0,0 +1,88 @@ +using UnityEngine; +using UnityEditor; + +[CustomEditor(typeof(AllIn1Shader)), CanEditMultipleObjects] +public class AllIn1ShaderScriptEditor : Editor +{ + public override void OnInspectorGUI() + { + Texture2D imageInspector = (Texture2D)AssetDatabase.LoadAssetAtPath("Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png", typeof(Texture2D)); + + if (imageInspector) + { + Rect rect; + float imageHeight = imageInspector.height; + float imageWidth = imageInspector.width; + float aspectRatio = imageHeight / imageWidth; + rect = GUILayoutUtility.GetRect(imageHeight, aspectRatio * Screen.width); + EditorGUI.DrawTextureTransparent(rect, imageInspector); + } + + AllIn1Shader myScript = (AllIn1Shader)target; + + if (GUILayout.Button("Deactivate All Effects")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).ClearAllKeywords(); + } + } + + + if (GUILayout.Button("New Clean Material")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).TryCreateNew(); + } + } + + + if (GUILayout.Button("Create New Material With Same Properties (SEE DOC)")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).MakeCopy(); + } + } + + if (GUILayout.Button("Save Material To Folder (SEE DOC)")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).SaveMaterial(); + } + } + + EditorGUILayout.Space(); + + if (GUILayout.Button("Sprite Atlas Auto Setup")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).ToggleSetAtlasUvs(true); + } + } + if (GUILayout.Button("Remove Sprite Atlas Configuration")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).ToggleSetAtlasUvs(false); + } + } + + EditorGUILayout.Space(); + + if (GUILayout.Button("REMOVE COMPONENT AND MATERIAL")) + { + for (int i = 0; i < targets.Length; i++) + { + (targets[i] as AllIn1Shader).CleanMaterial(); + } + for (int i = targets.Length - 1; i >= 0; i--) + { + DestroyImmediate(targets[i] as AllIn1Shader); + } + } + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Editor/AllIn1ShaderScriptEditor.cs.meta b/Assets/AllIn1SpriteShader/Editor/AllIn1ShaderScriptEditor.cs.meta new file mode 100644 index 0000000..14531a1 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor/AllIn1ShaderScriptEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 78232fc1cf0e9c445a36b7bf7fc49fdb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShader.cs b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShader.cs new file mode 100644 index 0000000..bb7487f --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShader.cs @@ -0,0 +1,479 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.SceneManagement; +using System.Linq; + +[CanEditMultipleObjects] +public class AllIn1SpriteShader : ShaderGUI +{ + private Material targetMat; + private UnityEngine.Rendering.BlendMode srcMode, dstMode; + private UnityEngine.Rendering.CompareFunction zTestMode; + + public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) + { + targetMat = materialEditor.target as Material; + string[] oldKeyWords = targetMat.shaderKeywords; + GUIStyle style = EditorStyles.helpBox; + style.margin = new RectOffset(0, 0, 0, 0); + + materialEditor.ShaderProperty(properties[0], properties[0].displayName); + materialEditor.ShaderProperty(properties[1], properties[1].displayName); + materialEditor.ShaderProperty(properties[2], properties[2].displayName); + + //Not needed since Unity batches sprites on its own + //EditorGUILayout.Separator(); + //materialEditor.EnableInstancingField(); + //Debug.Log(materialEditor.IsInstancingEnabled() + " " + Application.isBatchMode); + + EditorGUILayout.Separator(); + Blending(materialEditor, properties, style, oldKeyWords.Contains("CUSTOMBLENDING_ON"), "Custom Blending", "CUSTOMBLENDING_ON"); + Billboard(materialEditor, properties, style, oldKeyWords.Contains("BILBOARD_ON"), "Bilboard active", "BILBOARD_ON"); + ZWrite(materialEditor, properties, style, "Depth Write"); + ZTest(materialEditor, properties, style, oldKeyWords.Contains("CUSTOMZTEST_ON"), "Z Test", "CUSTOMZTEST_ON"); + SpriteAtlas(materialEditor, style, oldKeyWords.Contains("ATLAS_ON"), "Sprite inside an atlas?", "ATLAS_ON"); + + EditorGUILayout.Separator(); + GUILayout.Label("___Color Effects___", EditorStyles.boldLabel); + + Glow(materialEditor, properties, style, oldKeyWords.Contains("GLOW_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("FADE_ON"), "2.Fade", "FADE_ON", 7, 13); + Outline(materialEditor, properties, style, oldKeyWords.Contains("OUTBASE_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("GRADIENT_ON"), "4.Gradient", "GRADIENT_ON", 31, 35); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("COLORSWAP_ON"), "5.Color Swap", "COLORSWAP_ON", 36, 42); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("HSV_ON"), "6.Hue Shift", "HSV_ON", 43, 45); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("CHANGECOLOR_ON"), "7.Change 1 Color", "CHANGECOLOR_ON", 123, 126); + ColorRamp(materialEditor, properties, style, oldKeyWords.Contains("COLORRAMP_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("HITEFFECT_ON"), "9.Hit Effect", "HITEFFECT_ON", 46, 48); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("NEGATIVE_ON"), "10.Negative", "NEGATIVE_ON", 49, 49); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("PIXELATE_ON"), "11.Pixelate", "PIXELATE_ON", 50, 50); + GreyScale(materialEditor, properties, style, oldKeyWords.Contains("GREYSCALE_ON")); + Posterize(materialEditor, properties, style, oldKeyWords.Contains("POSTERIZE_ON")); + Blur(materialEditor, properties, style, oldKeyWords.Contains("BLUR_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("MOTIONBLUR_ON"), "15.Motion Blur", "MOTIONBLUR_ON", 62, 63); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("GHOST_ON"), "16.Ghost", "GHOST_ON", 64, 65); + InnerOutline(materialEditor, properties, style, oldKeyWords.Contains("INNEROUTLINE_ON"), "17.Inner Outline", "INNEROUTLINE_ON", 66, 69); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("HOLOGRAM_ON"), "18.Hologram", "HOLOGRAM_ON", 73, 77); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("CHROMABERR_ON"), "19.Chromatic Aberration", "CHROMABERR_ON", 78, 79); + Glitch(materialEditor, properties, style, oldKeyWords.Contains("GLITCH_ON"), "20.Glitch", "GLITCH_ON"); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("FLICKER_ON"), "21.Flicker", "FLICKER_ON", 81, 83); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("SHADOW_ON"), "22.Shadow", "SHADOW_ON", 84, 87); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("SHINE_ON"), "23.Shine", "SHINE_ON", 133, 137); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ALPHACUTOFF_ON"), "24.Alpha Cutoff", "ALPHACUTOFF_ON", 70, 70); + + EditorGUILayout.Separator(); + GUILayout.Label("___UV Effects___", EditorStyles.boldLabel); + + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("DOODLE_ON"), "25.Hand Drawn", "DOODLE_ON", 88, 89); + Grass(materialEditor, properties, style, oldKeyWords.Contains("WIND_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("WAVEUV_ON"), "27.Wave", "WAVEUV_ON", 94, 98); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ROUNDWAVEUV_ON"), "28.Round Wave", "ROUNDWAVEUV_ON", 127, 128); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("RECTSIZE_ON"), "29.Rect Size (Enable wireframe to see result)", "RECTSIZE_ON", 99, 99); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("OFFSETUV_ON"), "30.Offset", "OFFSETUV_ON", 100, 101); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("CLIPPING_ON"), "31.Clipping / Fill Amount", "CLIPPING_ON", 102, 105); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("TEXTURESCROLL_ON"), "32.Texture Scroll", "TEXTURESCROLL_ON", 106, 107); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ZOOMUV_ON"), "33.Zoom", "ZOOMUV_ON", 108, 108); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("DISTORT_ON"), "34.Distortion", "DISTORT_ON", 109, 112); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("TWISTUV_ON"), "35.Twist", "TWISTUV_ON", 113, 116); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ROTATEUV_ON"), "36.Rotate", "ROTATEUV_ON", 117, 117); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("POLARUV_ON"), "37.Polar Coordinates (Tile texture for good results)", "POLARUV_ON", -1, -1); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("FISHEYE_ON"), "38.Fish Eye", "FISHEYE_ON", 118, 118); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("PINCH_ON"), "39.Pinch", "PINCH_ON", 119, 119); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("SHAKEUV_ON"), "40.Shake", "SHAKEUV_ON", 120, 122); + } + + private void Blending(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag) + { + MaterialProperty srcM = ShaderGUI.FindProperty("_MySrcMode", properties); + MaterialProperty dstM = ShaderGUI.FindProperty("_MyDstMode", properties); + if (srcM.floatValue == 0 && dstM.floatValue == 0) + { + srcM.floatValue = 5; + dstM.floatValue = 10; + } + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + GUILayout.Label("Look for 'ShaderLab: Blending' if you don't know what this is", style); + srcMode = (UnityEngine.Rendering.BlendMode) srcM.floatValue; + dstMode = (UnityEngine.Rendering.BlendMode) dstM.floatValue; + srcMode = (UnityEngine.Rendering.BlendMode) EditorGUILayout.EnumPopup("SrcMode", srcMode); + dstMode = (UnityEngine.Rendering.BlendMode) EditorGUILayout.EnumPopup("DstMode", dstMode); + srcM.floatValue = (float)(srcMode); + dstM.floatValue = (float)(dstMode); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void Billboard(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + GUILayout.Label("Don't use this feature on UI elements!", style); + materialEditor.ShaderProperty(properties[129], properties[129].displayName); + MaterialProperty billboardY = ShaderGUI.FindProperty("_BillboardY", properties); + if (billboardY.floatValue == 1) targetMat.EnableKeyword("BILBOARDY_ON"); + else targetMat.DisableKeyword("BILBOARDY_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void ZWrite(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, string inspector) + { + MaterialProperty zWrite = ShaderGUI.FindProperty("_ZWrite", properties); + bool toggle = zWrite.floatValue > 0.9f ? true : false; + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + EditorGUILayout.BeginVertical(style); + { + GUILayout.Label("Usually used to sort Billboarded sprites", style); + GUILayout.Label("Use effect instead 23.Alpha Cutoff for more optimum results", style); + zWrite.floatValue = 1.0f; + } + EditorGUILayout.EndVertical(); + } + else zWrite.floatValue = 0.0f; + EditorGUILayout.EndToggleGroup(); + } + + private void ZTest(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag) + { + MaterialProperty zTestM = ShaderGUI.FindProperty("_ZTestMode", properties); + if (zTestM.floatValue == 0) zTestM.floatValue = 4; + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + GUILayout.Label("Look for 'ShaderLab culling and depth testing' if you don't know what this is", style); + zTestMode = (UnityEngine.Rendering.CompareFunction)zTestM.floatValue; + zTestMode = (UnityEngine.Rendering.CompareFunction)EditorGUILayout.EnumPopup("zTestMode", zTestMode); + zTestM.floatValue = (float)(zTestMode); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void SpriteAtlas(MaterialEditor materialEditor, GUIStyle style, bool toggle, string inspector, string flag) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + GUILayout.Label("Make sure SpriteAtlasUV component is added \n " + + "*Check documentation if unsure what this does or how it works", style); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void Outline(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("3.Outline", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("OUTBASE_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[14], properties[14].displayName); + materialEditor.ShaderProperty(properties[15], properties[15].displayName); + materialEditor.ShaderProperty(properties[16], properties[16].displayName); + materialEditor.ShaderProperty(properties[17], properties[17].displayName); + MaterialProperty outline8dir = ShaderGUI.FindProperty("_Outline8Directions", properties); + if (outline8dir.floatValue == 1) targetMat.EnableKeyword("OUTBASE8DIR_ON"); + else targetMat.DisableKeyword("OUTBASE8DIR_ON"); + + materialEditor.ShaderProperty(properties[19], properties[19].displayName); + MaterialProperty outlinePixel = ShaderGUI.FindProperty("_OutlineIsPixel", properties); + if (outlinePixel.floatValue == 1) + { + targetMat.EnableKeyword("OUTBASEPIXELPERF_ON"); + materialEditor.ShaderProperty(properties[20], properties[20].displayName); + } + else + { + targetMat.DisableKeyword("OUTBASEPIXELPERF_ON"); + materialEditor.ShaderProperty(properties[18], properties[18].displayName); + } + + materialEditor.ShaderProperty(properties[21], properties[21].displayName); + MaterialProperty outlineTex = ShaderGUI.FindProperty("_OutlineTexToggle", properties); + if (outlineTex.floatValue == 1) + { + targetMat.EnableKeyword("OUTTEX_ON"); + materialEditor.ShaderProperty(properties[22], properties[22].displayName); + materialEditor.ShaderProperty(properties[23], properties[23].displayName); + materialEditor.ShaderProperty(properties[24], properties[24].displayName); + materialEditor.ShaderProperty(properties[25], properties[25].displayName); + MaterialProperty outlineTexGrey = ShaderGUI.FindProperty("_OutlineTexGrey", properties); + if (outlineTexGrey.floatValue == 1) targetMat.EnableKeyword("OUTGREYTEXTURE_ON"); + else targetMat.DisableKeyword("OUTGREYTEXTURE_ON"); + } + else targetMat.DisableKeyword("OUTTEX_ON"); + + materialEditor.ShaderProperty(properties[26], properties[26].displayName); + MaterialProperty outlineDistort = ShaderGUI.FindProperty("_OutlineDistortToggle", properties); + if (outlineDistort.floatValue == 1) + { + targetMat.EnableKeyword("OUTDIST_ON"); + materialEditor.ShaderProperty(properties[27], properties[27].displayName); + materialEditor.ShaderProperty(properties[28], properties[28].displayName); + materialEditor.ShaderProperty(properties[29], properties[29].displayName); + materialEditor.ShaderProperty(properties[30], properties[30].displayName); + } + else targetMat.DisableKeyword("OUTDIST_ON"); + + EditorGUILayout.Separator(); + materialEditor.ShaderProperty(properties[71], properties[71].displayName); + MaterialProperty onlyOutline = ShaderGUI.FindProperty("_OnlyOutline", properties); + if (onlyOutline.floatValue == 1) targetMat.EnableKeyword("ONLYOUTLINE_ON"); + else targetMat.DisableKeyword("ONLYOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("OUTBASE_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void GenericEffect(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag, int first, int last) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + if (first > 0) + { + EditorGUILayout.BeginVertical(style); + { + for (int i = first; i <= last; i++) materialEditor.ShaderProperty(properties[i], properties[i].displayName); + } + EditorGUILayout.EndVertical(); + } + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void Glow(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("1.Glow", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("GLOW_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[3], properties[3].displayName); + materialEditor.ShaderProperty(properties[4], properties[4].displayName); + materialEditor.ShaderProperty(properties[5], properties[5].displayName); + MaterialProperty useGlowTex = ShaderGUI.FindProperty("_GlowTexUsed", properties); + if (useGlowTex.floatValue == 1) + { + targetMat.EnableKeyword("GLOWTEX_ON"); + materialEditor.ShaderProperty(properties[6], properties[6].displayName); + } + else targetMat.DisableKeyword("GLOWTEX_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("GLOW_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void ColorRamp(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("8.Color Ramp", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("COLORRAMP_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[51], properties[51].displayName); + materialEditor.ShaderProperty(properties[52], properties[52].displayName); + materialEditor.ShaderProperty(properties[53], properties[53].displayName); + MaterialProperty colorRampOut = ShaderGUI.FindProperty("_ColorRampOutline", properties); + if (colorRampOut.floatValue == 1) targetMat.EnableKeyword("COLORRAMPOUTLINE_ON"); + else targetMat.DisableKeyword("COLORRAMPOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("COLORRAMP_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void GreyScale(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("12.Greyscale", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("GREYSCALE_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[54], properties[54].displayName); + materialEditor.ShaderProperty(properties[55], properties[55].displayName); + materialEditor.ShaderProperty(properties[56], properties[56].displayName); + MaterialProperty greyScaleOut = ShaderGUI.FindProperty("_GreyscaleOutline", properties); + if (greyScaleOut.floatValue == 1) targetMat.EnableKeyword("GREYSCALEOUTLINE_ON"); + else targetMat.DisableKeyword("GREYSCALEOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("GREYSCALE_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Posterize(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("13.Posterize", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("POSTERIZE_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[57], properties[57].displayName); + materialEditor.ShaderProperty(properties[58], properties[58].displayName); + materialEditor.ShaderProperty(properties[59], properties[59].displayName); + MaterialProperty posterizeOut = ShaderGUI.FindProperty("_PosterizeOutline", properties); + if (posterizeOut.floatValue == 1) targetMat.EnableKeyword("POSTERIZEOUTLINE_ON"); + else targetMat.DisableKeyword("POSTERIZEOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("POSTERIZE_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Blur(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("14.Blur", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("BLUR_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[60], properties[60].displayName); + materialEditor.ShaderProperty(properties[61], properties[61].displayName); + MaterialProperty blurIsHd = ShaderGUI.FindProperty("_BlurHD", properties); + if (blurIsHd.floatValue == 1) targetMat.EnableKeyword("BLURISHD_ON"); + else targetMat.DisableKeyword("BLURISHD_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("BLUR_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Grass(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("26.Grass Movement / Wind", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("WIND_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[90], properties[90].displayName); + materialEditor.ShaderProperty(properties[91], properties[91].displayName); + materialEditor.ShaderProperty(properties[92], properties[92].displayName); + materialEditor.ShaderProperty(properties[93], properties[93].displayName); + MaterialProperty grassManual = ShaderGUI.FindProperty("_GrassManualToggle", properties); + if (grassManual.floatValue == 1) targetMat.EnableKeyword("MANUALWIND_ON"); + else targetMat.DisableKeyword("MANUALWIND_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("WIND_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void InnerOutline(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag, int first, int last) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + if (first > 0) + { + EditorGUILayout.BeginVertical(style); + { + for (int i = first; i <= last; i++) materialEditor.ShaderProperty(properties[i], properties[i].displayName); + + EditorGUILayout.Separator(); + materialEditor.ShaderProperty(properties[72], properties[72].displayName); + MaterialProperty onlyInOutline = ShaderGUI.FindProperty("_OnlyInnerOutline", properties); + if (onlyInOutline.floatValue == 1) targetMat.EnableKeyword("ONLYINNEROUTLINE_ON"); + else targetMat.DisableKeyword("ONLYINNEROUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void Glitch(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[80], properties[80].displayName); + materialEditor.ShaderProperty(properties[138], properties[138].displayName); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShader.cs.meta b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShader.cs.meta new file mode 100644 index 0000000..21a9bdf --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f42211545c188ae41b1e35cc1ce38187 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShaderStencil.cs b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShaderStencil.cs new file mode 100644 index 0000000..8357258 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShaderStencil.cs @@ -0,0 +1,343 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.SceneManagement; +using System.Linq; + +[CanEditMultipleObjects] +public class AllIn1SpriteShaderStencil : ShaderGUI +{ + Material targetMat; + + public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) + { + targetMat = materialEditor.target as Material; + string[] oldKeyWords = targetMat.shaderKeywords; + GUIStyle style = EditorStyles.helpBox; + style.margin = new RectOffset(0, 0, 0, 0); + + materialEditor.ShaderProperty(properties[0], properties[0].displayName); + materialEditor.ShaderProperty(properties[1], properties[1].displayName); + materialEditor.ShaderProperty(properties[2], properties[2].displayName); + + //Not needed since Unity batches sprites on its own + //EditorGUILayout.Separator(); + //materialEditor.EnableInstancingField(); + //Debug.Log(materialEditor.IsInstancingEnabled() + " " + Application.isBatchMode); + + EditorGUILayout.Separator(); + SpriteAtlas(materialEditor, style, oldKeyWords.Contains("ATLAS_ON"), "Sprite inside an atlas?", "ATLAS_ON"); + + EditorGUILayout.Separator(); + GUILayout.Label("___Color Effects___", EditorStyles.boldLabel); + + Glow(materialEditor, properties, style, oldKeyWords.Contains("GLOW_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("FADE_ON"), "2.Fade", "FADE_ON", 7, 13); + Outline(materialEditor, properties, style, oldKeyWords.Contains("OUTBASE_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("GRADIENT_ON"), "4.Gradient", "GRADIENT_ON", 31, 35); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("COLORSWAP_ON"), "5.Color Swap", "COLORSWAP_ON", 36, 42); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("HSV_ON"), "6.Hue Shift", "HSV_ON", 43, 45); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("CHANGECOLOR_ON"), "7.Change 1 Color", "CHANGECOLOR_ON", 123, 126); + ColorRamp(materialEditor, properties, style, oldKeyWords.Contains("COLORRAMP_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("HITEFFECT_ON"), "9.Hit Effect", "HITEFFECT_ON", 46, 48); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("NEGATIVE_ON"), "10.Negative", "NEGATIVE_ON", 49, 49); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("PIXELATE_ON"), "11.Pixelate", "PIXELATE_ON", 50, 50); + GreyScale(materialEditor, properties, style, oldKeyWords.Contains("GREYSCALE_ON")); + Posterize(materialEditor, properties, style, oldKeyWords.Contains("POSTERIZE_ON")); + Blur(materialEditor, properties, style, oldKeyWords.Contains("BLUR_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("MOTIONBLUR_ON"), "15.Motion Blur", "MOTIONBLUR_ON", 62, 63); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("GHOST_ON"), "16.Ghost", "GHOST_ON", 64, 65); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("INNEROUTLINE_ON"), "17.Inner Outline", "INNEROUTLINE_ON", 66, 69); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("HOLOGRAM_ON"), "18.Hologram", "HOLOGRAM_ON", 73, 77); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("CHROMABERR_ON"), "19.Chromatic Aberration", "CHROMABERR_ON", 78, 79); + Glitch(materialEditor, properties, style, oldKeyWords.Contains("GLITCH_ON"), "20.Glitch", "GLITCH_ON"); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("FLICKER_ON"), "21.Flicker", "FLICKER_ON", 81, 83); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("SHADOW_ON"), "22.Shadow", "SHADOW_ON", 84, 87); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("SHINE_ON"), "23.Shine", "SHINE_ON", 130, 134); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ALPHACUTOFF_ON"), "24.Alpha Cutoff", "ALPHACUTOFF_ON", 70, 70); + + EditorGUILayout.Separator(); + GUILayout.Label("___UV Effects___", EditorStyles.boldLabel); + + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("DOODLE_ON"), "25.Hand Drawn", "DOODLE_ON", 88, 89); + Grass(materialEditor, properties, style, oldKeyWords.Contains("WIND_ON")); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("WAVEUV_ON"), "27.Wave", "WAVEUV_ON", 94, 98); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ROUNDWAVEUV_ON"), "28.Round Wave", "ROUNDWAVEUV_ON", 127, 128); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("RECTSIZE_ON"), "29.Rect Size (Enable wireframe to see result)", "RECTSIZE_ON", 99, 99); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("OFFSETUV_ON"), "30.Offset", "OFFSETUV_ON", 100, 101); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("CLIPPING_ON"), "31.Clipping / Fill Amount", "CLIPPING_ON", 102, 105); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("TEXTURESCROLL_ON"), "32.Texture Scroll", "TEXTURESCROLL_ON", 106, 107); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ZOOMUV_ON"), "33.Zoom", "ZOOMUV_ON", 108, 108); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("DISTORT_ON"), "34.Distortion", "DISTORT_ON", 109, 112); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("TWISTUV_ON"), "35.Twist", "TWISTUV_ON", 113, 116); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("ROTATEUV_ON"), "36.Rotate", "ROTATEUV_ON", 117, 117); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("POLARUV_ON"), "37.Polar Coordinates (Tile texture for good results)", "POLARUV_ON", -1, -1); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("FISHEYE_ON"), "38.Fish Eye", "FISHEYE_ON", 118, 118); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("PINCH_ON"), "39.Pinch", "PINCH_ON", 119, 119); + GenericEffect(materialEditor, properties, style, oldKeyWords.Contains("SHAKEUV_ON"), "40.Shake", "SHAKEUV_ON", 120, 122); + } + + private void SpriteAtlas(MaterialEditor materialEditor, GUIStyle style, bool toggle, string inspector, string flag) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + GUILayout.Label("Make sure SpriteAtlasUV component is added \n " + + "*Check documentation if unsure what this does or how it works", style); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void Outline(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("3.Outline", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("OUTBASE_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[14], properties[14].displayName); + materialEditor.ShaderProperty(properties[15], properties[15].displayName); + materialEditor.ShaderProperty(properties[16], properties[16].displayName); + materialEditor.ShaderProperty(properties[17], properties[17].displayName); + MaterialProperty outline8dir = ShaderGUI.FindProperty("_Outline8Directions", properties); + if (outline8dir.floatValue == 1) targetMat.EnableKeyword("OUTBASE8DIR_ON"); + else targetMat.DisableKeyword("OUTBASE8DIR_ON"); + + materialEditor.ShaderProperty(properties[19], properties[19].displayName); + MaterialProperty outlinePixel = ShaderGUI.FindProperty("_OutlineIsPixel", properties); + if (outlinePixel.floatValue == 1) + { + targetMat.EnableKeyword("OUTBASEPIXELPERF_ON"); + materialEditor.ShaderProperty(properties[20], properties[20].displayName); + } + else + { + targetMat.DisableKeyword("OUTBASEPIXELPERF_ON"); + materialEditor.ShaderProperty(properties[18], properties[18].displayName); + } + + materialEditor.ShaderProperty(properties[21], properties[21].displayName); + MaterialProperty outlineTex = ShaderGUI.FindProperty("_OutlineTexToggle", properties); + if (outlineTex.floatValue == 1) + { + targetMat.EnableKeyword("OUTTEX_ON"); + materialEditor.ShaderProperty(properties[22], properties[22].displayName); + materialEditor.ShaderProperty(properties[23], properties[23].displayName); + materialEditor.ShaderProperty(properties[24], properties[24].displayName); + materialEditor.ShaderProperty(properties[25], properties[25].displayName); + MaterialProperty outlineTexGrey = ShaderGUI.FindProperty("_OutlineTexGrey", properties); + if (outlineTexGrey.floatValue == 1) targetMat.EnableKeyword("OUTGREYTEXTURE_ON"); + else targetMat.DisableKeyword("OUTGREYTEXTURE_ON"); + } + else targetMat.DisableKeyword("OUTTEX_ON"); + + materialEditor.ShaderProperty(properties[26], properties[26].displayName); + MaterialProperty outlineDistort = ShaderGUI.FindProperty("_OutlineDistortToggle", properties); + if (outlineDistort.floatValue == 1) + { + targetMat.EnableKeyword("OUTDIST_ON"); + materialEditor.ShaderProperty(properties[27], properties[27].displayName); + materialEditor.ShaderProperty(properties[28], properties[28].displayName); + materialEditor.ShaderProperty(properties[29], properties[29].displayName); + materialEditor.ShaderProperty(properties[30], properties[30].displayName); + } + else targetMat.DisableKeyword("OUTDIST_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("OUTBASE_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void GenericEffect(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag, int first, int last) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + if (first > 0) + { + EditorGUILayout.BeginVertical(style); + { + for (int i = first; i <= last; i++) materialEditor.ShaderProperty(properties[i], properties[i].displayName); + } + EditorGUILayout.EndVertical(); + } + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } + + private void Glow(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("1.Glow", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("GLOW_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[3], properties[3].displayName); + materialEditor.ShaderProperty(properties[4], properties[4].displayName); + materialEditor.ShaderProperty(properties[5], properties[5].displayName); + MaterialProperty useGlowTex = ShaderGUI.FindProperty("_GlowTexUsed", properties); + if (useGlowTex.floatValue == 1) + { + targetMat.EnableKeyword("GLOWTEX_ON"); + materialEditor.ShaderProperty(properties[6], properties[6].displayName); + } + else targetMat.DisableKeyword("GLOWTEX_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("GLOW_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void ColorRamp(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("8.Color Ramp", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("COLORRAMP_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[51], properties[51].displayName); + materialEditor.ShaderProperty(properties[52], properties[52].displayName); + materialEditor.ShaderProperty(properties[53], properties[53].displayName); + MaterialProperty colorRampOut = ShaderGUI.FindProperty("_ColorRampOutline", properties); + if (colorRampOut.floatValue == 1) targetMat.EnableKeyword("COLORRAMPOUTLINE_ON"); + else targetMat.DisableKeyword("COLORRAMPOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("COLORRAMP_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void GreyScale(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("12.Greyscale", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("GREYSCALE_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[54], properties[54].displayName); + materialEditor.ShaderProperty(properties[55], properties[55].displayName); + materialEditor.ShaderProperty(properties[56], properties[56].displayName); + MaterialProperty greyScaleOut = ShaderGUI.FindProperty("_GreyscaleOutline", properties); + if (greyScaleOut.floatValue == 1) targetMat.EnableKeyword("GREYSCALEOUTLINE_ON"); + else targetMat.DisableKeyword("GREYSCALEOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("GREYSCALE_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Posterize(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("13.Posterize", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("POSTERIZE_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[57], properties[57].displayName); + materialEditor.ShaderProperty(properties[58], properties[58].displayName); + materialEditor.ShaderProperty(properties[59], properties[59].displayName); + MaterialProperty posterizeOut = ShaderGUI.FindProperty("_PosterizeOutline", properties); + if (posterizeOut.floatValue == 1) targetMat.EnableKeyword("POSTERIZEOUTLINE_ON"); + else targetMat.DisableKeyword("POSTERIZEOUTLINE_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("POSTERIZE_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Blur(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("14.Blur", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("BLUR_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[60], properties[60].displayName); + materialEditor.ShaderProperty(properties[61], properties[61].displayName); + MaterialProperty blurIsHd = ShaderGUI.FindProperty("_BlurHD", properties); + if (blurIsHd.floatValue == 1) targetMat.EnableKeyword("BLURISHD_ON"); + else targetMat.DisableKeyword("BLURISHD_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("BLUR_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Grass(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup("26.Grass Movement / Wind", toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword("WIND_ON"); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[90], properties[90].displayName); + materialEditor.ShaderProperty(properties[91], properties[91].displayName); + materialEditor.ShaderProperty(properties[92], properties[92].displayName); + materialEditor.ShaderProperty(properties[93], properties[93].displayName); + MaterialProperty grassManual = ShaderGUI.FindProperty("_GrassManualToggle", properties); + if (grassManual.floatValue == 1) targetMat.EnableKeyword("MANUALWIND_ON"); + else targetMat.DisableKeyword("MANUALWIND_ON"); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword("WIND_ON"); + EditorGUILayout.EndToggleGroup(); + } + + private void Glitch(MaterialEditor materialEditor, MaterialProperty[] properties, GUIStyle style, bool toggle, string inspector, string flag) + { + bool ini = toggle; + toggle = EditorGUILayout.BeginToggleGroup(inspector, toggle); + if (ini != toggle && !Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + if (toggle) + { + targetMat.EnableKeyword(flag); + EditorGUILayout.BeginVertical(style); + { + materialEditor.ShaderProperty(properties[80], properties[80].displayName); + materialEditor.ShaderProperty(properties[135], properties[135].displayName); + } + EditorGUILayout.EndVertical(); + } + else targetMat.DisableKeyword(flag); + EditorGUILayout.EndToggleGroup(); + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShaderStencil.cs.meta b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShaderStencil.cs.meta new file mode 100644 index 0000000..20b4c40 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Editor/AllIn1SpriteShaderStencil.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: bcdb12210426bb34cb44a19ffb54132d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Materials.meta b/Assets/AllIn1SpriteShader/Materials.meta new file mode 100644 index 0000000..2637c87 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 345f2705e87e7424683ef2bd17d38c26 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Materials/EmptyMaterial.mat b/Assets/AllIn1SpriteShader/Materials/EmptyMaterial.mat new file mode 100644 index 0000000..6b63a79 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials/EmptyMaterial.mat @@ -0,0 +1,178 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EmptyMaterial + m_Shader: {fileID: 4800000, guid: a36b7719ff0465b42ab1407d67672c5f, type: 3} + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _ColorRampTex: + m_Texture: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ColorSwapTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadeBurnTex: + m_Texture: {fileID: 2800000, guid: 32e8df0008bebe746b1681a71c61f31c, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadeTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _GlowTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineDistortTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Alpha: 1 + - _AlphaCutoffValue: 0.25 + - _BlurHD: 0 + - _BlurIntensity: 10 + - _ChromAberrAlpha: 0.4 + - _ChromAberrAmount: 1 + - _ClipUvDown: 1 + - _ClipUvLeft: 1 + - _ClipUvRight: 1 + - _ClipUvUp: 1 + - _ColorChangeLuminosity: 0 + - _ColorChangeTolerance: 0.25 + - _ColorRampLuminosity: 0 + - _ColorRampOutline: 0 + - _ColorSwapBlueLuminosity: 0.5 + - _ColorSwapGreenLuminosity: 0.5 + - _ColorSwapRedLuminosity: 0.5 + - _DistortAmount: 0.5 + - _DistortTexXSpeed: 5 + - _DistortTexYSpeed: 5 + - _FadeAmount: -0.1 + - _FadeBurnGlow: 2 + - _FadeBurnTransition: 0.075 + - _FadeBurnWidth: 0.025 + - _FishEyeUvAmount: 0.35 + - _FlickerAlpha: 0 + - _FlickerFreq: 0.2 + - _FlickerPercent: 0.05 + - _GhostColorBoost: 1 + - _GhostTransparency: 0 + - _GlitchAmount: 3 + - _Glow: 0 + - _GlowTexUsed: 0 + - _GradBlend: 1 + - _GrassManualAnim: 1 + - _GrassManualToggle: 0 + - _GrassSpeed: 2 + - _GrassWind: 20 + - _GreyscaleLuminosity: 0 + - _GreyscaleOutline: 0 + - _HandDrawnAmount: 10 + - _HandDrawnSpeed: 5 + - _HitEffectBlend: 1 + - _HitEffectGlow: 5 + - _HologramFlickerAlpha: 0 + - _HologramFlickerFreq: 0.2 + - _HologramFlickerPercent: 0.05 + - _HologramStripesAlpha: 0.4 + - _HologramStripesAmount: 50 + - _HologramStripesFill: 0.4 + - _HologramStripesLuminosity: 1 + - _HologramStripesSpeed: 5 + - _HsvBright: 1 + - _HsvSaturation: 1 + - _HsvShift: 180 + - _InnerOutlineAlpha: 1 + - _InnerOutlineGlow: 1 + - _InnerOutlineThickness: 1 + - _MotionBlurAngle: 0.1 + - _MotionBlurDist: 1.25 + - _NegativeAmount: 1 + - _OffsetUvX: 0 + - _OffsetUvY: 0 + - _Outline8Directions: 0 + - _OutlineAlpha: 1 + - _OutlineDistortAmount: 0.5 + - _OutlineDistortTexXSpeed: 5 + - _OutlineDistortTexYSpeed: 5 + - _OutlineDistortToggle: 0 + - _OutlineGlow: 1.5 + - _OutlineIsPixel: 0 + - _OutlinePixelWidth: 1 + - _OutlineTexGrey: 0 + - _OutlineTexToggle: 0 + - _OutlineTexXSpeed: 10 + - _OutlineTexYSpeed: 0 + - _OutlineWidth: 0.004 + - _PinchUvAmount: 0.35 + - _PixelateSize: 32 + - _PosterizeGamma: 0.75 + - _PosterizeNumColors: 8 + - _PosterizeOutline: 0 + - _RectSize: 1 + - _RotateUvAmount: 0 + - _ShadowAlpha: 0.5 + - _ShadowX: 0.1 + - _ShadowY: -0.05 + - _ShakeUvSpeed: 2.5 + - _ShakeUvX: 1.5 + - _ShakeUvY: 1 + - _TextureScrollXSpeed: 1 + - _TextureScrollYSpeed: 0 + - _TwistUvAmount: 1 + - _TwistUvPosX: 0.5 + - _TwistUvPosY: 0.5 + - _TwistUvRadius: 0.75 + - _WaveAmount: 7 + - _WaveSpeed: 10 + - _WaveStrength: 7.5 + - _WaveX: 0 + - _WaveY: 0.5 + - _ZoomUvAmount: 0.5 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorChangeNewCol: {r: 1, g: 1, b: 0, a: 1} + - _ColorChangeTarget: {r: 1, g: 0, b: 0, a: 1} + - _ColorSwapBlue: {r: 1, g: 1, b: 1, a: 1} + - _ColorSwapGreen: {r: 1, g: 1, b: 1, a: 1} + - _ColorSwapRed: {r: 1, g: 1, b: 1, a: 1} + - _FadeBurnColor: {r: 1, g: 1, b: 0, a: 1} + - _GlowColor: {r: 1, g: 1, b: 1, a: 1} + - _GradBotLeftCol: {r: 0, g: 0, b: 1, a: 1} + - _GradBotRightCol: {r: 0, g: 0, b: 1, a: 1} + - _GradTopLeftCol: {r: 1, g: 0, b: 0, a: 1} + - _GradTopRightCol: {r: 1, g: 0, b: 0, a: 1} + - _GreyscaleTintColor: {r: 1, g: 1, b: 1, a: 1} + - _HitEffectColor: {r: 1, g: 1, b: 1, a: 1} + - _InnerOutlineColor: {r: 1, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/AllIn1SpriteShader/Materials/EmptyMaterial.mat.meta b/Assets/AllIn1SpriteShader/Materials/EmptyMaterial.mat.meta new file mode 100644 index 0000000..63929ce --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials/EmptyMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cc460e5b1c6c0bd498b44195a0c3da99 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Materials/UIStencil.mat b/Assets/AllIn1SpriteShader/Materials/UIStencil.mat new file mode 100644 index 0000000..bf67988 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials/UIStencil.mat @@ -0,0 +1,177 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UIStencil + m_Shader: {fileID: 4800000, guid: a53f4bb29f3644b43b5075c6dcfecb32, type: 3} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _ColorRampTex: + m_Texture: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ColorSwapTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadeBurnTex: + m_Texture: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadeTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _GlowTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineDistortTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Alpha: 1 + - _AlphaCutoffValue: 0.25 + - _BlurHD: 0 + - _BlurIntensity: 10 + - _ChromAberrAlpha: 0.4 + - _ChromAberrAmount: 1 + - _ClipUvDown: 0 + - _ClipUvLeft: 0 + - _ClipUvRight: 0 + - _ClipUvUp: 0 + - _ColorChangeLuminosity: 0 + - _ColorChangeTolerance: 0.25 + - _ColorRampLuminosity: 0 + - _ColorRampOutline: 0 + - _ColorSwapBlueLuminosity: 0.5 + - _ColorSwapGreenLuminosity: 0.5 + - _ColorSwapRedLuminosity: 0.5 + - _DistortAmount: 0.5 + - _DistortTexXSpeed: 5 + - _DistortTexYSpeed: 5 + - _FadeAmount: -0.1 + - _FadeBurnGlow: 2 + - _FadeBurnTransition: 0.075 + - _FadeBurnWidth: 0.025 + - _FishEyeUvAmount: 0.35 + - _FlickerAlpha: 0 + - _FlickerFreq: 0.2 + - _FlickerPercent: 0.05 + - _GhostColorBoost: 1 + - _GhostTransparency: 0 + - _GlitchAmount: 3 + - _Glow: 10 + - _GlowTexUsed: 0 + - _GradBlend: 1 + - _GrassManualAnim: 1 + - _GrassManualToggle: 0 + - _GrassSpeed: 2 + - _GrassWind: 20 + - _GreyscaleLuminosity: 0 + - _GreyscaleOutline: 0 + - _HandDrawnAmount: 10 + - _HandDrawnSpeed: 5 + - _HitEffectBlend: 1 + - _HitEffectGlow: 5 + - _HologramFlickerAlpha: 0 + - _HologramFlickerFreq: 0.2 + - _HologramStripesAlpha: 0.4 + - _HologramStripesAmount: 50 + - _HologramStripesFill: 0.4 + - _HologramStripesLuminosity: 1 + - _HologramStripesSpeed: 5 + - _HsvBright: 1 + - _HsvSaturation: 1 + - _HsvShift: 180 + - _InnerOutlineAlpha: 1 + - _InnerOutlineGlow: 1 + - _InnerOutlineThickness: 1 + - _MotionBlurAngle: 0.1 + - _MotionBlurDist: 1.25 + - _NegativeAmount: 1 + - _OffsetUvX: 0 + - _OffsetUvY: 0 + - _Outline8Directions: 0 + - _OutlineAlpha: 1 + - _OutlineDistortAmount: 0.5 + - _OutlineDistortTexXSpeed: 5 + - _OutlineDistortTexYSpeed: 5 + - _OutlineDistortToggle: 0 + - _OutlineGlow: 1.5 + - _OutlineIsPixel: 0 + - _OutlinePixelWidth: 1 + - _OutlineTexGrey: 0 + - _OutlineTexToggle: 0 + - _OutlineTexXSpeed: 10 + - _OutlineTexYSpeed: 0 + - _OutlineWidth: 0.004 + - _PinchUvAmount: 0.35 + - _PixelateSize: 32 + - _PosterizeGamma: 0.75 + - _PosterizeNumColors: 8 + - _PosterizeOutline: 0 + - _RectSize: 1 + - _RotateUvAmount: 0 + - _ShadowAlpha: 0.5 + - _ShadowX: 0.1 + - _ShadowY: -0.05 + - _ShakeUvSpeed: 2.5 + - _ShakeUvX: 1.5 + - _ShakeUvY: 1 + - _TextureScrollXSpeed: 1 + - _TextureScrollYSpeed: 0 + - _TwistUvAmount: 1 + - _TwistUvPosX: 0.5 + - _TwistUvPosY: 0.5 + - _TwistUvRadius: 0.75 + - _WaveAmount: 7 + - _WaveSpeed: 10 + - _WaveStrength: 7.5 + - _WaveX: 0 + - _WaveY: 0.5 + - _ZoomUvAmount: 0.5 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorChangeNewCol: {r: 1, g: 1, b: 0, a: 1} + - _ColorChangeTarget: {r: 1, g: 0, b: 0, a: 1} + - _ColorSwapBlue: {r: 1, g: 1, b: 1, a: 1} + - _ColorSwapGreen: {r: 1, g: 1, b: 1, a: 1} + - _ColorSwapRed: {r: 1, g: 1, b: 1, a: 1} + - _FadeBurnColor: {r: 1, g: 1, b: 0, a: 1} + - _GlowColor: {r: 1, g: 1, b: 1, a: 1} + - _GradBotLeftCol: {r: 0, g: 0, b: 1, a: 1} + - _GradBotRightCol: {r: 0, g: 0, b: 1, a: 1} + - _GradTopLeftCol: {r: 1, g: 0, b: 0, a: 1} + - _GradTopRightCol: {r: 1, g: 0, b: 0, a: 1} + - _GreyscaleTintColor: {r: 1, g: 1, b: 1, a: 1} + - _HitEffectColor: {r: 1, g: 1, b: 1, a: 1} + - _InnerOutlineColor: {r: 1, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Assets/AllIn1SpriteShader/Materials/UIStencil.mat.meta b/Assets/AllIn1SpriteShader/Materials/UIStencil.mat.meta new file mode 100644 index 0000000..2af535a --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials/UIStencil.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7ef34f26b8117334c8ecd9c27a45e2c6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Materials/UnscaledTIme.mat b/Assets/AllIn1SpriteShader/Materials/UnscaledTIme.mat new file mode 100644 index 0000000..a9691aa --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials/UnscaledTIme.mat @@ -0,0 +1,204 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UnscaledTIme + m_Shader: {fileID: 4800000, guid: f3622b3ac1631ea409b0f5811034f3a9, type: 3} + m_ShaderKeywords: ETC1_EXTERNAL_ALPHA + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _ColorRampTex: + m_Texture: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ColorSwapTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadeBurnTex: + m_Texture: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FadeTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _GlowTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineDistortTex: + m_Texture: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ShineMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _Alpha: 1 + - _AlphaCutoffValue: 0.25 + - _BillboardY: 0 + - _BlurHD: 0 + - _BlurIntensity: 10 + - _ChromAberrAlpha: 0.4 + - _ChromAberrAmount: 1 + - _ClipUvDown: 1 + - _ClipUvLeft: 1 + - _ClipUvRight: 1 + - _ClipUvUp: 1 + - _ColorChangeLuminosity: 0 + - _ColorChangeTolerance: 0.25 + - _ColorRampLuminosity: 0 + - _ColorRampOutline: 0 + - _ColorSwapBlueLuminosity: 0.5 + - _ColorSwapGreenLuminosity: 0.5 + - _ColorSwapRedLuminosity: 0.5 + - _DistortAmount: 0.5 + - _DistortTexXSpeed: 5 + - _DistortTexYSpeed: 5 + - _FadeAmount: -0.1 + - _FadeBurnGlow: 2 + - _FadeBurnTransition: 0.075 + - _FadeBurnWidth: 0.025 + - _FishEyeUvAmount: 0.35 + - _FlickerAlpha: 0 + - _FlickerFreq: 0.2 + - _FlickerPercent: 0.05 + - _GhostColorBoost: 1 + - _GhostTransparency: 0 + - _GlitchAmount: 3 + - _GlitchSize: 1 + - _Glow: 0 + - _GlowTexUsed: 0 + - _GradBlend: 1 + - _GrassManualAnim: 1 + - _GrassManualToggle: 0 + - _GrassSpeed: 2 + - _GrassWind: 20 + - _GreyscaleLuminosity: 0 + - _GreyscaleOutline: 0 + - _HandDrawnAmount: 10 + - _HandDrawnSpeed: 5 + - _HitEffectBlend: 1 + - _HitEffectGlow: 5 + - _HologramFlickerAlpha: 0 + - _HologramFlickerFreq: 0.2 + - _HologramFlickerPercent: 0.05 + - _HologramMaxAlpha: 1 + - _HologramMinAlpha: 0 + - _HologramStripesAlpha: 0.4 + - _HologramStripesAmount: 50 + - _HologramStripesFill: 0.4 + - _HologramStripesLuminosity: 1 + - _HologramStripesSpeed: 5 + - _HologramUnmodAmount: 0.4 + - _HsvBright: 1 + - _HsvSaturation: 1 + - _HsvShift: 180 + - _InnerOutlineAlpha: 1 + - _InnerOutlineGlow: 1 + - _InnerOutlineThickness: 1 + - _MaxXUV: 1 + - _MaxYUV: 1 + - _MinXUV: 0 + - _MinYUV: 0 + - _MotionBlurAngle: 0.1 + - _MotionBlurDist: 1.25 + - _MyDstMode: 10 + - _MySrcMode: 5 + - _NegativeAmount: 1 + - _OffsetUvX: 0 + - _OffsetUvY: 0 + - _OnlyInnerOutline: 0 + - _OnlyOutline: 0 + - _Outline8Directions: 0 + - _OutlineAlpha: 1 + - _OutlineDistortAmount: 0.5 + - _OutlineDistortTexXSpeed: 5 + - _OutlineDistortTexYSpeed: 5 + - _OutlineDistortToggle: 0 + - _OutlineGlow: 1.5 + - _OutlineIsPixel: 0 + - _OutlinePixelWidth: 1 + - _OutlineTexGrey: 0 + - _OutlineTexToggle: 0 + - _OutlineTexXSpeed: 10 + - _OutlineTexYSpeed: 0 + - _OutlineWidth: 0.004 + - _PinchUvAmount: 0.35 + - _PixelateSize: 32 + - _PosterizeGamma: 0.75 + - _PosterizeNumColors: 8 + - _PosterizeOutline: 0 + - _RandomSeed: 0 + - _RectSize: 1 + - _RotateUvAmount: 0 + - _RoundWaveSpeed: 2 + - _RoundWaveStrength: 0.7 + - _ShadowAlpha: 0.5 + - _ShadowX: 0.1 + - _ShadowY: -0.05 + - _ShakeUvSpeed: 2.5 + - _ShakeUvX: 1.5 + - _ShakeUvY: 1 + - _ShineGlow: 1 + - _ShineLocation: 0.5 + - _ShineWidth: 0.1 + - _TextureScrollXSpeed: 1 + - _TextureScrollYSpeed: 0 + - _TwistUvAmount: 1 + - _TwistUvPosX: 0.5 + - _TwistUvPosY: 0.5 + - _TwistUvRadius: 0.75 + - _WaveAmount: 7 + - _WaveSpeed: 10 + - _WaveStrength: 7.5 + - _WaveX: 0 + - _WaveY: 0.5 + - _ZTestMode: 4 + - _ZWrite: 0 + - _ZoomUvAmount: 0.5 + m_Colors: + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _ColorChangeNewCol: {r: 1, g: 1, b: 0, a: 1} + - _ColorChangeTarget: {r: 1, g: 0, b: 0, a: 1} + - _ColorSwapBlue: {r: 1, g: 1, b: 1, a: 1} + - _ColorSwapGreen: {r: 1, g: 1, b: 1, a: 1} + - _ColorSwapRed: {r: 1, g: 1, b: 1, a: 1} + - _FadeBurnColor: {r: 1, g: 1, b: 0, a: 1} + - _GlowColor: {r: 1, g: 1, b: 1, a: 1} + - _GradBotLeftCol: {r: 0, g: 0, b: 1, a: 1} + - _GradBotRightCol: {r: 0, g: 0, b: 1, a: 1} + - _GradTopLeftCol: {r: 1, g: 0, b: 0, a: 1} + - _GradTopRightCol: {r: 1, g: 0, b: 0, a: 1} + - _GreyscaleTintColor: {r: 1, g: 1, b: 1, a: 1} + - _HitEffectColor: {r: 1, g: 1, b: 1, a: 1} + - _InnerOutlineColor: {r: 1, g: 0, b: 0, a: 1} + - _OutlineColor: {r: 1, g: 1, b: 1, a: 1} + - _ShadowColor: {r: 0, g: 0, b: 0, a: 1} + - _ShineColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Assets/AllIn1SpriteShader/Materials/UnscaledTIme.mat.meta b/Assets/AllIn1SpriteShader/Materials/UnscaledTIme.mat.meta new file mode 100644 index 0000000..0c60821 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Materials/UnscaledTIme.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3241ea466d4f8334898daf420de4026b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Resources.meta b/Assets/AllIn1SpriteShader/Resources.meta new file mode 100644 index 0000000..b0cd788 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e1c9c4c494c23041897e13ab5bacecb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1OneShaderFunctions.cginc b/Assets/AllIn1SpriteShader/Resources/AllIn1OneShaderFunctions.cginc new file mode 100644 index 0000000..057a9df --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1OneShaderFunctions.cginc @@ -0,0 +1,65 @@ +//BLURS------------------------------------------------------------------------- +half4 Blur(half2 uv, sampler2D source, half Intensity) +{ + half step = 0.00390625f * Intensity; + half4 result = half4 (0, 0, 0, 0); + half2 texCoord = half2(0, 0); + texCoord = uv + half2(-step, -step); + result += tex2D(source, texCoord); + texCoord = uv + half2(-step, 0); + result += 2.0 * tex2D(source, texCoord); + texCoord = uv + half2(-step, step); + result += tex2D(source, texCoord); + texCoord = uv + half2(0, -step); + result += 2.0 * tex2D(source, texCoord); + texCoord = uv; + result += 4.0 * tex2D(source, texCoord); + texCoord = uv + half2(0, step); + result += 2.0 * tex2D(source, texCoord); + texCoord = uv + half2(step, -step); + result += tex2D(source, texCoord); + texCoord = uv + half2(step, 0); + result += 2.0* tex2D(source, texCoord); + texCoord = uv + half2(step, -step); + result += tex2D(source, texCoord); + result = result * 0.0625; + return result; +} +half BlurHD_G(half bhqp, half x) +{ + return exp(-(x * x) / (2.0 * bhqp * bhqp)); +} +half4 BlurHD(half2 uv, sampler2D source, half Intensity) +{ + int iterations = 16; + int halfIterations = iterations / 2; + half sigmaX = 0.1 + Intensity * 0.5; + half sigmaY = sigmaX; + half total = 0.0; + half4 ret = half4(0, 0, 0, 0); + for (int iy = 0; iy < iterations; ++iy) + { + half fy = BlurHD_G(sigmaY, half(iy) -half(halfIterations)); + half offsety = half(iy - halfIterations) * 0.00390625; + for (int ix = 0; ix < iterations; ++ix) + { + half fx = BlurHD_G(sigmaX, half(ix) - half(halfIterations)); + half offsetx = half(ix - halfIterations) * 0.00390625; + total += fx * fy; + ret += tex2D(source, uv + half2(offsetx, offsety)) * fx * fy; + } + } + return ret / total; +} +//----------------------------------------------------------------------- +half rand(half2 seed, half offset) { + return (frac(sin(dot(seed, half2(12.9898, 78.233))) * 43758.5453) + offset) % 1.0; +} + +half rand2(half2 seed, half offset) { + return (frac(sin(dot(seed * floor(50 + (_Time % 1.0) * 12.), half2(127.1, 311.7))) * 43758.5453123) + offset) % 1.0; +} +//----------------------------------------------------------------------- +half RemapFloat(half inValue, half inMin, half inMax, half outMin, half outMax){ + return outMin + (inValue - inMin) * (outMax - outMin) / (inMax - inMin); +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1OneShaderFunctions.cginc.meta b/Assets/AllIn1SpriteShader/Resources/AllIn1OneShaderFunctions.cginc.meta new file mode 100644 index 0000000..0eb9df2 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1OneShaderFunctions.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: df06cdcb3555be745b54ff3003fa687e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShader.shader b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShader.shader new file mode 100644 index 0000000..c1d6df3 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShader.shader @@ -0,0 +1,986 @@ +Shader "AllIn1SpriteShader/AllIn1SpriteShader" +{ + Properties + { + [Header(_General Properties_)] + _MainTex ("Main Texture", 2D) = "white" {} //0 + _Color("Main Color", Color) = (1,1,1,1) //1 + _Alpha("General Alpha", Range(0,1)) = 1 //2 + + _GlowColor("Glow Color", Color) = (1,1,1,1) //3 + _Glow("Glow Intensity", Range(0,100)) = 10 //4 + [Space] + [Space] + [Toggle()] _GlowTexUsed("Glow Texture used?", float) = 0 //5 + [Header(Texture does not support Tiling)] + _GlowTex("Glow Texture", 2D) = "white" {} //6 + + _FadeTex("Fade Texture", 2D) = "white" {} //7 + _FadeAmount("Fade Amount", Range(-0.1,1)) = -0.1 //8 + _FadeBurnWidth("Fade Burn Width", Range(0,1)) = 0.025 //9 + _FadeBurnTransition("Fade Burn Smooth Transition", Range(0.01,0.5)) = 0.075 //10 + _FadeBurnColor("Fade Burn Color", Color) = (1,1,0,1) //11 + _FadeBurnTex("Fade Burn Texture", 2D) = "white" {} //12 + _FadeBurnGlow("Fade Burn Glow", Range(1,50)) = 2//13 + + [Header(_Outline Basic Properties_)] + _OutlineColor("Outline Base Color", Color) = (1,1,1,1) //14 + _OutlineAlpha("Outline Base Alpha", Range(0,1)) = 1 //15 + _OutlineGlow("Outline Base Glow", Range(1,100)) = 1.5 //16 + [Toggle()] _Outline8Directions("Outline Base High Resolution?", float) = 0 //17 + _OutlineWidth("Outline Base Width", Range(0,0.2)) = 0.004 //18 + [Header(_Outline Width_)] + [Toggle()] _OutlineIsPixel("Outline Base is Pixel Perfect?", float) = 0 //19 + _OutlinePixelWidth("Outline Base Pixel Width", Int) = 1 //20 + + [Space] + [Header(_Outline Texture_)] + [Toggle()] _OutlineTexToggle("Outline uses texture?", float) = 0 //21 + _OutlineTex("Outline Texture", 2D) = "white" {} //22 + _OutlineTexXSpeed("Outline Texture scroll speed X axis", Range(-50,50)) = 10 //23 + _OutlineTexYSpeed("Outline Texture scroll speed Y axis", Range(-50,50)) = 0 //24 + [Toggle()] _OutlineTexGrey("Outline Texture is Greyscaled?", float) = 0 //25 + + [Space] + [Header(_Outline Distortion_)] + [Toggle()] _OutlineDistortToggle("Outline uses distortion?", float) = 0 //26 + _OutlineDistortTex("Outline Distortion Texture", 2D) = "white" {} //27 + _OutlineDistortAmount("Outline Distortion Amount", Range(0,2)) = 0.5 //28 + _OutlineDistortTexXSpeed("Outline Distortion scroll speed X axis", Range(-50,50)) = 5 //29 + _OutlineDistortTexYSpeed("Outline Distortion scroll speed Y axis", Range(-50,50)) = 5 //30 + + _GradBlend("Gradient Blend", Range(0,1)) = 1 //31 + _GradTopLeftCol("Gradient Top Left Color", Color) = (1,0,0,1) //32 + _GradTopRightCol("Gradient Top Right Color", Color) = (1,0,0,1) //33 + _GradBotLeftCol("Gradient Bot Left Color", Color) = (0,0,1,1) //34 + _GradBotRightCol("Gradient Bot Right Color", Color) = (0,0,1,1) //35 + + _ColorSwapTex("Color Swap Texture", 2D) = "black" {} //36 + [Header(You will need a mask texture (see Documentation))] + _ColorSwapRed("Color Swap Red Channel", Color) = (1,1,1,1) //37 + _ColorSwapRedLuminosity("Color Swap Red luminosity", Range(-1,1)) = 0.5 //38 + _ColorSwapGreen("Color Swap Green Channel", Color) = (1,1,1,1) //39 + _ColorSwapGreenLuminosity("Color Swap Green luminosity", Range(-1,1)) = 0.5 //40 + _ColorSwapBlue("Color Swap Blue Channel", Color) = (1,1,1,1) //41 + _ColorSwapBlueLuminosity("Color Swap Blue luminosity", Range(-1,1)) = 0.5 //42 + + _HsvShift("Hue Shift", Range(0, 360)) = 180 //43 + _HsvSaturation("Hue Shift Saturation", Range(0, 2)) = 1 //44 + _HsvBright("Hue Shift Bright", Range(0, 2)) = 1 //45 + + _HitEffectColor("Hit Effect Color", Color) = (1,1,1,1) //46 + _HitEffectGlow("Hit Effect Glow Intensity", Range(1,100)) = 5 //47 + [Space] + [Header(_Tip_ Animate the following property)] + _HitEffectBlend("Hit Effect Blend", Range(0,1)) = 1 //48 + + _NegativeAmount("Negative Amount", Range(0, 1)) = 1 //49 + + [Header(Looks bad with distorition effects)] + _PixelateSize("Pixelate size", Range(4,512)) = 32 //50 + + [Header(Texture does not support Tiling)] + _ColorRampTex("Color ramp Texture", 2D) = "white" {} //51 + _ColorRampLuminosity("Color ramp luminosity", Range(-1,1)) = 0 //52 + [Toggle()] _ColorRampOutline("Color ramp affects outline?", float) = 0 //53 + + _GreyscaleLuminosity("Greyscale luminosity", Range(-1,1)) = 0 //54 + [Toggle()] _GreyscaleOutline("Greyscale affects outline?", float) = 0 //55 + _GreyscaleTintColor("Greyscale Tint Color", Color) = (1,1,1,1) //56 + + _PosterizeNumColors("Posterize Number of Colors", Range(0,100)) = 8 //57 + _PosterizeGamma("Posterize Amount", Range(0.1,10)) = 0.75 //58 + [Toggle()] _PosterizeOutline("Posterize affects outline and glow?", float) = 0 //59 + + [Header(This effect will not affect the outline)] + _BlurIntensity("Blur Intensity", Range(0,100)) = 10 //60 + [Toggle()] _BlurHD("Blur is Low Res?", float) = 0 //61 + + _MotionBlurAngle("Motion Blur Angle", Range(-1, 1)) = 0.1 //62 + _MotionBlurDist("Motion Blur Distance", Range(-3, 3)) = 1.25 //63 + + [Header(This effect will not affect the outline)] + _GhostColorBoost("Ghost Color Boost", Range(0,5)) = 1 //64 + [Header(Choose the ghost color with the Main Color Property)] + _GhostTransparency("Ghost Transparency", Range(0,1)) = 0 //65 + + [Header(This effect will place the inner outlines over the original sprite)] + _InnerOutlineColor("Inner Outline Color", Color) = (1,0,0,1) //66 + _InnerOutlineThickness("Inner Outline Thickness", Range(0,3)) = 1 //67 + _InnerOutlineAlpha("Inner Outline Alpha", Range(0,1)) = 1 //68 + _InnerOutlineGlow("Inner Outline Glow", Range(1,250)) = 1 //69 + + _AlphaCutoffValue("Alpha cutoff value", Range(0, 1)) = 0.25 //70 + + [Toggle()] _OnlyOutline("Only render outline?", float) = 0 //71 + [Toggle()] _OnlyInnerOutline("Only render innerr outline?", float) = 0 //72 + + _HologramStripesAmount("Hologram Stripes Amount", Range(0, 1)) = 0.2 //73 + _HologramUnmodAmount("Hologram Unchanged Amount", Range(0, 1)) = 0.4 //74 + _HologramStripesSpeed("Hologram Stripes Speed", Range(0, 20)) = 5 //75 + _HologramMinAlpha("Hologram Min Alpha", Range(0, 1)) = 0.0 //76 + _HologramMaxAlpha("Hologram Max Alpha", Range(0, 10)) = 1.0 //77 + + _ChromAberrAmount("ChromAberr Amount", Range(0, 1)) = 1 //78 + _ChromAberrAlpha("ChromAberr Alpha", Range(0, 1)) = 0.4 //79 + + _GlitchAmount("Glitch Amount", Range(0, 20)) = 3 //80 + + _FlickerPercent("Flicker Percent", Range(0, 1)) = 0.05 //81 + _FlickerFreq("Flicker Frequency", Range(0, 5)) = 0.2 //82 + _FlickerAlpha("Flicker Alpha", Range(0, 1)) = 0 //83 + + _ShadowX("Shadow X Axis", Range(-0.5, 0.5)) = 0.1 //84 + _ShadowY("Shadow Y Axis", Range(-0.5, 0.5)) = -0.05 //85 + _ShadowAlpha("Shadow Alpha", Range(0, 1)) = 0.5 //86 + _ShadowColor("Shadow Color", Color) = (0, 0, 0, 1) //87 + + _HandDrawnAmount("Hand Drawn Amount", Range(2, 20)) = 10 //88 + _HandDrawnSpeed("Hand Drawn Speed", Range(1, 15)) = 5 //89 + + _GrassSpeed("Grass Speed", Range(0,50)) = 2 //90 + _GrassWind("Grass Wind (bend amount)", Range(0,50)) = 20 //91 + [Space] + [Toggle()] _GrassManualToggle("Grass is manually animated?", float) = 0 //92 + _GrassManualAnim("Grass Manual Anim", Range(-1,1)) = 1 //93 + + _WaveAmount("Wave Amount", Range(0, 25)) = 7 //94 + _WaveSpeed("Wave Speed", Range(0, 25)) = 10 //95 + _WaveStrength("Wave Strength", Range(0, 25)) = 7.5 //96 + _WaveX("Wave X Axis", Range(0, 1)) = 0 //97 + _WaveY("Wave Y Axis", Range(0, 1)) = 0.5 //98 + + [Header(Only on single sprites, spritesheets NOT supported)] + _RectSize("Rect Size", Range(1, 4)) = 1 //99 + + _OffsetUvX("Offset X axis", Range(-1, 1)) = 0 //100 + _OffsetUvY("Offset Y axis", Range(-1, 1)) = 0 //101 + + _ClipUvLeft("Clipping Left", Range(0, 1)) = 0 //102 + _ClipUvRight("Clipping Right", Range(0, 1)) = 0 //103 + _ClipUvUp("Clipping Up", Range(0, 1)) = 0 //104 + _ClipUvDown("Clipping Down", Range(0, 1)) = 0 //105 + + [Header(Set Texture Wrap Mode to Repeat)] + _TextureScrollXSpeed("Texture Scroll Speed X Axis", Range(-5, 5)) = 1 //106 + _TextureScrollYSpeed("Texture Scroll Speed Y Axis", Range(-5, 5)) = 0 //107 + + _ZoomUvAmount("Zoom Amount", Range(0.1, 5)) = 0.5 //108 + + _DistortTex("Distortion Texture", 2D) = "white" {} //109 + _DistortAmount("Distortion Amount", Range(0,2)) = 0.5 //110 + _DistortTexXSpeed("Distortion scroll speed X axis", Range(-50,50)) = 5 //111 + _DistortTexYSpeed("Distortion scroll speed Y axis", Range(-50,50)) = 5 //112 + + _TwistUvAmount("Twist Amount", Range(0, 3.1416)) = 1 //113 + _TwistUvPosX("Twist Pos X Axis", Range(0, 1)) = 0.5 //114 + _TwistUvPosY("Twist Pos Y Axis", Range(0, 1)) = 0.5 //115 + _TwistUvRadius("Twist Radius", Range(0, 3)) = 0.75 //116 + + [Header(_Tip_ Use Clipping effect to avoid possible undesired parts)] + _RotateUvAmount("Rotate Angle (in radians)", Range(0, 6.2831)) = 0 //117 + + _FishEyeUvAmount("Fish Eye Amount", Range(0, 0.5)) = 0.35 //118 + + _PinchUvAmount("Pinch Amount", Range(0, 0.5)) = 0.35 //119 + + _ShakeUvSpeed("Shake Speed", Range(0, 20)) = 2.5 //120 + _ShakeUvX("Shake X Multiplier", Range(0, 5)) = 1.5 //121 + _ShakeUvY("Shake Y Multiplier", Range(0, 5)) = 1 //122 + + _ColorChangeTolerance("Tolerance", Range(0, 1)) = 0.25 //123 + _ColorChangeTarget("Color to change", Color) = (1, 0, 0, 1) //124 + _ColorChangeNewCol("New Color", Color) = (1, 1, 0, 1) //125 + _ColorChangeLuminosity("New Color Luminosity", Range(0, 1)) = 0.0 //126 + + _RoundWaveStrength("Round Wave Strength", Range(0, 1)) = 0.7 //127 + _RoundWaveSpeed("Round Wave Speed", Range(0, 5)) = 2 //128 + + [Toggle()] _BillboardY("Billboard on both axis?", float) = 0 //129 + _ZWrite ("Depth Write", Float) = 0.0 // 130 + + _MySrcMode ("SrcMode", Float) = 5 // 131 + _MyDstMode ("DstMode", Float) = 10 // 132 + + _ShineColor("Shine Color", Color) = (1,1,1,1) // 133 + _ShineLocation("Shine Location", Range(0,1)) = 0.5 // 134 + _ShineWidth("Shine Width", Range(0.05,1)) = 0.1 // 135 + _ShineGlow("Shine Glow", Range(0,100)) = 1 // 136 + _ShineMask("Shine Mask", 2D) = "white" {} // 137 + + _GlitchSize("Glitch Size", Range(0.25, 5)) = 1 //138 + + _ZTestMode ("Z Test Mode", Float) = 4 // 139 + + [HideInInspector] _MinXUV("_MinXUV", Range(0, 1)) = 0.0 + [HideInInspector] _MaxXUV("_MaxXUV", Range(0, 1)) = 1.0 + [HideInInspector] _MinYUV("_MinYUV", Range(0, 1)) = 0.0 + [HideInInspector] _MaxYUV("_MaxYUV", Range(0, 1)) = 1.0 + [HideInInspector] _RandomSeed("_MaxYUV", Range(0, 10000)) = 0.0 + } + + SubShader + { + Tags { "Queue" = "Transparent" "CanUseSpriteAtlas" = "True" "IgnoreProjector" = "True" "RenderType" = "Transparent" "PreviewType" = "Plane" } + Blend [_MySrcMode] [_MyDstMode] + Cull Off + ZWrite [_ZWrite] + ZTest [_ZTestMode] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma shader_feature GLOW_ON + #pragma shader_feature FADE_ON + #pragma shader_feature OUTBASE_ON + #pragma shader_feature ONLYOUTLINE_ON + #pragma shader_feature GRADIENT_ON + #pragma shader_feature COLORSWAP_ON + #pragma shader_feature HSV_ON + #pragma shader_feature CHANGECOLOR_ON + #pragma shader_feature COLORRAMP_ON + #pragma shader_feature HITEFFECT_ON + #pragma shader_feature NEGATIVE_ON + #pragma shader_feature PIXELATE_ON + #pragma shader_feature GREYSCALE_ON + #pragma shader_feature POSTERIZE_ON + #pragma shader_feature BLUR_ON + #pragma shader_feature MOTIONBLUR_ON + #pragma shader_feature GHOST_ON + #pragma shader_feature INNEROUTLINE_ON + #pragma shader_feature ONLYINNEROUTLINE_ON + #pragma shader_feature HOLOGRAM_ON + #pragma shader_feature CHROMABERR_ON + #pragma shader_feature GLITCH_ON + #pragma shader_feature FLICKER_ON + #pragma shader_feature SHADOW_ON + #pragma shader_feature SHINE_ON + #pragma shader_feature ALPHACUTOFF_ON + #pragma shader_feature DOODLE_ON + #pragma shader_feature WIND_ON + #pragma shader_feature WAVEUV_ON + #pragma shader_feature ROUNDWAVEUV_ON + #pragma shader_feature RECTSIZE_ON + #pragma shader_feature OFFSETUV_ON + #pragma shader_feature CLIPPING_ON + #pragma shader_feature TEXTURESCROLL_ON + #pragma shader_feature ZOOMUV_ON + #pragma shader_feature DISTORT_ON + #pragma shader_feature TWISTUV_ON + #pragma shader_feature ROTATEUV_ON + #pragma shader_feature POLARUV_ON + #pragma shader_feature FISHEYE_ON + #pragma shader_feature PINCH_ON + #pragma shader_feature SHAKEUV_ON + + #pragma shader_feature GLOWTEX_ON + #pragma shader_feature OUTTEX_ON + #pragma shader_feature OUTDIST_ON + #pragma shader_feature OUTBASE8DIR_ON + #pragma shader_feature OUTBASEPIXELPERF_ON + #pragma shader_feature OUTGREYTEXTURE_ON + #pragma shader_feature COLORRAMPOUTLINE_ON + #pragma shader_feature GREYSCALEOUTLINE_ON + #pragma shader_feature POSTERIZEOUTLINE_ON + #pragma shader_feature BLURISHD_ON + #pragma shader_feature MANUALWIND_ON + #pragma shader_feature ATLAS_ON + #pragma shader_feature BILBOARD_ON + #pragma shader_feature BILBOARDY_ON + #pragma shader_feature CUSTOMBLENDING_ON + #pragma shader_feature CUSTOMZTEST_ON + + #include "UnityCG.cginc" + #include "AllIn1OneShaderFunctions.cginc" + + struct appdata + { + half4 vertex : POSITION; + half2 uv : TEXCOORD0; + half4 color : COLOR; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + half4 vertex : SV_POSITION; + half4 color : COLOR; + #if OUTTEX_ON + half2 uvOutTex : TEXCOORD1; + #endif + #if OUTDIST_ON + half2 uvOutDistTex : TEXCOORD2; + #endif + #if DISTORT_ON + half2 uvDistTex : TEXCOORD3; + #endif + #if FADE_ON + half2 uvFadeTex1 : TEXCOORD4; + half2 uvFadeTex2 : TEXCOORD5; + #endif + }; + + sampler2D _MainTex; + half4 _MainTex_ST, _MainTex_TexelSize, _Color; + half _Alpha, _RandomSeed; + + #if ATLAS_ON + half _MinXUV, _MaxXUV, _MinYUV, _MaxYUV; + #endif + + #if RECTSIZE_ON + half _RectSize; + #endif + + #if OFFSETUV_ON + half _OffsetUvX, _OffsetUvY; + #endif + + #if CLIPPING_ON + half _ClipUvLeft, _ClipUvRight, _ClipUvUp, _ClipUvDown; + #endif + + #if TWISTUV_ON + half _TwistUvAmount, _TwistUvPosX, _TwistUvPosY, _TwistUvRadius; + #endif + + #if ROTATEUV_ON + half _RotateUvAmount; + #endif + + #if FISHEYE_ON + half _FishEyeUvAmount; + #endif + + #if PINCH_ON + half _PinchUvAmount; + #endif + + #if DOODLE_ON + half _HandDrawnAmount, _HandDrawnSpeed; + #endif + + #if SHAKEUV_ON + half _ShakeUvSpeed, _ShakeUvX, _ShakeUvY; + #endif + + #if WAVEUV_ON + half _WaveAmount, _WaveSpeed, _WaveStrength, _WaveX, _WaveY; + #endif + + #if ROUNDWAVEUV_ON + half _RoundWaveStrength, _RoundWaveSpeed; + #endif + + #if ZOOMUV_ON + half _ZoomUvAmount; + #endif + + #if FADE_ON + sampler2D _FadeTex, _FadeBurnTex; + half4 _FadeBurnColor, _FadeTex_ST, _FadeBurnTex_ST; + half _FadeAmount, _FadeBurnWidth, _FadeBurnTransition,_FadeBurnGlow; + #endif + + #if TEXTURESCROLL_ON + half _TextureScrollXSpeed, _TextureScrollYSpeed; + #endif + + #if GLOW_ON + sampler2D _GlowTex; + half4 _GlowColor; + half _Glow; + #endif + + #if OUTBASE_ON + half4 _OutlineColor; + half _OutlineAlpha, _OutlineGlow, _OutlineWidth; + int _OutlinePixelWidth; + #endif + + #if OUTTEX_ON + sampler2D _OutlineTex; + half4 _OutlineTex_ST; + half _OutlineTexXSpeed, _OutlineTexYSpeed; + #endif + + #if OUTDIST_ON + sampler2D _OutlineDistortTex; + half4 _OutlineDistortTex_ST; + half _OutlineDistortTexXSpeed, _OutlineDistortTexYSpeed, _OutlineDistortAmount; + #endif + + #if DISTORT_ON + sampler2D _DistortTex; + half4 _DistortTex_ST; + half _DistortTexXSpeed, _DistortTexYSpeed, _DistortAmount; + #endif + + #if WIND_ON + half _GrassSpeed, _GrassWind, _GrassManualAnim; + #endif + + #if GRADIENT_ON + half _GradBlend; + half4 _GradTopRightCol, _GradTopLeftCol, _GradBotRightCol, _GradBotLeftCol; + #endif + + #if COLORSWAP_ON + sampler2D _ColorSwapTex; + half4 _ColorSwapRed, _ColorSwapGreen, _ColorSwapBlue; + half _ColorSwapRedLuminosity, _ColorSwapGreenLuminosity, _ColorSwapBlueLuminosity; + #endif + + #if HSV_ON + half _HsvShift, _HsvSaturation, _HsvBright; + #endif + + #if HITEFFECT_ON + half4 _HitEffectColor; + half _HitEffectGlow, _HitEffectBlend; + #endif + + #if PIXELATE_ON + half _PixelateSize; + #endif + + #if NEGATIVE_ON + half _NegativeAmount; + #endif + + #if COLORRAMP_ON + sampler2D _ColorRampTex; + half _ColorRampLuminosity; + #endif + + #if GREYSCALE_ON + half _GreyscaleLuminosity; + half4 _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON + half _PosterizeNumColors, _PosterizeGamma; + #endif + + #if BLUR_ON + half _BlurIntensity; + #endif + + #if MOTIONBLUR_ON + half _MotionBlurAngle, _MotionBlurDist; + #endif + + #if GHOST_ON + half _GhostColorBoost, _GhostTransparency; + #endif + + #if INNEROUTLINE_ON + half _InnerOutlineThickness, _InnerOutlineAlpha, _InnerOutlineGlow; + half4 _InnerOutlineColor; + #endif + + #if HOLOGRAM_ON + half _HologramStripesAmount, _HologramMinAlpha, _HologramUnmodAmount, _HologramStripesSpeed, _HologramMaxAlpha; + #endif + + #if CHROMABERR_ON + half _ChromAberrAmount, _ChromAberrAlpha; + #endif + + #if GLITCH_ON + half _GlitchAmount, _GlitchSize; + #endif + + #if FLICKER_ON + half _FlickerFreq, _FlickerPercent, _FlickerAlpha; + #endif + + #if SHADOW_ON + half _ShadowX, _ShadowY, _ShadowAlpha; + half4 _ShadowColor; + #endif + + #if SHINE_ON + sampler2D _ShineMask; + half4 _ShineColor; + half _ShineLocation, _ShineWidth, _ShineGlow; + #endif + + #if ALPHACUTOFF_ON + half _AlphaCutoffValue; + #endif + + #if CHANGECOLOR_ON + half4 _ColorChangeNewCol, _ColorChangeTarget; + half _ColorChangeTolerance, _ColorChangeLuminosity; + #endif + + v2f vert (appdata v) + { + #if RECTSIZE_ON + v.vertex.xyz += (v.vertex.xyz * (_RectSize - 1.0)); + #endif + + v2f o; + #if BILBOARD_ON + half3 camRight = mul((half3x3)unity_CameraToWorld, half3(1,0,0)); + half3 camUp = half3(0,1,0); + #if BILBOARDY_ON + camUp = mul((half3x3)unity_CameraToWorld, half3(0,1,0)); + #endif + half3 localPos = v.vertex.x * camRight + v.vertex.y * camUp; + o.vertex = UnityObjectToClipPos(half4(localPos, 1)); + #else + o.vertex = UnityObjectToClipPos(v.vertex); + #endif + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + o.color = v.color; + + #if POLARUV_ON + o.uv = v.uv - 0.5f; + #endif + + #if ROTATEUV_ON + half2 uvC = v.uv; + half cosAngle = cos(_RotateUvAmount); + half sinAngle = sin(_RotateUvAmount); + float2x2 rot = float2x2(cosAngle, -sinAngle, sinAngle, cosAngle); + uvC -= half2(0.5, 0.5); + o.uv = mul(rot, uvC); + o.uv += half2(0.5, 0.5); + #endif + + #if OUTTEX_ON + o.uvOutTex = TRANSFORM_TEX(v.uv, _OutlineTex); + #endif + + #if OUTDIST_ON + o.uvOutDistTex = TRANSFORM_TEX(v.uv, _OutlineDistortTex); + #endif + + #if DISTORT_ON + o.uvDistTex = TRANSFORM_TEX(v.uv, _DistortTex); + #endif + + #if FADE_ON + o.uvFadeTex1 = TRANSFORM_TEX(v.uv, _FadeTex); + o.uvFadeTex2 = TRANSFORM_TEX(v.uv, _FadeBurnTex); + #endif + + return o; + } + + half3 GetPixel(in int offsetX, in int offsetY, half2 uv, sampler2D tex) + { + return tex2D(tex, (uv + half2(offsetX * _MainTex_TexelSize.x, offsetY * _MainTex_TexelSize.y))).rgb; + } + + half4 frag (v2f i) : SV_Target + { + half2 uvRect = i.uv; + + #if ATLAS_ON + uvRect = half2((i.uv.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uv.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + + #if CLIPPING_ON + half2 tiledUv = half2(i.uv.x / _MainTex_ST.x, i.uv.y / _MainTex_ST.y); + #if ATLAS_ON + tiledUv = half2((tiledUv.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUv.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + clip((1 - _ClipUvUp) - tiledUv.y); + clip(tiledUv.y - _ClipUvDown); + clip((1 - _ClipUvRight) - tiledUv.x); + clip(tiledUv.x - _ClipUvLeft); + #endif + + #if OFFSETUV_ON + i.uv += half2(_OffsetUvX, _OffsetUvY); + #endif + + #if POLARUV_ON + i.uv = half2(atan2(i.uv.y, i.uv.x) / (2.0f * 3.141592653589f), length(i.uv)); + i.uv *= _MainTex_ST.xy; + #endif + + #if TWISTUV_ON + half2 tempUv = i.uv - half2(_TwistUvPosX * _MainTex_ST.x, _TwistUvPosY * _MainTex_ST.y); + _TwistUvRadius *= (_MainTex_ST.x + _MainTex_ST.y) / 2; + half percent = (_TwistUvRadius - length(tempUv)) / _TwistUvRadius; + half theta = percent * percent * (2.0 * sin(_TwistUvAmount)) * 8.0; + half s = sin(theta); + half c = cos(theta); + half beta = max(sign(_TwistUvRadius - length(tempUv)), 0.0); + tempUv = half2(dot(tempUv, half2(c, -s)), dot(tempUv, half2(s, c))) * beta + tempUv * (1 - beta); + tempUv += half2(_TwistUvPosX * _MainTex_ST.x, _TwistUvPosY * _MainTex_ST.y); + i.uv = tempUv; + #endif + + #if FISHEYE_ON + half2 midF = 0.5 * _MainTex_ST.xy; + half bind = length(midF); + half2 dF = i.uv - midF; + half dFlen = length(dF); + half fishInt = (3.14159265359 / bind) * (_FishEyeUvAmount + 0.001); + i.uv = midF + (dF / (max(0.0001, dFlen))) * tan(dFlen * fishInt) * bind / tan(bind * fishInt); + #endif + + #if PINCH_ON + half2 midP = 0.5 * _MainTex_ST.xy; + float2 dP = i.uv - midP; + float pinchInt = (3.141592 / length(midP)) * (-_PinchUvAmount + 0.001); + i.uv = midP + normalize(dP) * atan(length(dP) * -pinchInt * 10.0) * 0.5 / atan(-pinchInt * 5); + #endif + + #if DOODLE_ON + half2 uvCopy = uvRect; + _HandDrawnSpeed = (floor(_Time * 20 * _HandDrawnSpeed) / _HandDrawnSpeed) * _HandDrawnSpeed; + uvCopy.x = sin((uvCopy.x * _HandDrawnAmount + _HandDrawnSpeed) * 4); + uvCopy.y = cos((uvCopy.y * _HandDrawnAmount + _HandDrawnSpeed) * 4); + i.uv = lerp(i.uv, i.uv + uvCopy, 0.0005 * _HandDrawnAmount); + #endif + + #if SHAKEUV_ON + half xShake = sin((_Time + _RandomSeed) * _ShakeUvSpeed * 500 * _ShakeUvX); + half yShake = sin((_Time + _RandomSeed) * _ShakeUvSpeed * 500 * _ShakeUvY); + i.uv += half2(xShake * 0.01, yShake * 0.01); + #endif + + #if ZOOMUV_ON + half2 center = half2(0.5 * _MainTex_ST.x, 0.5 * _MainTex_ST.y); + i.uv -= center; + i.uv = i.uv * _ZoomUvAmount; + i.uv += center; + #endif + + #if TEXTURESCROLL_ON + i.uv.x += (_Time.y * _TextureScrollXSpeed) % 1; + i.uv.y += (_Time.y * _TextureScrollYSpeed) % 1; + #endif + + #if RECTSIZE_ON + i.uv = i.uv.xy * (_RectSize).xx + (((-_RectSize * 0.5) + 0.5)).xx; + #endif + + #if PIXELATE_ON + i.uv = floor(i.uv * _PixelateSize) / _PixelateSize; + #endif + + #if DISTORT_ON + i.uvDistTex.x += ((_Time + _RandomSeed) * _DistortTexXSpeed) % 1; + i.uvDistTex.y += ((_Time + _RandomSeed) * _DistortTexYSpeed) % 1; + #if ATLAS_ON + i.uvDistTex = half2((i.uvDistTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvDistTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half distortAmnt = (tex2D(_DistortTex, i.uvDistTex).r - 0.5) * 0.2 * _DistortAmount; + i.uv.x += distortAmnt; + i.uv.y += distortAmnt; + #endif + + #if WAVEUV_ON + half2 uvWave = half2(_WaveX * _MainTex_ST.x, _WaveY * _MainTex_ST.y) - i.uv; + #if ATLAS_ON + uvWave = half2(_WaveX, _WaveY) - uvRect; + #endif + uvWave.x *= _ScreenParams.x / _ScreenParams.y; + half angWave = (sqrt(dot(uvWave, uvWave)) * _WaveAmount) - ((_Time.y * _WaveSpeed) % 360); + i.uv = i.uv + normalize(uvWave) * sin(angWave) * (_WaveStrength / 1000); + #endif + + #if ROUNDWAVEUV_ON + float xWave = ((0.5 * _MainTex_ST.x) - uvRect.x); + float yWave = ((0.5 * _MainTex_ST.y) - uvRect.y) * (_ScreenParams.x / _ScreenParams.y); + float ripple = -sqrt(xWave*xWave + yWave* yWave); + i.uv += sin((ripple + _Time.y * (_RoundWaveSpeed/10.0)) / 0.015) * (_RoundWaveStrength/10.0); + #endif + + #if WIND_ON + #if !MANUALWIND_ON + i.uv.x = fmod(abs(lerp(i.uv.x, i.uv.x + (_GrassWind * 0.01 * sin(_Time * _GrassSpeed * 10)), uvRect.y)), 1); + #else + i.uv.x = fmod(abs(lerp(i.uv.x, i.uv.x + (_GrassWind * 0.01 * _GrassManualAnim), uvRect.y)), 1); + #endif + #endif + + half4 col = tex2D(_MainTex, i.uv) * i.color; + half originalAlpha = col.a; + col.rgb *= col.a; + + #if GLITCH_ON + half2 uvGlitch = uvRect; + uvGlitch.y -= 0.5; + half lineNoise = pow(rand2(floor(uvGlitch * half2(24., 19.) * _GlitchSize) * 4.0, _RandomSeed), 3.0) * _GlitchAmount + * pow(rand2(floor(uvGlitch * half2(38., 14.) * _GlitchSize) * 4.0, _RandomSeed), 3.0); + col = tex2D(_MainTex, i.uv + half2(lineNoise * 0.02 * rand2(half2(2.0, 1), _RandomSeed), 0)) * i.color; + #endif + + #if CHROMABERR_ON + half4 r = tex2D(_MainTex, i.uv + half2(_ChromAberrAmount/10, 0)) * i.color; + half4 b = tex2D(_MainTex, i.uv + half2(-_ChromAberrAmount/10, 0)) * i.color; + col = half4(r.r * r.a, col.g, b.b * b.a, max(max(r.a, b.a) * _ChromAberrAlpha, col.a)); + #endif + + #if FADE_ON + half2 tiledUvFade1= i.uvFadeTex1; + half2 tiledUvFade2 = i.uvFadeTex2; + #if ATLAS_ON + tiledUvFade1 = half2((tiledUvFade1.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUvFade1.y - _MinYUV) / (_MaxYUV - _MinYUV)); + tiledUvFade2 = half2((tiledUvFade2.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUvFade2.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half fadeTemp = tex2D(_FadeTex, tiledUvFade1).r; + half fade = smoothstep(_FadeAmount + 0.01, _FadeAmount + _FadeBurnTransition, fadeTemp); + half fadeBurn = smoothstep(_FadeAmount - _FadeBurnWidth, _FadeAmount - _FadeBurnWidth + 0.1, fadeTemp); + col.a *= fade; + _FadeBurnColor.rgb *= _FadeBurnGlow; + col += fadeBurn * tex2D(_FadeBurnTex, tiledUvFade2) * _FadeBurnColor * originalAlpha * (1 - col.a); + #endif + + #if BLUR_ON + #if !BLURISHD_ON + col = BlurHD(i.uv, _MainTex, _BlurIntensity) * i.color; + #else + col = Blur(i.uv, _MainTex, _BlurIntensity) * i.color; + #endif + #endif + + #if MOTIONBLUR_ON + _MotionBlurAngle = _MotionBlurAngle * 3.1415926; + #define rot(n) mul(n, float2x2(cos(_MotionBlurAngle), -sin(_MotionBlurAngle), sin(_MotionBlurAngle), cos(_MotionBlurAngle))) + _MotionBlurDist = _MotionBlurDist * 0.005; + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist, -_MotionBlurDist))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 2, -_MotionBlurDist * 2))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 3, -_MotionBlurDist * 3))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 4, -_MotionBlurDist * 4))); + col.rgb += tex2D(_MainTex, i.uv); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist, _MotionBlurDist))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 2, _MotionBlurDist * 2))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 3, _MotionBlurDist * 3))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 4, _MotionBlurDist * 4))); + col.rgb = col.rgb / 9; + #endif + + half luminance = 0; + #if COLORSWAP_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + half4 swapMask = tex2D(_ColorSwapTex, i.uv); + swapMask.rgb *= swapMask.a; + half3 redSwap = _ColorSwapRed * swapMask.r * col.a * saturate(luminance + _ColorSwapRedLuminosity); + half3 greenSwap = _ColorSwapGreen * swapMask.g * col.a * saturate(luminance + _ColorSwapGreenLuminosity); + half3 blueSwap = _ColorSwapBlue * swapMask.b * col.a * saturate(luminance + _ColorSwapBlueLuminosity); + col.rgb = col.rgb * saturate(1 - swapMask.r - swapMask.g - swapMask.b); + col.rgb = col.rgb + redSwap + greenSwap + blueSwap; + #endif + + #if NEGATIVE_ON + col.rgb = lerp(col.rgb, 1 - col.rgb, _NegativeAmount); + #endif + + #if COLORRAMP_ON && !COLORRAMPOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorRampLuminosity); + col.rgb = tex2D(_ColorRampTex, half2(luminance, 0)).rgb; + #endif + + #if CHANGECOLOR_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorChangeLuminosity); + half3 dif = abs(col.rgb - _ColorChangeTarget.rgb); + col.rgb = lerp(col.rgb, half3(luminance, luminance, luminance) * _ColorChangeNewCol.rgb, + max(sign(1 - saturate(dif.x + dif.y + dif.z) - _ColorChangeTolerance), 0.0)); + #endif + + #if GREYSCALE_ON && !GREYSCALEOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _GreyscaleLuminosity); + col.rgb = half3(luminance, luminance, luminance) * _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON && !POSTERIZEOUTLINE_ON + col.rgb = pow(col.rgb, _PosterizeGamma) * _PosterizeNumColors; + col.rgb = floor(col.rgb) / _PosterizeNumColors; + col.rgb = pow(col.rgb, 1.0 / _PosterizeGamma); + #endif + + #if GHOST_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + col.a = saturate(luminance - _GhostTransparency) * col.a; + col.rgb *= luminance + _GhostColorBoost; + #endif + + #if INNEROUTLINE_ON + half3 innerT = abs(GetPixel(0, _InnerOutlineThickness, i.uv, _MainTex) - GetPixel(0, -_InnerOutlineThickness, i.uv, _MainTex)); + innerT += abs(GetPixel(_InnerOutlineThickness, 0, i.uv, _MainTex) - GetPixel(-_InnerOutlineThickness, 0, i.uv, _MainTex)); + #if !ONLYINNEROUTLINE_ON + innerT = (innerT / 2.0) * col.a * _InnerOutlineAlpha; + col.rgb += length(innerT) * _InnerOutlineColor.rgb * _InnerOutlineGlow; + #else + innerT *= col.a * _InnerOutlineAlpha; + col.rgb = length(innerT) * _InnerOutlineColor.rgb * _InnerOutlineGlow; + col.a = step(0.3, col.r+col.g+col.b); + #endif + #endif + + #if HITEFFECT_ON + col.rgb = lerp(col.rgb, _HitEffectColor.rgb * _HitEffectGlow, _HitEffectBlend); + #endif + + #if GRADIENT_ON + half2 tiledUvGrad = half2(uvRect.x / _MainTex_ST.x, uvRect.y / _MainTex_ST.y); + half _GradBoost = 1.2; + half4 vertical = lerp(lerp(_GradBotLeftCol, _GradBotRightCol, tiledUvGrad.x * _GradBoost), + lerp(_GradTopLeftCol, _GradTopRightCol, tiledUvGrad.x * _GradBoost), tiledUvGrad.y * _GradBoost); + col.rgb = lerp(col.rgb, vertical.rgb, _GradBlend) * col.a; + #endif + + //OUTLINE------------------------------------------------------------- + #if OUTBASE_ON + #ifdef OUTBASEPIXELPERF_ON + half2 destUv = half2(_OutlinePixelWidth * _MainTex_TexelSize.x, _OutlinePixelWidth * _MainTex_TexelSize.y); + #else + half2 destUv = half2(_OutlineWidth * _MainTex_TexelSize.x * 200, _OutlineWidth * _MainTex_TexelSize.y * 200); + #endif + + #if OUTDIST_ON + i.uvOutDistTex.x += ((_Time + _RandomSeed) * _OutlineDistortTexXSpeed) % 1; + i.uvOutDistTex.y += ((_Time + _RandomSeed) * _OutlineDistortTexYSpeed) % 1; + #if ATLAS_ON + i.uvOutDistTex = half2((i.uvOutDistTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvOutDistTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half outDistortAmnt = (tex2D(_OutlineDistortTex, i.uvOutDistTex).r - 0.5) * 0.2 * _OutlineDistortAmount; + destUv.x += outDistortAmnt; + destUv.y += outDistortAmnt; + #endif + + half spriteLeft = tex2D(_MainTex, i.uv + half2(destUv.x, 0)).a; + half spriteRight = tex2D(_MainTex, i.uv - half2(destUv.x, 0)).a; + half spriteBottom = tex2D(_MainTex, i.uv + half2(0, destUv.y)).a; + half spriteTop = tex2D(_MainTex, i.uv - half2(0, destUv.y)).a; + half result = spriteLeft + spriteRight + spriteBottom + spriteTop; + + #if OUTBASE8DIR_ON + half spriteTopLeft = tex2D(_MainTex, i.uv + half2(destUv.x, destUv.y)).a; + half spriteTopRight = tex2D(_MainTex, i.uv + half2(-destUv.x, destUv.y)).a; + half spriteBotLeft = tex2D(_MainTex, i.uv + half2(destUv.x, -destUv.y)).a; + half spriteBotRight = tex2D(_MainTex, i.uv + half2(-destUv.x, -destUv.y)).a; + result = result + spriteTopLeft + spriteTopRight + spriteBotLeft + spriteBotRight; + #endif + + result = step(0.05, saturate(result)); + + #if OUTTEX_ON + i.uvOutTex.x += (_Time * _OutlineTexXSpeed) % 1; + i.uvOutTex.y += (_Time * _OutlineTexYSpeed) % 1; + #if ATLAS_ON + i.uvOutTex = half2((i.uvOutTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvOutTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half4 tempOutColor = tex2D(_OutlineTex, i.uvOutTex); + #if OUTGREYTEXTURE_ON + luminance = 0.3 * tempOutColor.r + 0.59 * tempOutColor.g + 0.11 * tempOutColor.b; + tempOutColor = half4(luminance, luminance, luminance, 1); + #endif + tempOutColor *= _OutlineColor; + _OutlineColor = tempOutColor; + #endif + + result *= (1 - originalAlpha) *_OutlineAlpha; + + half4 outline = result * _OutlineColor; + outline.rgb *= _OutlineGlow * 2; + #if ONLYOUTLINE_ON + col = outline; + #else + col += outline; + #endif + #endif + //----------------------------------------------------------------------------- + + #if SHADOW_ON + half shadowA = tex2D(_MainTex, i.uv + half2(_ShadowX, _ShadowY)).a; + col.rgb += (_ShadowColor * shadowA) * (1 - col.a); + col.a = max(shadowA * _ShadowAlpha * i.color.a, col.a); + #endif + + #if GLOW_ON + half4 emission; + #if GLOWTEX_ON + emission = tex2D(_GlowTex, i.uv); + #else + emission = col; + #endif + emission.rgb *= emission.a * col.a * _Glow * _GlowColor; + col.rgb += emission.rgb; + #endif + + #if COLORRAMP_ON && COLORRAMPOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorRampLuminosity); + col.rgb = tex2D(_ColorRampTex, half2(luminance, 0)).rgb; + #endif + + #if GREYSCALE_ON && GREYSCALEOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _GreyscaleLuminosity); + col.rgb = half3(luminance, luminance, luminance) * _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON && POSTERIZEOUTLINE_ON + col.rgb = pow(col.rgb, _PosterizeGamma) * _PosterizeNumColors; + col.rgb = floor(col.rgb) / _PosterizeNumColors; + col.rgb = pow(col.rgb, 1.0 / _PosterizeGamma); + #endif + + #if HSV_ON + half3 resultHsv = half3(col.rgb); + half cosHsv = _HsvBright * _HsvSaturation * cos(_HsvShift * 3.14159265 / 180); + half sinHsv = _HsvBright * _HsvSaturation * sin(_HsvShift * 3.14159265 / 180); + resultHsv.x = (.299 * _HsvBright + .701 * cosHsv + .168 * sinHsv) * col.x + + (.587 * _HsvBright - .587 * cosHsv + .330 * sinHsv) * col.y + + (.114 * _HsvBright - .114 * cosHsv - .497 * sinHsv) * col.z; + resultHsv.y = (.299 * _HsvBright - .299 * cosHsv - .328 * sinHsv) *col.x + + (.587 * _HsvBright + .413 * cosHsv + .035 * sinHsv) * col.y + + (.114 * _HsvBright - .114 * cosHsv + .292 * sinHsv) * col.z; + resultHsv.z = (.299 * _HsvBright - .3 * cosHsv + 1.25 * sinHsv) * col.x + + (.587 * _HsvBright - .588 * cosHsv - 1.05 * sinHsv) * col.y + + (.114 * _HsvBright + .886 * cosHsv - .203 * sinHsv) * col.z; + col.rgb = resultHsv; + #endif + + #if SHINE_ON + half shineMask = tex2D(_ShineMask, i.uv).a; + half lowLevel = _ShineLocation - _ShineWidth; + half highLevel = _ShineLocation + _ShineWidth; + half currentDistanceProjection = (i.uv.x + i.uv.y) / 2; + half whitePower = 1 - (abs(currentDistanceProjection - _ShineLocation) / _ShineWidth); + col.rgb += col.a * whitePower * _ShineGlow * max(sign(currentDistanceProjection - lowLevel), 0.0) * max(sign(highLevel - currentDistanceProjection), 0.0) * _ShineColor * shineMask; + #endif + + col.a *= _Alpha; + + #if ALPHACUTOFF_ON + clip((1 - _AlphaCutoffValue) - (1 - col.a) - 0.01); + #endif + + #if HOLOGRAM_ON + half totalHologram = _HologramStripesAmount + _HologramUnmodAmount; + half hologramYCoord = ((uvRect.y + (((_Time.x + _RandomSeed) % 1) * _HologramStripesSpeed)) % totalHologram) / totalHologram; + half alpha = RemapFloat(saturate(hologramYCoord - (_HologramUnmodAmount/totalHologram)), 0.0, 1.0, _HologramMinAlpha, saturate(_HologramMaxAlpha)); + col.a *= lerp(alpha, 1, max(sign((_HologramUnmodAmount/totalHologram) - hologramYCoord), 0.0)); + col.rgb *= max(1, _HologramMaxAlpha * max(sign(hologramYCoord - (_HologramUnmodAmount/totalHologram)), 0.0)); + #endif + + #if FLICKER_ON + col.a *= saturate(col.a * step(frac(0.05 + (_Time.w + _RandomSeed) * _FlickerFreq), 1 - _FlickerPercent) + _FlickerAlpha); + #endif + + col *= _Color; + return col; + } + ENDCG + } + } + CustomEditor "AllIn1SpriteShader" + Fallback "Sprites/Default" +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShader.shader.meta b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShader.shader.meta new file mode 100644 index 0000000..9b0326d --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShader.shader.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: a36b7719ff0465b42ab1407d67672c5f +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _GlowTex: {instanceID: 0} + - _FadeTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + - _FadeBurnTex: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3} + - _OutlineTex: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3} + - _OutlineDistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, + type: 3} + - _ColorSwapTex: {instanceID: 0} + - _ColorRampTex: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3} + - _DistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderScrollView.shader b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderScrollView.shader new file mode 100644 index 0000000..271d4a9 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderScrollView.shader @@ -0,0 +1,972 @@ +Shader "AllIn1SpriteShader/AllIn1SpriteShaderScrollView" +{ + Properties + { + [Header(_General Properties_)] + _MainTex("Main Texture", 2D) = "white" {} //0 + _Color("Main Color", Color) = (1,1,1,1) //1 + _Alpha("General Alpha", Range(0,1)) = 1 //2 + + _GlowColor("Glow Color", Color) = (1,1,1,1) //3 + _Glow("Glow Intensity", Range(0,100)) = 10 //4 + [Space] + [Space] + [Toggle()] _GlowTexUsed("Glow Texture used?", float) = 0 //5 + [Header(Texture does not support Tiling)] + _GlowTex("Glow Texture", 2D) = "white" {} //6 + + _FadeTex("Fade Texture", 2D) = "white" {} //7 + _FadeAmount("Fade Amount", Range(-0.1,1)) = -0.1 //8 + _FadeBurnWidth("Fade Burn Width", Range(0,1)) = 0.025 //9 + _FadeBurnTransition("Fade Burn Smooth Transition", Range(0.01,0.5)) = 0.075 //10 + _FadeBurnColor("Fade Burn Color", Color) = (1,1,0,1) //11 + _FadeBurnTex("Fade Burn Texture", 2D) = "white" {} //12 + _FadeBurnGlow("Fade Burn Glow", Range(1,50)) = 2//13 + [Header(_Outline Basic Properties_)] + _OutlineColor("Outline Base Color", Color) = (1,1,1,1) //14 + _OutlineAlpha("Outline Base Alpha", Range(0,1)) = 1 //15 + _OutlineGlow("Outline Base Glow", Range(1,100)) = 1.5 //16 + [Toggle()] _Outline8Directions("Outline Base High Resolution?", float) = 0 //17 + _OutlineWidth("Outline Base Width", Range(0,0.2)) = 0.004 //18 + [Header(_Outline Width_)] + [Toggle()] _OutlineIsPixel("Outline Base is Pixel Perfect?", float) = 0 //19 + _OutlinePixelWidth("Outline Base Pixel Width", Int) = 1 //20 + + [Space] + [Header(_Outline Texture_)] + [Toggle()] _OutlineTexToggle("Outline uses texture?", float) = 0 //21 + _OutlineTex("Outline Texture", 2D) = "white" {} //22 + _OutlineTexXSpeed("Outline Texture scroll speed X axis", Range(-50,50)) = 10 //23 + _OutlineTexYSpeed("Outline Texture scroll speed Y axis", Range(-50,50)) = 0 //24 + [Toggle()] _OutlineTexGrey("Outline Texture is Greyscaled?", float) = 0 //25 + + [Space] + [Header(_Outline Distortion_)] + [Toggle()] _OutlineDistortToggle("Outline uses distortion?", float) = 0 //26 + _OutlineDistortTex("Outline Distortion Texture", 2D) = "white" {} //27 + _OutlineDistortAmount("Outline Distortion Amounts", Range(0,2)) = 0.5 //28 + _OutlineDistortTexXSpeed("Outline Distortion scroll speed X axis", Range(-50,50)) = 5 //29 + _OutlineDistortTexYSpeed("Outline Distortion scroll speed Y axis", Range(-50,50)) = 5 //30 + + _GradBlend("Gradient Blend", Range(0,1)) = 1 //31 + _GradTopLeftCol("Gradient Top Left Color", Color) = (1,0,0,1) //32 + _GradTopRightCol("Gradient Top Right Color", Color) = (1,0,0,1) //33 + _GradBotLeftCol("Gradient Bot Left Color", Color) = (0,0,1,1) //34 + _GradBotRightCol("Gradient Bot Right Color", Color) = (0,0,1,1) //35 + + _ColorSwapTex("Color Swap Texture", 2D) = "black" {} //36 + [Header(You will need a mask texture (see Documentation))] + _ColorSwapRed("Color Swap Red Channel", Color) = (1,1,1,1) //37 + _ColorSwapRedLuminosity("Color Swap Red luminosity", Range(-1,1)) = 0.5 //38 + _ColorSwapGreen("Color Swap Green Channel", Color) = (1,1,1,1) //39 + _ColorSwapGreenLuminosity("Color Swap Green luminosity", Range(-1,1)) = 0.5 //40 + _ColorSwapBlue("Color Swap Blue Channel", Color) = (1,1,1,1) //41 + _ColorSwapBlueLuminosity("Color Swap Blue luminosity", Range(-1,1)) = 0.5 //42 + + _HsvShift("Hue Shift", Range(0, 360)) = 180 //43 + _HsvSaturation("Hue Shift Saturation", Range(0, 2)) = 1 //44 + _HsvBright("Hue Shift Bright", Range(0, 2)) = 1 //45 + + _HitEffectColor("Hit Effect Color", Color) = (1,1,1,1) //46 + _HitEffectGlow("Hit Effect Glow Intensity", Range(1,100)) = 5 //47 + [Space] + [Header(_Tip_ Animate the following property)] + _HitEffectBlend("Hit Effect Blend", Range(0,1)) = 1 //48 + + _NegativeAmount("Negative Amount", Range(0, 1)) = 1 //49 + + [Header(Looks bad with distorition effects)] + _PixelateSize("Pixelate size", Range(4,512)) = 32 //50 + + [Header(Texture does not support Tiling)] + _ColorRampTex("Color ramp Texture", 2D) = "white" {} //51 + _ColorRampLuminosity("Color ramp luminosity", Range(-1,1)) = 0 //52 + [Toggle()] _ColorRampOutline("Color ramp affects outline?", float) = 0 //53 + + _GreyscaleLuminosity("Greyscale luminosity", Range(-1,1)) = 0 //54 + [Toggle()] _GreyscaleOutline("Greyscale affects outline?", float) = 0 //55 + _GreyscaleTintColor("Greyscale Tint Color", Color) = (1,1,1,1) //56 + + _PosterizeNumColors("Posterize Number of Colors", Range(0,100)) = 8 //57 + _PosterizeGamma("Posterize Amount", Range(0.1,10)) = 0.75 //58 + [Toggle()] _PosterizeOutline("Posterize affects outline and glow?", float) = 0 //59 + + [Header(This effect will not affect the outline)] + _BlurIntensity("Blur Intensity", Range(0,100)) = 10 //60 + [Toggle()] _BlurHD("Blur is Low Res?", float) = 0 //61 + + _MotionBlurAngle("Motion Blur Angle", Range(-1, 1)) = 0.1 //62 + _MotionBlurDist("Motion Blur Distance", Range(-3, 3)) = 1.25 //63 + + [Header(This effect will not affect the outline)] + _GhostColorBoost("Ghost Color Boost", Range(0,5)) = 1 //64 + [Header(Choose the ghost color with the Main Color Property)] + _GhostTransparency("Ghost Transparency", Range(0,1)) = 0 //65 + + [Header(This effect will place the inner outlines over the original sprite)] + _InnerOutlineColor("Inner Outline Color", Color) = (1,0,0,1) //66 + _InnerOutlineThickness("Inner Outline Thickness", Range(0,3)) = 1 //67 + _InnerOutlineAlpha("Inner Outline Alpha", Range(0,1)) = 1 //68 + _InnerOutlineGlow("Inner Outline Glow", Range(1,100)) = 1 //69 + + _AlphaCutoffValue("Alpha cutoff value", Range(0, 1)) = 0.25 //70 + + _HologramFlickerFreq("Hologram Flicker Frequence", Range(0, 5)) = 0.2 //71 + _HologramFlickerAlpha("Hologram Flicker Alpha", Range(0, 1)) = 0 //72 + + _HologramStripesAmount("Hologram Stripes Amount", Range(0, 1)) = 0.2 //73 + _HologramUnmodAmount("Hologram Unchanged Amount", Range(0, 1)) = 0.4 //74 + _HologramStripesSpeed("Hologram Stripes Speed", Range(0, 20)) = 5 //75 + _HologramMinAlpha("Hologram Min Alpha", Range(0, 1)) = 0.0 //76 + _HologramMaxAlpha("Hologram Max Alpha", Range(0, 10)) = 1.0 //77 + + _ChromAberrAmount("ChromAberr Amount", Range(0, 1)) = 1 //78 + _ChromAberrAlpha("ChromAberr Alpha", Range(0, 1)) = 0.4 //79 + + _GlitchAmount("Glitch Amount", Range(0, 20)) = 3 //80 + + _FlickerPercent("Flicker Percent", Range(0, 1)) = 0.05 //81 + _FlickerFreq("Flicker Frequency", Range(0, 5)) = 0.2 //82 + _FlickerAlpha("Flicker Alpha", Range(0, 1)) = 0 //83 + + _ShadowX("Shadow X Axis", Range(-0.5, 0.5)) = 0.1 //84 + _ShadowY("Shadow Y Axis", Range(-0.5, 0.5)) = -0.05 //85 + _ShadowAlpha("Shadow Alpha", Range(0, 1)) = 0.5 //86 + _ShadowColor("Shadow Color", Color) = (0, 0, 0, 1) //87 + + _HandDrawnAmount("Hand Drawn Amount", Range(2, 20)) = 10 //88 + _HandDrawnSpeed("Hand Drawn Speed", Range(1, 15)) = 5 //89 + + _GrassSpeed("Grass Speed", Range(0,50)) = 2 //90 + _GrassWind("Grass Wind (bend amount)", Range(0,50)) = 20 //91 + [Space] + [Toggle()] _GrassManualToggle("Grass is manually animated?", float) = 0 //92 + _GrassManualAnim("Grass Manual Anim", Range(-1,1)) = 1 //93 + + _WaveAmount("Wave Amount", Range(0, 25)) = 7 //94 + _WaveSpeed("Wave Speed", Range(0, 25)) = 10 //95 + _WaveStrength("Wave Strength", Range(0, 25)) = 7.5 //96 + _WaveX("Wave X Axis", Range(0, 1)) = 0 //97 + _WaveY("Wave Y Axis", Range(0, 1)) = 0.5 //98 + + [Header(Only on single sprites, spritesheets NOT supported)] + _RectSize("Rect Size", Range(1, 4)) = 1 //99 + + _OffsetUvX("Offset X axis", Range(-1, 1)) = 0 //100 + _OffsetUvY("Offset Y axis", Range(-1, 1)) = 0 //101 + + _ClipUvLeft("Clipping Left", Range(0, 1)) = 0 //102 + _ClipUvRight("Clipping Right", Range(0, 1)) = 0 //103 + _ClipUvUp("Clipping Up", Range(0, 1)) = 0 //104 + _ClipUvDown("Clipping Down", Range(0, 1)) = 0 //105 + + [Header(Set Texture Wrap Mode to Repeat)] + _TextureScrollXSpeed("Texture Scroll Speed X Axis", Range(-5, 5)) = 1 //106 + _TextureScrollYSpeed("Texture Scroll Speed Y Axis", Range(-5, 5)) = 0 //107 + + _ZoomUvAmount("Zoom Amount", Range(0.1, 5)) = 0.5 //108 + + _DistortTex("Distortion Texture", 2D) = "white" {} //109 + _DistortAmount("Distortion Amounts", Range(0,2)) = 0.5 //110 + _DistortTexXSpeed("Distortion scroll speed X axis", Range(-50,50)) = 5 //111 + _DistortTexYSpeed("Distortion scroll speed Y axis", Range(-50,50)) = 5 //112 + + _TwistUvAmount("Twist Amount", Range(0, 3.1416)) = 1 //113 + _TwistUvPosX("Twist Pos X Axis", Range(0, 1)) = 0.5 //114 + _TwistUvPosY("Twist Pos Y Axis", Range(0, 1)) = 0.5 //115 + _TwistUvRadius("Twist Radius", Range(0, 3)) = 0.75 //116 + + [Header(_Tip_ Use Clipping effect to avoid possible undesired parts)] + _RotateUvAmount("Rotate Angle (in radians)", Range(0, 6.2831)) = 0 //117 + + _FishEyeUvAmount("Fish Eye Amount", Range(0, 0.5)) = 0.35 //118 + + _PinchUvAmount("Pinch Amount", Range(0, 0.5)) = 0.35 //119 + + _ShakeUvSpeed("Shake Speed", Range(0, 20)) = 2.5 //120 + _ShakeUvX("Shake X Multiplier", Range(0, 5)) = 1.5 //121 + _ShakeUvY("Shake Y Multiplier", Range(0, 5)) = 1 //122 + + _ColorChangeTolerance("Tolerance", Range(0, 1)) = 0.25 //123 + _ColorChangeTarget("Color to change", Color) = (1, 0, 0, 1) //124 + _ColorChangeNewCol("New Color", Color) = (1, 1, 0, 1) //125 + _ColorChangeLuminosity("New Color Luminosity", Range(0, 1)) = 0.0 //126 + + _RoundWaveStrength("Round Wave Strength", Range(0, 1)) = 0.7 //127 + _RoundWaveSpeed("Round Wave Speed", Range(0, 5)) = 2 //128 + + [Toggle()] _BillboardY("Billboard on both axis?", float) = 0 //129 + + _ShineColor("Shine Color", Color) = (1,1,1,1) // 130 + _ShineLocation("Shine Location", Range(0,1)) = 0.5 // 131 + _ShineWidth("Shine Width", Range(0.05,1)) = 0.1 // 132 + _ShineGlow("Shine Glow", Range(0,100)) = 1 // 133 + _ShineMask("Shine Mask", 2D) = "white" {} // 134 + + _GlitchSize("Glitch Size", Range(0.25, 5)) = 1 //135 + + [HideInInspector] _MinXUV("_MinXUV", Range(0, 1)) = 0.0 + [HideInInspector] _MaxXUV("_MaxXUV", Range(0, 1)) = 1.0 + [HideInInspector] _MinYUV("_MinYUV", Range(0, 1)) = 0.0 + [HideInInspector] _MaxYUV("_MaxYUV", Range(0, 1)) = 1.0 + [HideInInspector] _RandomSeed("_MaxYUV", Range(0, 10000)) = 0.0 + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + _ColorMask ("Color Mask", Float) = 15 + } + + SubShader + { + Tags { "Queue" = "Transparent" "CanUseSpriteAtlas" = "True" "IgnoreProjector" = "True" "RenderType" = "Transparent" "PreviewType" = "Plane" } + Blend SrcAlpha OneMinusSrcAlpha + Cull Off + ZWrite Off + ZTest [unity_GUIZTestMode] + + //The same than the original shader but with the stencil config needed for the scroll view + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma shader_feature GLOWTEX_ON + #pragma shader_feature OUTBASE8DIR_ON + #pragma shader_feature OUTBASEPIXELPERF_ON + #pragma shader_feature OUTGREYTEXTURE_ON + #pragma shader_feature COLORRAMPOUTLINE_ON + #pragma shader_feature GREYSCALEOUTLINE_ON + #pragma shader_feature POSTERIZEOUTLINE_ON + #pragma shader_feature BLURISHD_ON + #pragma shader_feature MANUALWIND_ON + + #pragma shader_feature RECTSIZE_ON + #pragma shader_feature OFFSETUV_ON + #pragma shader_feature CLIPPING_ON + #pragma shader_feature POLARUV_ON + #pragma shader_feature TWISTUV_ON + #pragma shader_feature ROTATEUV_ON + #pragma shader_feature FISHEYE_ON + #pragma shader_feature PINCH_ON + #pragma shader_feature SHAKEUV_ON + #pragma shader_feature WAVEUV_ON + #pragma shader_feature ROUNDWAVEUV_ON + #pragma shader_feature DOODLE_ON + #pragma shader_feature ZOOMUV_ON + #pragma shader_feature FADE_ON + #pragma shader_feature TEXTURESCROLL_ON + #pragma shader_feature GLOW_ON + #pragma shader_feature OUTBASE_ON + #pragma shader_feature OUTTEX_ON + #pragma shader_feature OUTDIST_ON + #pragma shader_feature DISTORT_ON + #pragma shader_feature WIND_ON + #pragma shader_feature GRADIENT_ON + #pragma shader_feature COLORSWAP_ON + #pragma shader_feature HSV_ON + #pragma shader_feature HITEFFECT_ON + #pragma shader_feature PIXELATE_ON + #pragma shader_feature NEGATIVE_ON + #pragma shader_feature COLORRAMP_ON + #pragma shader_feature GREYSCALE_ON + #pragma shader_feature POSTERIZE_ON + #pragma shader_feature BLUR_ON + #pragma shader_feature MOTIONBLUR_ON + #pragma shader_feature GHOST_ON + #pragma shader_feature INNEROUTLINE_ON + #pragma shader_feature HOLOGRAM_ON + #pragma shader_feature CHROMABERR_ON + #pragma shader_feature GLITCH_ON + #pragma shader_feature FLICKER_ON + #pragma shader_feature SHADOW_ON + #pragma shader_feature SHINE_ON + #pragma shader_feature ALPHACUTOFF_ON + #pragma shader_feature CHANGECOLOR_ON + #pragma shader_feature ATLAS_ON + #pragma shader_feature BILBOARD_ON + #pragma shader_feature BILBOARDY_ON + + #include "UnityCG.cginc" + #include "AllIn1OneShaderFunctions.cginc" + + struct appdata + { + half4 vertex : POSITION; + half2 uv : TEXCOORD0; + half4 color : COLOR; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + half4 vertex : SV_POSITION; + half4 color : COLOR; + #if OUTTEX_ON + half2 uvOutTex : TEXCOORD1; + #endif + #if OUTDIST_ON + half2 uvOutDistTex : TEXCOORD2; + #endif + #if DISTORT_ON + half2 uvDistTex : TEXCOORD3; + #endif + #if FADE_ON + half2 uvFadeTex1 : TEXCOORD4; + half2 uvFadeTex2 : TEXCOORD5; + #endif + }; + + sampler2D _MainTex; + half4 _MainTex_ST, _MainTex_TexelSize, _Color; + half _Alpha, _RandomSeed; + + #if ATLAS_ON + half _MinXUV, _MaxXUV, _MinYUV, _MaxYUV; + #endif + + #if RECTSIZE_ON + half _RectSize; + #endif + + #if OFFSETUV_ON + half _OffsetUvX, _OffsetUvY; + #endif + + #if CLIPPING_ON + half _ClipUvLeft, _ClipUvRight, _ClipUvUp, _ClipUvDown; + #endif + + #if TWISTUV_ON + half _TwistUvAmount, _TwistUvPosX, _TwistUvPosY, _TwistUvRadius; + #endif + + #if ROTATEUV_ON + half _RotateUvAmount; + #endif + + #if FISHEYE_ON + half _FishEyeUvAmount; + #endif + + #if PINCH_ON + half _PinchUvAmount; + #endif + + #if DOODLE_ON + half _HandDrawnAmount, _HandDrawnSpeed; + #endif + + #if SHAKEUV_ON + half _ShakeUvSpeed, _ShakeUvX, _ShakeUvY; + #endif + + #if WAVEUV_ON + half _WaveAmount, _WaveSpeed, _WaveStrength, _WaveX, _WaveY; + #endif + + #if ROUNDWAVEUV_ON + half _RoundWaveStrength, _RoundWaveSpeed; + #endif + + #if ZOOMUV_ON + half _ZoomUvAmount; + #endif + + #if FADE_ON + sampler2D _FadeTex, _FadeBurnTex; + half4 _FadeBurnColor, _FadeTex_ST, _FadeBurnTex_ST; + half _FadeAmount, _FadeBurnWidth, _FadeBurnTransition,_FadeBurnGlow; + #endif + + #if TEXTURESCROLL_ON + half _TextureScrollXSpeed, _TextureScrollYSpeed; + #endif + + #if GLOW_ON + sampler2D _GlowTex; + half4 _GlowColor; + half _Glow; + #endif + + #if OUTBASE_ON + half4 _OutlineColor; + half _OutlineAlpha, _OutlineGlow, _OutlineWidth; + int _OutlinePixelWidth; + #endif + + #if OUTTEX_ON + sampler2D _OutlineTex; + half4 _OutlineTex_ST; + half _OutlineTexXSpeed, _OutlineTexYSpeed; + #endif + + #if OUTDIST_ON + sampler2D _OutlineDistortTex; + half4 _OutlineDistortTex_ST; + half _OutlineDistortTexXSpeed, _OutlineDistortTexYSpeed, _OutlineDistortAmount; + #endif + + #if DISTORT_ON + sampler2D _DistortTex; + half4 _DistortTex_ST; + half _DistortTexXSpeed, _DistortTexYSpeed, _DistortAmount; + #endif + + #if WIND_ON + half _GrassSpeed, _GrassWind, _GrassManualAnim; + #endif + + #if GRADIENT_ON + half _GradBlend; + half4 _GradTopRightCol, _GradTopLeftCol, _GradBotRightCol, _GradBotLeftCol; + #endif + + #if COLORSWAP_ON + sampler2D _ColorSwapTex; + half4 _ColorSwapRed, _ColorSwapGreen, _ColorSwapBlue; + half _ColorSwapRedLuminosity, _ColorSwapGreenLuminosity, _ColorSwapBlueLuminosity; + #endif + + #if HSV_ON + half _HsvShift, _HsvSaturation, _HsvBright; + #endif + + #if HITEFFECT_ON + half4 _HitEffectColor; + half _HitEffectGlow, _HitEffectBlend; + #endif + + #if PIXELATE_ON + half _PixelateSize; + #endif + + #if NEGATIVE_ON + half _NegativeAmount; + #endif + + #if COLORRAMP_ON + sampler2D _ColorRampTex; + half _ColorRampLuminosity; + #endif + + #if GREYSCALE_ON + half _GreyscaleLuminosity; + half4 _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON + half _PosterizeNumColors, _PosterizeGamma; + #endif + + #if BLUR_ON + half _BlurIntensity; + #endif + + #if MOTIONBLUR_ON + half _MotionBlurAngle, _MotionBlurDist; + #endif + + #if GHOST_ON + half _GhostColorBoost, _GhostTransparency; + #endif + + #if INNEROUTLINE_ON + half _InnerOutlineThickness, _InnerOutlineAlpha, _InnerOutlineGlow; + half4 _InnerOutlineColor; + #endif + + #if HOLOGRAM_ON + half _HologramStripesAmount, _HologramMinAlpha, _HologramUnmodAmount, _HologramStripesSpeed, _HologramMaxAlpha; + #endif + + #if CHROMABERR_ON + half _ChromAberrAmount, _ChromAberrAlpha; + #endif + + #if GLITCH_ON + half _GlitchAmount, _GlitchSize; + #endif + + #if FLICKER_ON + half _FlickerFreq, _FlickerPercent, _FlickerAlpha; + #endif + + #if SHADOW_ON + half _ShadowX, _ShadowY, _ShadowAlpha; + half4 _ShadowColor; + #endif + + #if SHINE_ON + sampler2D _ShineMask; + half4 _ShineColor; + half _ShineLocation, _ShineWidth, _ShineGlow; + #endif + + #if ALPHACUTOFF_ON + half _AlphaCutoffValue; + #endif + + #if CHANGECOLOR_ON + half4 _ColorChangeNewCol, _ColorChangeTarget; + half _ColorChangeTolerance, _ColorChangeLuminosity; + #endif + + v2f vert(appdata v) + { + #if RECTSIZE_ON + v.vertex.xyz += (v.vertex.xyz * (_RectSize - 1.0)); + #endif + + v2f o; + o.vertex = UnityObjectToClipPos(v.vertex); + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + o.color = v.color; + + #if POLARUV_ON + o.uv = v.uv - 0.5f; + #endif + + #if ROTATEUV_ON + half2 uvC = v.uv; + half cosAngle = cos(_RotateUvAmount); + half sinAngle = sin(_RotateUvAmount); + float2x2 rot = float2x2(cosAngle, -sinAngle, sinAngle, cosAngle); + uvC -= half2(0.5, 0.5); + o.uv = mul(rot, uvC); + o.uv += half2(0.5, 0.5); + #endif + + #if OUTTEX_ON + o.uvOutTex = TRANSFORM_TEX(v.uv, _OutlineTex); + #endif + + #if OUTDIST_ON + o.uvOutDistTex = TRANSFORM_TEX(v.uv, _OutlineDistortTex); + #endif + + #if DISTORT_ON + o.uvDistTex = TRANSFORM_TEX(v.uv, _DistortTex); + #endif + + #if FADE_ON + o.uvFadeTex1 = TRANSFORM_TEX(v.uv, _FadeTex); + o.uvFadeTex2 = TRANSFORM_TEX(v.uv, _FadeBurnTex); + #endif + + return o; + } + + half3 GetPixel(in int offsetX, in int offsetY, half2 uv, sampler2D tex) + { + return tex2D(tex, (uv + half2(offsetX * _MainTex_TexelSize.x, offsetY * _MainTex_TexelSize.y))).rgb; + } + + half4 frag(v2f i) : SV_Target + { + half2 uvRect = i.uv; + + #if ATLAS_ON + uvRect = half2((i.uv.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uv.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + + #if CLIPPING_ON + half2 tiledUv = half2(i.uv.x / _MainTex_ST.x, i.uv.y / _MainTex_ST.y); + #if ATLAS_ON + tiledUv = half2((tiledUv.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUv.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + clip((1 - _ClipUvUp) - tiledUv.y); + clip(tiledUv.y - _ClipUvDown); + clip((1 - _ClipUvRight) - tiledUv.x); + clip(tiledUv.x - _ClipUvLeft); + #endif + + #if OFFSETUV_ON + i.uv += half2(_OffsetUvX, _OffsetUvY); + #endif + + #if POLARUV_ON + i.uv = half2(atan2(i.uv.y, i.uv.x) / (2.0f * 3.141592653589f), length(i.uv)); + i.uv *= _MainTex_ST.xy; + #endif + + #if TWISTUV_ON + half2 tempUv = i.uv - half2(_TwistUvPosX * _MainTex_ST.x, _TwistUvPosY * _MainTex_ST.y); + _TwistUvRadius *= (_MainTex_ST.x + _MainTex_ST.y) / 2; + half percent = (_TwistUvRadius - length(tempUv)) / _TwistUvRadius; + half theta = percent * percent * (2.0 * sin(_TwistUvAmount)) * 8.0; + half s = sin(theta); + half c = cos(theta); + half beta = max(sign(_TwistUvRadius - length(tempUv)), 0.0); + tempUv = half2(dot(tempUv, half2(c, -s)), dot(tempUv, half2(s, c))) * beta + tempUv * (1 - beta); + tempUv += half2(_TwistUvPosX * _MainTex_ST.x, _TwistUvPosY * _MainTex_ST.y); + i.uv = tempUv; + #endif + + #if FISHEYE_ON + half2 midF = 0.5 * _MainTex_ST.xy; + half bind = length(midF); + half2 dF = i.uv - midF; + half dFlen = length(dF); + half fishInt = (3.14159265359 / bind) * (_FishEyeUvAmount + 0.001); + i.uv = midF + (dF / (max(0.0001, dFlen))) * tan(dFlen * fishInt) * bind / tan(bind * fishInt); + #endif + + #if PINCH_ON + half2 midP = 0.5 * _MainTex_ST.xy; + float2 dP = i.uv - midP; + float pinchInt = (3.141592 / length(midP)) * (-_PinchUvAmount + 0.001); + i.uv = midP + normalize(dP) * atan(length(dP) * -pinchInt * 10.0) * 0.5 / atan(-pinchInt * 5); + #endif + + #if DOODLE_ON + half2 uvCopy = uvRect; + _HandDrawnSpeed = (floor(_Time * 20 * _HandDrawnSpeed) / _HandDrawnSpeed) * _HandDrawnSpeed; + uvCopy.x = sin((uvCopy.x * _HandDrawnAmount + _HandDrawnSpeed) * 4); + uvCopy.y = cos((uvCopy.y * _HandDrawnAmount + _HandDrawnSpeed) * 4); + i.uv = lerp(i.uv, i.uv + uvCopy, 0.0005 * _HandDrawnAmount); + #endif + + #if SHAKEUV_ON + half xShake = sin((_Time + _RandomSeed) * _ShakeUvSpeed * 500 * _ShakeUvX); + half yShake = sin((_Time + _RandomSeed) * _ShakeUvSpeed * 500 * _ShakeUvY); + i.uv += half2(xShake * 0.01, yShake * 0.01); + #endif + + #if ZOOMUV_ON + half2 center = half2(0.5 * _MainTex_ST.x, 0.5 * _MainTex_ST.y); + i.uv -= center; + i.uv = i.uv * _ZoomUvAmount; + i.uv += center; + #endif + + #if TEXTURESCROLL_ON + i.uv.x += (_Time.y * _TextureScrollXSpeed) % 1; + i.uv.y += (_Time.y * _TextureScrollYSpeed) % 1; + #endif + + #if RECTSIZE_ON + i.uv = i.uv.xy * (_RectSize).xx + (((-_RectSize * 0.5) + 0.5)).xx; + #endif + + #if PIXELATE_ON + i.uv = floor(i.uv * _PixelateSize) / _PixelateSize; + #endif + + #if DISTORT_ON + i.uvDistTex.x += (_Time * _DistortTexXSpeed) % 1; + i.uvDistTex.y += (_Time * _DistortTexYSpeed) % 1; + #if ATLAS_ON + i.uvDistTex = half2((i.uvDistTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvDistTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half distortAmnt = (tex2D(_DistortTex, i.uvDistTex).r - 0.5) * 0.2 * _DistortAmount; + i.uv.x += distortAmnt; + i.uv.y += distortAmnt; + #endif + + #if WAVEUV_ON + half2 uvWave = half2(_WaveX * _MainTex_ST.x, _WaveY * _MainTex_ST.y) - i.uv; + #if ATLAS_ON + uvWave = half2(_WaveX, _WaveY) - uvRect; + #endif + uvWave.x *= _ScreenParams.x / _ScreenParams.y; + half angWave = (sqrt(dot(uvWave, uvWave)) * _WaveAmount) - ((_Time.y * _WaveSpeed) % 360); + i.uv = i.uv + normalize(uvWave) * sin(angWave) * (_WaveStrength / 1000); + #endif + + #if ROUNDWAVEUV_ON + float xWave = ((0.5 * _MainTex_ST.x) - uvRect.x); + float yWave = ((0.5 * _MainTex_ST.y) - uvRect.y) * (_ScreenParams.x / _ScreenParams.y); + float ripple = -sqrt(xWave*xWave + yWave* yWave); + i.uv += sin((ripple + _Time.y * (_RoundWaveSpeed/10.0)) / 0.015) * (_RoundWaveStrength/10.0); + #endif + + #if WIND_ON + #if !MANUALWIND_ON + i.uv.x = fmod(abs(lerp(i.uv.x, i.uv.x + (_GrassWind * 0.01 * sin(_Time * _GrassSpeed * 10)), uvRect.y)), 1); + #else + i.uv.x = fmod(abs(lerp(i.uv.x, i.uv.x + (_GrassWind * 0.01 * _GrassManualAnim), uvRect.y)), 1); + #endif + #endif + + half4 col = tex2D(_MainTex, i.uv) * i.color; + half originalAlpha = col.a; + col.rgb *= col.a; + + #if GLITCH_ON + half2 uvGlitch = uvRect; + uvGlitch.y -= 0.5; + half lineNoise = pow(rand2(floor(uvGlitch * half2(24., 19.) * _GlitchSize) * 4.0, _RandomSeed), 3.0) * _GlitchAmount + * pow(rand2(floor(uvGlitch * half2(38., 14.) * _GlitchSize) * 4.0, _RandomSeed), 3.0); + col = tex2D(_MainTex, i.uv + half2(lineNoise * 0.02 * rand2(half2(2.0, 1), _RandomSeed), 0)) * i.color; + #endif + + #if CHROMABERR_ON + half4 r = tex2D(_MainTex, i.uv + half2(_ChromAberrAmount/10, 0)) * i.color; + half4 b = tex2D(_MainTex, i.uv + half2(-_ChromAberrAmount/10, 0)) * i.color; + col = half4(r.r * r.a, col.g, b.b * b.a, max(max(r.a, b.a) * _ChromAberrAlpha, col.a)); + #endif + + #if FADE_ON + half2 tiledUvFade1= i.uvFadeTex1; + half2 tiledUvFade2 = i.uvFadeTex2; + #if ATLAS_ON + tiledUvFade1 = half2((tiledUvFade1.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUvFade1.y - _MinYUV) / (_MaxYUV - _MinYUV)); + tiledUvFade2 = half2((tiledUvFade2.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUvFade2.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half fadeTemp = tex2D(_FadeTex, tiledUvFade1).r; + half fade = smoothstep(_FadeAmount + 0.01, _FadeAmount + _FadeBurnTransition, fadeTemp); + half fadeBurn = smoothstep(_FadeAmount - _FadeBurnWidth, _FadeAmount - _FadeBurnWidth + 0.1, fadeTemp); + col.a *= fade; + _FadeBurnColor.rgb *= _FadeBurnGlow; + col += fadeBurn * tex2D(_FadeBurnTex, tiledUvFade2) * _FadeBurnColor * originalAlpha * (1 - col.a); + #endif + + #if BLUR_ON + #if !BLURISHD_ON + col = BlurHD(i.uv, _MainTex, _BlurIntensity) * i.color; + #else + col = Blur(i.uv, _MainTex, _BlurIntensity) * i.color; + #endif + #endif + + #if MOTIONBLUR_ON + _MotionBlurAngle = _MotionBlurAngle * 3.1415926; + #define rot(n) mul(n, float2x2(cos(_MotionBlurAngle), -sin(_MotionBlurAngle), sin(_MotionBlurAngle), cos(_MotionBlurAngle))) + _MotionBlurDist = _MotionBlurDist * 0.005; + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist, -_MotionBlurDist))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 2, -_MotionBlurDist * 2))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 3, -_MotionBlurDist * 3))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 4, -_MotionBlurDist * 4))); + col.rgb += tex2D(_MainTex, i.uv); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist, _MotionBlurDist))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 2, _MotionBlurDist * 2))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 3, _MotionBlurDist * 3))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 4, _MotionBlurDist * 4))); + col.rgb = col.rgb / 9; + #endif + + half luminance = 0; + #if COLORSWAP_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + half4 swapMask = tex2D(_ColorSwapTex, i.uv); + swapMask.rgb *= swapMask.a; + half3 redSwap = _ColorSwapRed * swapMask.r * col.a * saturate(luminance + _ColorSwapRedLuminosity); + half3 greenSwap = _ColorSwapGreen * swapMask.g * col.a * saturate(luminance + _ColorSwapGreenLuminosity); + half3 blueSwap = _ColorSwapBlue * swapMask.b * col.a * saturate(luminance + _ColorSwapBlueLuminosity); + col.rgb = col.rgb * saturate(1 - swapMask.r - swapMask.g - swapMask.b); + col.rgb = col.rgb + redSwap + greenSwap + blueSwap; + #endif + + #if NEGATIVE_ON + col.rgb = lerp(col.rgb, 1 - col.rgb, _NegativeAmount); + #endif + + #if COLORRAMP_ON && !COLORRAMPOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorRampLuminosity); + col.rgb = tex2D(_ColorRampTex, half2(luminance, 0)).rgb; + #endif + + #if CHANGECOLOR_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorChangeLuminosity); + half3 dif = abs(col.rgb - _ColorChangeTarget.rgb); + col.rgb = lerp(col.rgb, half3(luminance, luminance, luminance) * _ColorChangeNewCol.rgb, + max(sign(1 - saturate(dif.x + dif.y + dif.z) - _ColorChangeTolerance), 0.0)); + #endif + + #if GREYSCALE_ON && !GREYSCALEOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _GreyscaleLuminosity); + col.rgb = half3(luminance, luminance, luminance) * _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON && !POSTERIZEOUTLINE_ON + col.rgb = pow(col.rgb, _PosterizeGamma) * _PosterizeNumColors; + col.rgb = floor(col.rgb) / _PosterizeNumColors; + col.rgb = pow(col.rgb, 1.0 / _PosterizeGamma); + #endif + + #if GHOST_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + col.a = saturate(luminance - _GhostTransparency) * col.a; + col.rgb *= luminance + _GhostColorBoost; + #endif + + #if INNEROUTLINE_ON + half3 innerT = abs(GetPixel(0, _InnerOutlineThickness, i.uv, _MainTex) - GetPixel(0, -_InnerOutlineThickness, i.uv, _MainTex)); + innerT += abs(GetPixel(_InnerOutlineThickness, 0, i.uv, _MainTex) - GetPixel(-_InnerOutlineThickness, 0, i.uv, _MainTex)); + innerT /= 2.0; + innerT *= col.a * _InnerOutlineAlpha; + col.rgb += length(innerT) * _InnerOutlineColor.rgb * _InnerOutlineGlow; + #endif + + #if HITEFFECT_ON + col.rgb = lerp(col.rgb, _HitEffectColor.rgb * _HitEffectGlow, _HitEffectBlend); + #endif + + #if GRADIENT_ON + half2 tiledUvGrad = half2(uvRect.x / _MainTex_ST.x, uvRect.y / _MainTex_ST.y); + half _GradBoost = 1.2; + half4 vertical = lerp(lerp(_GradBotLeftCol, _GradBotRightCol, tiledUvGrad.x * _GradBoost), + lerp(_GradTopLeftCol, _GradTopRightCol, tiledUvGrad.x * _GradBoost), tiledUvGrad.y * _GradBoost); + col.rgb = lerp(col.rgb, vertical.rgb, _GradBlend) * col.a; + #endif + + //OUTLINE------------------------------------------------------------- + #if OUTBASE_ON + #ifdef OUTBASEPIXELPERF_ON + half2 destUv = half2(_OutlinePixelWidth * _MainTex_TexelSize.x, _OutlinePixelWidth * _MainTex_TexelSize.y); + #else + half2 destUv = half2(_OutlineWidth * _MainTex_TexelSize.x * 200, _OutlineWidth * _MainTex_TexelSize.y * 200); + #endif + + #if OUTDIST_ON + i.uvOutDistTex.x += (_Time * _OutlineDistortTexXSpeed) % 1; + i.uvOutDistTex.y += (_Time * _OutlineDistortTexYSpeed) % 1; + #if ATLAS_ON + i.uvOutDistTex = half2((i.uvOutDistTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvOutDistTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half outDistortAmnt = (tex2D(_OutlineDistortTex, i.uvOutDistTex).r - 0.5) * 0.2 * _OutlineDistortAmount; + destUv.x += outDistortAmnt; + destUv.y += outDistortAmnt; + #endif + + half spriteLeft = tex2D(_MainTex, i.uv + half2(destUv.x, 0)).a; + half spriteRight = tex2D(_MainTex, i.uv - half2(destUv.x, 0)).a; + half spriteBottom = tex2D(_MainTex, i.uv + half2(0, destUv.y)).a; + half spriteTop = tex2D(_MainTex, i.uv - half2(0, destUv.y)).a; + half result = spriteLeft + spriteRight + spriteBottom + spriteTop; + + #if OUTBASE8DIR_ON + half spriteTopLeft = tex2D(_MainTex, i.uv + half2(destUv.x, destUv.y)).a; + half spriteTopRight = tex2D(_MainTex, i.uv + half2(-destUv.x, destUv.y)).a; + half spriteBotLeft = tex2D(_MainTex, i.uv + half2(destUv.x, -destUv.y)).a; + half spriteBotRight = tex2D(_MainTex, i.uv + half2(-destUv.x, -destUv.y)).a; + result = result + spriteTopLeft + spriteTopRight + spriteBotLeft + spriteBotRight; + #endif + + result = step(0.05, saturate(result)); + + #if OUTTEX_ON + i.uvOutTex.x += (_Time * _OutlineTexXSpeed) % 1; + i.uvOutTex.y += (_Time * _OutlineTexYSpeed) % 1; + #if ATLAS_ON + i.uvOutTex = half2((i.uvOutTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvOutTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half4 tempOutColor = tex2D(_OutlineTex, i.uvOutTex); + #if OUTGREYTEXTURE_ON + luminance = 0.3 * tempOutColor.r + 0.59 * tempOutColor.g + 0.11 * tempOutColor.b; + tempOutColor = half4(luminance, luminance, luminance, 1); + #endif + tempOutColor *= _OutlineColor; + _OutlineColor = tempOutColor; + #endif + + result *= (1 - originalAlpha) *_OutlineAlpha; + + half4 outline = result * _OutlineColor; + outline.rgb *= _OutlineGlow * 2; + col += outline; + #endif + //----------------------------------------------------------------------------- + + #if SHADOW_ON + half shadowA = tex2D(_MainTex, i.uv + half2(_ShadowX, _ShadowY)).a; + col.rgb += (_ShadowColor * shadowA) * (1 - col.a); + col.a = max(shadowA * _ShadowAlpha * i.color.a, col.a); + #endif + + #if GLOW_ON + half4 emission; + #if GLOWTEX_ON + emission = tex2D(_GlowTex, i.uv); + #else + emission = col; + #endif + emission.rgb *= emission.a * col.a * _Glow * _GlowColor; + col.rgb += emission.rgb; + #endif + + #if COLORRAMP_ON && COLORRAMPOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorRampLuminosity); + col.rgb = tex2D(_ColorRampTex, half2(luminance, 0)).rgb; + #endif + + #if GREYSCALE_ON && GREYSCALEOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _GreyscaleLuminosity); + col.rgb = half3(luminance, luminance, luminance) * _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON && POSTERIZEOUTLINE_ON + col.rgb = pow(col.rgb, _PosterizeGamma) * _PosterizeNumColors; + col.rgb = floor(col.rgb) / _PosterizeNumColors; + col.rgb = pow(col.rgb, 1.0 / _PosterizeGamma); + #endif + + #if HSV_ON + half3 resultHsv = half3(col.rgb); + half cosHsv = _HsvBright * _HsvSaturation * cos(_HsvShift * 3.14159265 / 180); + half sinHsv = _HsvBright * _HsvSaturation * sin(_HsvShift * 3.14159265 / 180); + resultHsv.x = (.299 * _HsvBright + .701 * cosHsv + .168 * sinHsv) * col.x + + (.587 * _HsvBright - .587 * cosHsv + .330 * sinHsv) * col.y + + (.114 * _HsvBright - .114 * cosHsv - .497 * sinHsv) * col.z; + resultHsv.y = (.299 * _HsvBright - .299 * cosHsv - .328 * sinHsv) *col.x + + (.587 * _HsvBright + .413 * cosHsv + .035 * sinHsv) * col.y + + (.114 * _HsvBright - .114 * cosHsv + .292 * sinHsv) * col.z; + resultHsv.z = (.299 * _HsvBright - .3 * cosHsv + 1.25 * sinHsv) * col.x + + (.587 * _HsvBright - .588 * cosHsv - 1.05 * sinHsv) * col.y + + (.114 * _HsvBright + .886 * cosHsv - .203 * sinHsv) * col.z; + col.rgb = resultHsv; + #endif + + #if SHINE_ON + half shineMask = tex2D(_ShineMask, i.uv).a; + half lowLevel = _ShineLocation - _ShineWidth; + half highLevel = _ShineLocation + _ShineWidth; + half currentDistanceProjection = (i.uv.x + i.uv.y) / 2; + half whitePower = 1 - (abs(currentDistanceProjection - _ShineLocation) / _ShineWidth); + col.rgb += col.a * whitePower * _ShineGlow * (currentDistanceProjection > lowLevel) * (currentDistanceProjection < highLevel) * _ShineColor * shineMask; + #endif + + col.a *= _Alpha; + + #if ALPHACUTOFF_ON + clip((1 - _AlphaCutoffValue) - (1 - col.a) - 0.01); + #endif + + #if HOLOGRAM_ON + half totalHologram = _HologramStripesAmount + _HologramUnmodAmount; + half hologramYCoord = ((uvRect.y + (((_Time.x + _RandomSeed) % 1) * _HologramStripesSpeed)) % totalHologram) / totalHologram; + half alpha = RemapFloat(saturate(hologramYCoord - (_HologramUnmodAmount/totalHologram)), 0.0, 1.0, _HologramMinAlpha, saturate(_HologramMaxAlpha)); + col.a *= lerp(alpha, 1, max(sign((_HologramUnmodAmount/totalHologram) - hologramYCoord), 0.0)); + col.rgb *= max(1, _HologramMaxAlpha * max(sign(hologramYCoord - (_HologramUnmodAmount/totalHologram)), 0.0)); + #endif + + #if FLICKER_ON + col.a *= saturate(col.a * step(frac(0.05 + (_Time.w + _RandomSeed) * _FlickerFreq), 1 - _FlickerPercent) + _FlickerAlpha); + #endif + + col *= _Color; + return col; + } + ENDCG + } + } + CustomEditor "AllIn1SpriteShaderStencil" + Fallback "Sprites/Default" +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderScrollView.shader.meta b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderScrollView.shader.meta new file mode 100644 index 0000000..8e36068 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderScrollView.shader.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: a53f4bb29f3644b43b5075c6dcfecb32 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _GlowTex: {instanceID: 0} + - _FadeTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + - _FadeBurnTex: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3} + - _OutlineTex: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3} + - _OutlineDistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, + type: 3} + - _ColorSwapTex: {instanceID: 0} + - _ColorRampTex: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3} + - _DistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderUnscaledTime.shader b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderUnscaledTime.shader new file mode 100644 index 0000000..dfa9abc --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderUnscaledTime.shader @@ -0,0 +1,988 @@ +Shader "AllIn1SpriteShader/AllIn1SpriteShaderUnscaledTime" +{ + Properties + { + [Header(_General Properties_)] + _MainTex ("Main Texture", 2D) = "white" {} //0 + _Color("Main Color", Color) = (1,1,1,1) //1 + _Alpha("General Alpha", Range(0,1)) = 1 //2 + + _GlowColor("Glow Color", Color) = (1,1,1,1) //3 + _Glow("Glow Intensity", Range(0,100)) = 10 //4 + [Space] + [Space] + [Toggle()] _GlowTexUsed("Glow Texture used?", float) = 0 //5 + [Header(Texture does not support Tiling)] + _GlowTex("Glow Texture", 2D) = "white" {} //6 + + _FadeTex("Fade Texture", 2D) = "white" {} //7 + _FadeAmount("Fade Amount", Range(-0.1,1)) = -0.1 //8 + _FadeBurnWidth("Fade Burn Width", Range(0,1)) = 0.025 //9 + _FadeBurnTransition("Fade Burn Smooth Transition", Range(0.01,0.5)) = 0.075 //10 + _FadeBurnColor("Fade Burn Color", Color) = (1,1,0,1) //11 + _FadeBurnTex("Fade Burn Texture", 2D) = "white" {} //12 + _FadeBurnGlow("Fade Burn Glow", Range(1,50)) = 2//13 + + [Header(_Outline Basic Properties_)] + _OutlineColor("Outline Base Color", Color) = (1,1,1,1) //14 + _OutlineAlpha("Outline Base Alpha", Range(0,1)) = 1 //15 + _OutlineGlow("Outline Base Glow", Range(1,100)) = 1.5 //16 + [Toggle()] _Outline8Directions("Outline Base High Resolution?", float) = 0 //17 + _OutlineWidth("Outline Base Width", Range(0,0.2)) = 0.004 //18 + [Header(_Outline Width_)] + [Toggle()] _OutlineIsPixel("Outline Base is Pixel Perfect?", float) = 0 //19 + _OutlinePixelWidth("Outline Base Pixel Width", Int) = 1 //20 + + [Space] + [Header(_Outline Texture_)] + [Toggle()] _OutlineTexToggle("Outline uses texture?", float) = 0 //21 + _OutlineTex("Outline Texture", 2D) = "white" {} //22 + _OutlineTexXSpeed("Outline Texture scroll speed X axis", Range(-50,50)) = 10 //23 + _OutlineTexYSpeed("Outline Texture scroll speed Y axis", Range(-50,50)) = 0 //24 + [Toggle()] _OutlineTexGrey("Outline Texture is Greyscaled?", float) = 0 //25 + + [Space] + [Header(_Outline Distortion_)] + [Toggle()] _OutlineDistortToggle("Outline uses distortion?", float) = 0 //26 + _OutlineDistortTex("Outline Distortion Texture", 2D) = "white" {} //27 + _OutlineDistortAmount("Outline Distortion Amount", Range(0,2)) = 0.5 //28 + _OutlineDistortTexXSpeed("Outline Distortion scroll speed X axis", Range(-50,50)) = 5 //29 + _OutlineDistortTexYSpeed("Outline Distortion scroll speed Y axis", Range(-50,50)) = 5 //30 + + _GradBlend("Gradient Blend", Range(0,1)) = 1 //31 + _GradTopLeftCol("Gradient Top Left Color", Color) = (1,0,0,1) //32 + _GradTopRightCol("Gradient Top Right Color", Color) = (1,0,0,1) //33 + _GradBotLeftCol("Gradient Bot Left Color", Color) = (0,0,1,1) //34 + _GradBotRightCol("Gradient Bot Right Color", Color) = (0,0,1,1) //35 + + _ColorSwapTex("Color Swap Texture", 2D) = "black" {} //36 + [Header(You will need a mask texture (see Documentation))] + _ColorSwapRed("Color Swap Red Channel", Color) = (1,1,1,1) //37 + _ColorSwapRedLuminosity("Color Swap Red luminosity", Range(-1,1)) = 0.5 //38 + _ColorSwapGreen("Color Swap Green Channel", Color) = (1,1,1,1) //39 + _ColorSwapGreenLuminosity("Color Swap Green luminosity", Range(-1,1)) = 0.5 //40 + _ColorSwapBlue("Color Swap Blue Channel", Color) = (1,1,1,1) //41 + _ColorSwapBlueLuminosity("Color Swap Blue luminosity", Range(-1,1)) = 0.5 //42 + + _HsvShift("Hue Shift", Range(0, 360)) = 180 //43 + _HsvSaturation("Hue Shift Saturation", Range(0, 2)) = 1 //44 + _HsvBright("Hue Shift Bright", Range(0, 2)) = 1 //45 + + _HitEffectColor("Hit Effect Color", Color) = (1,1,1,1) //46 + _HitEffectGlow("Hit Effect Glow Intensity", Range(1,100)) = 5 //47 + [Space] + [Header(_Tip_ Animate the following property)] + _HitEffectBlend("Hit Effect Blend", Range(0,1)) = 1 //48 + + _NegativeAmount("Negative Amount", Range(0, 1)) = 1 //49 + + [Header(Looks bad with distorition effects)] + _PixelateSize("Pixelate size", Range(4,512)) = 32 //50 + + [Header(Texture does not support Tiling)] + _ColorRampTex("Color ramp Texture", 2D) = "white" {} //51 + _ColorRampLuminosity("Color ramp luminosity", Range(-1,1)) = 0 //52 + [Toggle()] _ColorRampOutline("Color ramp affects outline?", float) = 0 //53 + + _GreyscaleLuminosity("Greyscale luminosity", Range(-1,1)) = 0 //54 + [Toggle()] _GreyscaleOutline("Greyscale affects outline?", float) = 0 //55 + _GreyscaleTintColor("Greyscale Tint Color", Color) = (1,1,1,1) //56 + + _PosterizeNumColors("Posterize Number of Colors", Range(0,100)) = 8 //57 + _PosterizeGamma("Posterize Amount", Range(0.1,10)) = 0.75 //58 + [Toggle()] _PosterizeOutline("Posterize affects outline and glow?", float) = 0 //59 + + [Header(This effect will not affect the outline)] + _BlurIntensity("Blur Intensity", Range(0,100)) = 10 //60 + [Toggle()] _BlurHD("Blur is Low Res?", float) = 0 //61 + + _MotionBlurAngle("Motion Blur Angle", Range(-1, 1)) = 0.1 //62 + _MotionBlurDist("Motion Blur Distance", Range(-3, 3)) = 1.25 //63 + + [Header(This effect will not affect the outline)] + _GhostColorBoost("Ghost Color Boost", Range(0,5)) = 1 //64 + [Header(Choose the ghost color with the Main Color Property)] + _GhostTransparency("Ghost Transparency", Range(0,1)) = 0 //65 + + [Header(This effect will place the inner outlines over the original sprite)] + _InnerOutlineColor("Inner Outline Color", Color) = (1,0,0,1) //66 + _InnerOutlineThickness("Inner Outline Thickness", Range(0,3)) = 1 //67 + _InnerOutlineAlpha("Inner Outline Alpha", Range(0,1)) = 1 //68 + _InnerOutlineGlow("Inner Outline Glow", Range(1,250)) = 1 //69 + + _AlphaCutoffValue("Alpha cutoff value", Range(0, 1)) = 0.25 //70 + + [Toggle()] _OnlyOutline("Only render outline?", float) = 0 //71 + [Toggle()] _OnlyInnerOutline("Only render innerr outline?", float) = 0 //72 + + _HologramStripesAmount("Hologram Stripes Amount", Range(0, 1)) = 0.2 //73 + _HologramUnmodAmount("Hologram Unchanged Amount", Range(0, 1)) = 0.4 //74 + _HologramStripesSpeed("Hologram Stripes Speed", Range(0, 20)) = 5 //75 + _HologramMinAlpha("Hologram Min Alpha", Range(0, 1)) = 0.0 //76 + _HologramMaxAlpha("Hologram Max Alpha", Range(0, 10)) = 1.0 //77 + + _ChromAberrAmount("ChromAberr Amount", Range(0, 1)) = 1 //78 + _ChromAberrAlpha("ChromAberr Alpha", Range(0, 1)) = 0.4 //79 + + _GlitchAmount("Glitch Amount", Range(0, 20)) = 3 //80 + + _FlickerPercent("Flicker Percent", Range(0, 1)) = 0.05 //81 + _FlickerFreq("Flicker Frequency", Range(0, 5)) = 0.2 //82 + _FlickerAlpha("Flicker Alpha", Range(0, 1)) = 0 //83 + + _ShadowX("Shadow X Axis", Range(-0.5, 0.5)) = 0.1 //84 + _ShadowY("Shadow Y Axis", Range(-0.5, 0.5)) = -0.05 //85 + _ShadowAlpha("Shadow Alpha", Range(0, 1)) = 0.5 //86 + _ShadowColor("Shadow Color", Color) = (0, 0, 0, 1) //87 + + _HandDrawnAmount("Hand Drawn Amount", Range(2, 20)) = 10 //88 + _HandDrawnSpeed("Hand Drawn Speed", Range(1, 15)) = 5 //89 + + _GrassSpeed("Grass Speed", Range(0,50)) = 2 //90 + _GrassWind("Grass Wind (bend amount)", Range(0,50)) = 20 //91 + [Space] + [Toggle()] _GrassManualToggle("Grass is manually animated?", float) = 0 //92 + _GrassManualAnim("Grass Manual Anim", Range(-1,1)) = 1 //93 + + _WaveAmount("Wave Amount", Range(0, 25)) = 7 //94 + _WaveSpeed("Wave Speed", Range(0, 25)) = 10 //95 + _WaveStrength("Wave Strength", Range(0, 25)) = 7.5 //96 + _WaveX("Wave X Axis", Range(0, 1)) = 0 //97 + _WaveY("Wave Y Axis", Range(0, 1)) = 0.5 //98 + + [Header(Only on single sprites, spritesheets NOT supported)] + _RectSize("Rect Size", Range(1, 4)) = 1 //99 + + _OffsetUvX("Offset X axis", Range(-1, 1)) = 0 //100 + _OffsetUvY("Offset Y axis", Range(-1, 1)) = 0 //101 + + _ClipUvLeft("Clipping Left", Range(0, 1)) = 0 //102 + _ClipUvRight("Clipping Right", Range(0, 1)) = 0 //103 + _ClipUvUp("Clipping Up", Range(0, 1)) = 0 //104 + _ClipUvDown("Clipping Down", Range(0, 1)) = 0 //105 + + [Header(Set Texture Wrap Mode to Repeat)] + _TextureScrollXSpeed("Texture Scroll Speed X Axis", Range(-5, 5)) = 1 //106 + _TextureScrollYSpeed("Texture Scroll Speed Y Axis", Range(-5, 5)) = 0 //107 + + _ZoomUvAmount("Zoom Amount", Range(0.1, 5)) = 0.5 //108 + + _DistortTex("Distortion Texture", 2D) = "white" {} //109 + _DistortAmount("Distortion Amount", Range(0,2)) = 0.5 //110 + _DistortTexXSpeed("Distortion scroll speed X axis", Range(-50,50)) = 5 //111 + _DistortTexYSpeed("Distortion scroll speed Y axis", Range(-50,50)) = 5 //112 + + _TwistUvAmount("Twist Amount", Range(0, 3.1416)) = 1 //113 + _TwistUvPosX("Twist Pos X Axis", Range(0, 1)) = 0.5 //114 + _TwistUvPosY("Twist Pos Y Axis", Range(0, 1)) = 0.5 //115 + _TwistUvRadius("Twist Radius", Range(0, 3)) = 0.75 //116 + + [Header(_Tip_ Use Clipping effect to avoid possible undesired parts)] + _RotateUvAmount("Rotate Angle (in radians)", Range(0, 6.2831)) = 0 //117 + + _FishEyeUvAmount("Fish Eye Amount", Range(0, 0.5)) = 0.35 //118 + + _PinchUvAmount("Pinch Amount", Range(0, 0.5)) = 0.35 //119 + + _ShakeUvSpeed("Shake Speed", Range(0, 20)) = 2.5 //120 + _ShakeUvX("Shake X Multiplier", Range(0, 5)) = 1.5 //121 + _ShakeUvY("Shake Y Multiplier", Range(0, 5)) = 1 //122 + + _ColorChangeTolerance("Tolerance", Range(0, 1)) = 0.25 //123 + _ColorChangeTarget("Color to change", Color) = (1, 0, 0, 1) //124 + _ColorChangeNewCol("New Color", Color) = (1, 1, 0, 1) //125 + _ColorChangeLuminosity("New Color Luminosity", Range(0, 1)) = 0.0 //126 + + _RoundWaveStrength("Round Wave Strength", Range(0, 1)) = 0.7 //127 + _RoundWaveSpeed("Round Wave Speed", Range(0, 5)) = 2 //128 + + [Toggle()] _BillboardY("Billboard on both axis?", float) = 0 //129 + _ZWrite ("Depth Write", Float) = 0.0 // 130 + + _MySrcMode ("SrcMode", Float) = 5 // 131 + _MyDstMode ("DstMode", Float) = 10 // 132 + + _ShineColor("Shine Color", Color) = (1,1,1,1) // 133 + _ShineLocation("Shine Location", Range(0,1)) = 0.5 // 134 + _ShineWidth("Shine Width", Range(0.05,1)) = 0.1 // 135 + _ShineGlow("Shine Glow", Range(0,100)) = 1 // 136 + _ShineMask("Shine Mask", 2D) = "white" {} // 137 + + _GlitchSize("Glitch Size", Range(0.25, 5)) = 1 //138 + + _ZTestMode ("Z Test Mode", Float) = 4 // 139 + + [HideInInspector] _MinXUV("_MinXUV", Range(0, 1)) = 0.0 + [HideInInspector] _MaxXUV("_MaxXUV", Range(0, 1)) = 1.0 + [HideInInspector] _MinYUV("_MinYUV", Range(0, 1)) = 0.0 + [HideInInspector] _MaxYUV("_MaxYUV", Range(0, 1)) = 1.0 + [HideInInspector] _RandomSeed("_MaxYUV", Range(0, 10000)) = 0.0 + } + + SubShader + { + Tags { "Queue" = "Transparent" "CanUseSpriteAtlas" = "True" "IgnoreProjector" = "True" "RenderType" = "Transparent" "PreviewType" = "Plane" } + Blend [_MySrcMode] [_MyDstMode] + Cull Off + ZWrite [_ZWrite] + ZTest [_ZTestMode] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + + #pragma shader_feature GLOW_ON + #pragma shader_feature FADE_ON + #pragma shader_feature OUTBASE_ON + #pragma shader_feature ONLYOUTLINE_ON + #pragma shader_feature GRADIENT_ON + #pragma shader_feature COLORSWAP_ON + #pragma shader_feature HSV_ON + #pragma shader_feature CHANGECOLOR_ON + #pragma shader_feature COLORRAMP_ON + #pragma shader_feature HITEFFECT_ON + #pragma shader_feature NEGATIVE_ON + #pragma shader_feature PIXELATE_ON + #pragma shader_feature GREYSCALE_ON + #pragma shader_feature POSTERIZE_ON + #pragma shader_feature BLUR_ON + #pragma shader_feature MOTIONBLUR_ON + #pragma shader_feature GHOST_ON + #pragma shader_feature INNEROUTLINE_ON + #pragma shader_feature ONLYINNEROUTLINE_ON + #pragma shader_feature HOLOGRAM_ON + #pragma shader_feature CHROMABERR_ON + #pragma shader_feature GLITCH_ON + #pragma shader_feature FLICKER_ON + #pragma shader_feature SHADOW_ON + #pragma shader_feature SHINE_ON + #pragma shader_feature ALPHACUTOFF_ON + #pragma shader_feature DOODLE_ON + #pragma shader_feature WIND_ON + #pragma shader_feature WAVEUV_ON + #pragma shader_feature ROUNDWAVEUV_ON + #pragma shader_feature RECTSIZE_ON + #pragma shader_feature OFFSETUV_ON + #pragma shader_feature CLIPPING_ON + #pragma shader_feature TEXTURESCROLL_ON + #pragma shader_feature ZOOMUV_ON + #pragma shader_feature DISTORT_ON + #pragma shader_feature TWISTUV_ON + #pragma shader_feature ROTATEUV_ON + #pragma shader_feature POLARUV_ON + #pragma shader_feature FISHEYE_ON + #pragma shader_feature PINCH_ON + #pragma shader_feature SHAKEUV_ON + + #pragma shader_feature GLOWTEX_ON + #pragma shader_feature OUTTEX_ON + #pragma shader_feature OUTDIST_ON + #pragma shader_feature OUTBASE8DIR_ON + #pragma shader_feature OUTBASEPIXELPERF_ON + #pragma shader_feature OUTGREYTEXTURE_ON + #pragma shader_feature COLORRAMPOUTLINE_ON + #pragma shader_feature GREYSCALEOUTLINE_ON + #pragma shader_feature POSTERIZEOUTLINE_ON + #pragma shader_feature BLURISHD_ON + #pragma shader_feature MANUALWIND_ON + #pragma shader_feature ATLAS_ON + #pragma shader_feature BILBOARD_ON + #pragma shader_feature BILBOARDY_ON + #pragma shader_feature CUSTOMBLENDING_ON + #pragma shader_feature CUSTOMZTEST_ON + + #include "UnityCG.cginc" + #include "AllIn1OneShaderFunctions.cginc" + + struct appdata + { + half4 vertex : POSITION; + half2 uv : TEXCOORD0; + half4 color : COLOR; + }; + + struct v2f + { + float2 uv : TEXCOORD0; + half4 vertex : SV_POSITION; + half4 color : COLOR; + #if OUTTEX_ON + half2 uvOutTex : TEXCOORD1; + #endif + #if OUTDIST_ON + half2 uvOutDistTex : TEXCOORD2; + #endif + #if DISTORT_ON + half2 uvDistTex : TEXCOORD3; + #endif + #if FADE_ON + half2 uvFadeTex1 : TEXCOORD4; + half2 uvFadeTex2 : TEXCOORD5; + #endif + }; + + float globalUnscaledTime; + + sampler2D _MainTex; + half4 _MainTex_ST, _MainTex_TexelSize, _Color; + half _Alpha, _RandomSeed; + + #if ATLAS_ON + half _MinXUV, _MaxXUV, _MinYUV, _MaxYUV; + #endif + + #if RECTSIZE_ON + half _RectSize; + #endif + + #if OFFSETUV_ON + half _OffsetUvX, _OffsetUvY; + #endif + + #if CLIPPING_ON + half _ClipUvLeft, _ClipUvRight, _ClipUvUp, _ClipUvDown; + #endif + + #if TWISTUV_ON + half _TwistUvAmount, _TwistUvPosX, _TwistUvPosY, _TwistUvRadius; + #endif + + #if ROTATEUV_ON + half _RotateUvAmount; + #endif + + #if FISHEYE_ON + half _FishEyeUvAmount; + #endif + + #if PINCH_ON + half _PinchUvAmount; + #endif + + #if DOODLE_ON + half _HandDrawnAmount, _HandDrawnSpeed; + #endif + + #if SHAKEUV_ON + half _ShakeUvSpeed, _ShakeUvX, _ShakeUvY; + #endif + + #if WAVEUV_ON + half _WaveAmount, _WaveSpeed, _WaveStrength, _WaveX, _WaveY; + #endif + + #if ROUNDWAVEUV_ON + half _RoundWaveStrength, _RoundWaveSpeed; + #endif + + #if ZOOMUV_ON + half _ZoomUvAmount; + #endif + + #if FADE_ON + sampler2D _FadeTex, _FadeBurnTex; + half4 _FadeBurnColor, _FadeTex_ST, _FadeBurnTex_ST; + half _FadeAmount, _FadeBurnWidth, _FadeBurnTransition,_FadeBurnGlow; + #endif + + #if TEXTURESCROLL_ON + half _TextureScrollXSpeed, _TextureScrollYSpeed; + #endif + + #if GLOW_ON + sampler2D _GlowTex; + half4 _GlowColor; + half _Glow; + #endif + + #if OUTBASE_ON + half4 _OutlineColor; + half _OutlineAlpha, _OutlineGlow, _OutlineWidth; + int _OutlinePixelWidth; + #endif + + #if OUTTEX_ON + sampler2D _OutlineTex; + half4 _OutlineTex_ST; + half _OutlineTexXSpeed, _OutlineTexYSpeed; + #endif + + #if OUTDIST_ON + sampler2D _OutlineDistortTex; + half4 _OutlineDistortTex_ST; + half _OutlineDistortTexXSpeed, _OutlineDistortTexYSpeed, _OutlineDistortAmount; + #endif + + #if DISTORT_ON + sampler2D _DistortTex; + half4 _DistortTex_ST; + half _DistortTexXSpeed, _DistortTexYSpeed, _DistortAmount; + #endif + + #if WIND_ON + half _GrassSpeed, _GrassWind, _GrassManualAnim; + #endif + + #if GRADIENT_ON + half _GradBlend; + half4 _GradTopRightCol, _GradTopLeftCol, _GradBotRightCol, _GradBotLeftCol; + #endif + + #if COLORSWAP_ON + sampler2D _ColorSwapTex; + half4 _ColorSwapRed, _ColorSwapGreen, _ColorSwapBlue; + half _ColorSwapRedLuminosity, _ColorSwapGreenLuminosity, _ColorSwapBlueLuminosity; + #endif + + #if HSV_ON + half _HsvShift, _HsvSaturation, _HsvBright; + #endif + + #if HITEFFECT_ON + half4 _HitEffectColor; + half _HitEffectGlow, _HitEffectBlend; + #endif + + #if PIXELATE_ON + half _PixelateSize; + #endif + + #if NEGATIVE_ON + half _NegativeAmount; + #endif + + #if COLORRAMP_ON + sampler2D _ColorRampTex; + half _ColorRampLuminosity; + #endif + + #if GREYSCALE_ON + half _GreyscaleLuminosity; + half4 _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON + half _PosterizeNumColors, _PosterizeGamma; + #endif + + #if BLUR_ON + half _BlurIntensity; + #endif + + #if MOTIONBLUR_ON + half _MotionBlurAngle, _MotionBlurDist; + #endif + + #if GHOST_ON + half _GhostColorBoost, _GhostTransparency; + #endif + + #if INNEROUTLINE_ON + half _InnerOutlineThickness, _InnerOutlineAlpha, _InnerOutlineGlow; + half4 _InnerOutlineColor; + #endif + + #if HOLOGRAM_ON + half _HologramStripesAmount, _HologramMinAlpha, _HologramUnmodAmount, _HologramStripesSpeed, _HologramMaxAlpha; + #endif + + #if CHROMABERR_ON + half _ChromAberrAmount, _ChromAberrAlpha; + #endif + + #if GLITCH_ON + half _GlitchAmount, _GlitchSize; + #endif + + #if FLICKER_ON + half _FlickerFreq, _FlickerPercent, _FlickerAlpha; + #endif + + #if SHADOW_ON + half _ShadowX, _ShadowY, _ShadowAlpha; + half4 _ShadowColor; + #endif + + #if SHINE_ON + sampler2D _ShineMask; + half4 _ShineColor; + half _ShineLocation, _ShineWidth, _ShineGlow; + #endif + + #if ALPHACUTOFF_ON + half _AlphaCutoffValue; + #endif + + #if CHANGECOLOR_ON + half4 _ColorChangeNewCol, _ColorChangeTarget; + half _ColorChangeTolerance, _ColorChangeLuminosity; + #endif + + v2f vert (appdata v) + { + #if RECTSIZE_ON + v.vertex.xyz += (v.vertex.xyz * (_RectSize - 1.0)); + #endif + + v2f o; + #if BILBOARD_ON + half3 camRight = mul((half3x3)unity_CameraToWorld, half3(1,0,0)); + half3 camUp = half3(0,1,0); + #if BILBOARDY_ON + camUp = mul((half3x3)unity_CameraToWorld, half3(0,1,0)); + #endif + half3 localPos = v.vertex.x * camRight + v.vertex.y * camUp; + o.vertex = UnityObjectToClipPos(half4(localPos, 1)); + #else + o.vertex = UnityObjectToClipPos(v.vertex); + #endif + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + o.color = v.color; + + #if POLARUV_ON + o.uv = v.uv - 0.5f; + #endif + + #if ROTATEUV_ON + half2 uvC = v.uv; + half cosAngle = cos(_RotateUvAmount); + half sinAngle = sin(_RotateUvAmount); + float2x2 rot = float2x2(cosAngle, -sinAngle, sinAngle, cosAngle); + uvC -= half2(0.5, 0.5); + o.uv = mul(rot, uvC); + o.uv += half2(0.5, 0.5); + #endif + + #if OUTTEX_ON + o.uvOutTex = TRANSFORM_TEX(v.uv, _OutlineTex); + #endif + + #if OUTDIST_ON + o.uvOutDistTex = TRANSFORM_TEX(v.uv, _OutlineDistortTex); + #endif + + #if DISTORT_ON + o.uvDistTex = TRANSFORM_TEX(v.uv, _DistortTex); + #endif + + #if FADE_ON + o.uvFadeTex1 = TRANSFORM_TEX(v.uv, _FadeTex); + o.uvFadeTex2 = TRANSFORM_TEX(v.uv, _FadeBurnTex); + #endif + + return o; + } + + half3 GetPixel(in int offsetX, in int offsetY, half2 uv, sampler2D tex) + { + return tex2D(tex, (uv + half2(offsetX * _MainTex_TexelSize.x, offsetY * _MainTex_TexelSize.y))).rgb; + } + + half4 frag (v2f i) : SV_Target + { + half2 uvRect = i.uv; + + #if ATLAS_ON + uvRect = half2((i.uv.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uv.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + + #if CLIPPING_ON + half2 tiledUv = half2(i.uv.x / _MainTex_ST.x, i.uv.y / _MainTex_ST.y); + #if ATLAS_ON + tiledUv = half2((tiledUv.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUv.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + clip((1 - _ClipUvUp) - tiledUv.y); + clip(tiledUv.y - _ClipUvDown); + clip((1 - _ClipUvRight) - tiledUv.x); + clip(tiledUv.x - _ClipUvLeft); + #endif + + #if OFFSETUV_ON + i.uv += half2(_OffsetUvX, _OffsetUvY); + #endif + + #if POLARUV_ON + i.uv = half2(atan2(i.uv.y, i.uv.x) / (2.0f * 3.141592653589f), length(i.uv)); + i.uv *= _MainTex_ST.xy; + #endif + + #if TWISTUV_ON + half2 tempUv = i.uv - half2(_TwistUvPosX * _MainTex_ST.x, _TwistUvPosY * _MainTex_ST.y); + _TwistUvRadius *= (_MainTex_ST.x + _MainTex_ST.y) / 2; + half percent = (_TwistUvRadius - length(tempUv)) / _TwistUvRadius; + half theta = percent * percent * (2.0 * sin(_TwistUvAmount)) * 8.0; + half s = sin(theta); + half c = cos(theta); + half beta = max(sign(_TwistUvRadius - length(tempUv)), 0.0); + tempUv = half2(dot(tempUv, half2(c, -s)), dot(tempUv, half2(s, c))) * beta + tempUv * (1 - beta); + tempUv += half2(_TwistUvPosX * _MainTex_ST.x, _TwistUvPosY * _MainTex_ST.y); + i.uv = tempUv; + #endif + + #if FISHEYE_ON + half2 midF = 0.5 * _MainTex_ST.xy; + half bind = length(midF); + half2 dF = i.uv - midF; + half dFlen = length(dF); + half fishInt = (3.14159265359 / bind) * (_FishEyeUvAmount + 0.001); + i.uv = midF + (dF / (max(0.0001, dFlen))) * tan(dFlen * fishInt) * bind / tan(bind * fishInt); + #endif + + #if PINCH_ON + half2 midP = 0.5 * _MainTex_ST.xy; + float2 dP = i.uv - midP; + float pinchInt = (3.141592 / length(midP)) * (-_PinchUvAmount + 0.001); + i.uv = midP + normalize(dP) * atan(length(dP) * -pinchInt * 10.0) * 0.5 / atan(-pinchInt * 5); + #endif + + #if DOODLE_ON + half2 uvCopy = uvRect; + _HandDrawnSpeed = (floor(globalUnscaledTime * 20 * _HandDrawnSpeed) / _HandDrawnSpeed) * _HandDrawnSpeed; + uvCopy.x = sin((uvCopy.x * _HandDrawnAmount + _HandDrawnSpeed) * 4); + uvCopy.y = cos((uvCopy.y * _HandDrawnAmount + _HandDrawnSpeed) * 4); + i.uv = lerp(i.uv, i.uv + uvCopy, 0.0005 * _HandDrawnAmount); + #endif + + #if SHAKEUV_ON + half xShake = sin((globalUnscaledTime + _RandomSeed) * _ShakeUvSpeed * 500 * _ShakeUvX); + half yShake = sin((globalUnscaledTime + _RandomSeed) * _ShakeUvSpeed * 500 * _ShakeUvY); + i.uv += half2(xShake * 0.01, yShake * 0.01); + #endif + + #if ZOOMUV_ON + half2 center = half2(0.5 * _MainTex_ST.x, 0.5 * _MainTex_ST.y); + i.uv -= center; + i.uv = i.uv * _ZoomUvAmount; + i.uv += center; + #endif + + #if TEXTURESCROLL_ON + i.uv.x += ((globalUnscaledTime * 20) * _TextureScrollXSpeed) % 1; + i.uv.y += ((globalUnscaledTime * 20) * _TextureScrollYSpeed) % 1; + #endif + + #if RECTSIZE_ON + i.uv = i.uv.xy * (_RectSize).xx + (((-_RectSize * 0.5) + 0.5)).xx; + #endif + + #if PIXELATE_ON + i.uv = floor(i.uv * _PixelateSize) / _PixelateSize; + #endif + + #if DISTORT_ON + i.uvDistTex.x += ((globalUnscaledTime + _RandomSeed) * _DistortTexXSpeed) % 1; + i.uvDistTex.y += ((globalUnscaledTime + _RandomSeed) * _DistortTexYSpeed) % 1; + #if ATLAS_ON + i.uvDistTex = half2((i.uvDistTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvDistTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half distortAmnt = (tex2D(_DistortTex, i.uvDistTex).r - 0.5) * 0.2 * _DistortAmount; + i.uv.x += distortAmnt; + i.uv.y += distortAmnt; + #endif + + #if WAVEUV_ON + half2 uvWave = half2(_WaveX * _MainTex_ST.x, _WaveY * _MainTex_ST.y) - i.uv; + #if ATLAS_ON + uvWave = half2(_WaveX, _WaveY) - uvRect; + #endif + uvWave.x *= _ScreenParams.x / _ScreenParams.y; + half angWave = (sqrt(dot(uvWave, uvWave)) * _WaveAmount) - (((globalUnscaledTime * 20) * _WaveSpeed) % 360); + i.uv = i.uv + normalize(uvWave) * sin(angWave) * (_WaveStrength / 1000); + #endif + + #if ROUNDWAVEUV_ON + float xWave = ((0.5 * _MainTex_ST.x) - uvRect.x); + float yWave = ((0.5 * _MainTex_ST.y) - uvRect.y) * (_ScreenParams.x / _ScreenParams.y); + float ripple = -sqrt(xWave*xWave + yWave* yWave); + i.uv += sin((ripple + (globalUnscaledTime * 20) * (_RoundWaveSpeed/10.0)) / 0.015) * (_RoundWaveStrength/10.0); + #endif + + #if WIND_ON + #if !MANUALWIND_ON + i.uv.x = fmod(abs(lerp(i.uv.x, i.uv.x + (_GrassWind * 0.01 * sin(globalUnscaledTime * _GrassSpeed * 10)), uvRect.y)), 1); + #else + i.uv.x = fmod(abs(lerp(i.uv.x, i.uv.x + (_GrassWind * 0.01 * _GrassManualAnim), uvRect.y)), 1); + #endif + #endif + + half4 col = tex2D(_MainTex, i.uv) * i.color; + half originalAlpha = col.a; + col.rgb *= col.a; + + #if GLITCH_ON + half2 uvGlitch = uvRect; + uvGlitch.y -= 0.5; + half lineNoise = pow(rand2(floor(uvGlitch * half2(24., 19.) * _GlitchSize) * 4.0, _RandomSeed), 3.0) * _GlitchAmount + * pow(rand2(floor(uvGlitch * half2(38., 14.) * _GlitchSize) * 4.0, _RandomSeed), 3.0); + col = tex2D(_MainTex, i.uv + half2(lineNoise * 0.02 * rand2(half2(2.0, 1), _RandomSeed), 0)) * i.color; + #endif + + #if CHROMABERR_ON + half4 r = tex2D(_MainTex, i.uv + half2(_ChromAberrAmount/10, 0)) * i.color; + half4 b = tex2D(_MainTex, i.uv + half2(-_ChromAberrAmount/10, 0)) * i.color; + col = half4(r.r * r.a, col.g, b.b * b.a, max(max(r.a, b.a) * _ChromAberrAlpha, col.a)); + #endif + + #if FADE_ON + half2 tiledUvFade1= i.uvFadeTex1; + half2 tiledUvFade2 = i.uvFadeTex2; + #if ATLAS_ON + tiledUvFade1 = half2((tiledUvFade1.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUvFade1.y - _MinYUV) / (_MaxYUV - _MinYUV)); + tiledUvFade2 = half2((tiledUvFade2.x - _MinXUV) / (_MaxXUV - _MinXUV), (tiledUvFade2.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half fadeTemp = tex2D(_FadeTex, tiledUvFade1).r; + half fade = smoothstep(_FadeAmount + 0.01, _FadeAmount + _FadeBurnTransition, fadeTemp); + half fadeBurn = smoothstep(_FadeAmount - _FadeBurnWidth, _FadeAmount - _FadeBurnWidth + 0.1, fadeTemp); + col.a *= fade; + _FadeBurnColor.rgb *= _FadeBurnGlow; + col += fadeBurn * tex2D(_FadeBurnTex, tiledUvFade2) * _FadeBurnColor * originalAlpha * (1 - col.a); + #endif + + #if BLUR_ON + #if !BLURISHD_ON + col = BlurHD(i.uv, _MainTex, _BlurIntensity) * i.color; + #else + col = Blur(i.uv, _MainTex, _BlurIntensity) * i.color; + #endif + #endif + + #if MOTIONBLUR_ON + _MotionBlurAngle = _MotionBlurAngle * 3.1415926; + #define rot(n) mul(n, float2x2(cos(_MotionBlurAngle), -sin(_MotionBlurAngle), sin(_MotionBlurAngle), cos(_MotionBlurAngle))) + _MotionBlurDist = _MotionBlurDist * 0.005; + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist, -_MotionBlurDist))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 2, -_MotionBlurDist * 2))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 3, -_MotionBlurDist * 3))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(-_MotionBlurDist * 4, -_MotionBlurDist * 4))); + col.rgb += tex2D(_MainTex, i.uv); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist, _MotionBlurDist))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 2, _MotionBlurDist * 2))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 3, _MotionBlurDist * 3))); + col.rgb += tex2D(_MainTex, i.uv + rot(half2(_MotionBlurDist * 4, _MotionBlurDist * 4))); + col.rgb = col.rgb / 9; + #endif + + half luminance = 0; + #if COLORSWAP_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + half4 swapMask = tex2D(_ColorSwapTex, i.uv); + swapMask.rgb *= swapMask.a; + half3 redSwap = _ColorSwapRed * swapMask.r * col.a * saturate(luminance + _ColorSwapRedLuminosity); + half3 greenSwap = _ColorSwapGreen * swapMask.g * col.a * saturate(luminance + _ColorSwapGreenLuminosity); + half3 blueSwap = _ColorSwapBlue * swapMask.b * col.a * saturate(luminance + _ColorSwapBlueLuminosity); + col.rgb = col.rgb * saturate(1 - swapMask.r - swapMask.g - swapMask.b); + col.rgb = col.rgb + redSwap + greenSwap + blueSwap; + #endif + + #if NEGATIVE_ON + col.rgb = lerp(col.rgb, 1 - col.rgb, _NegativeAmount); + #endif + + #if COLORRAMP_ON && !COLORRAMPOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorRampLuminosity); + col.rgb = tex2D(_ColorRampTex, half2(luminance, 0)).rgb; + #endif + + #if CHANGECOLOR_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorChangeLuminosity); + half3 dif = abs(col.rgb - _ColorChangeTarget.rgb); + col.rgb = lerp(col.rgb, half3(luminance, luminance, luminance) * _ColorChangeNewCol.rgb, + max(sign(1 - saturate(dif.x + dif.y + dif.z) - _ColorChangeTolerance), 0.0)); + #endif + + #if GREYSCALE_ON && !GREYSCALEOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _GreyscaleLuminosity); + col.rgb = half3(luminance, luminance, luminance) * _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON && !POSTERIZEOUTLINE_ON + col.rgb = pow(col.rgb, _PosterizeGamma) * _PosterizeNumColors; + col.rgb = floor(col.rgb) / _PosterizeNumColors; + col.rgb = pow(col.rgb, 1.0 / _PosterizeGamma); + #endif + + #if GHOST_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + col.a = saturate(luminance - _GhostTransparency) * col.a; + col.rgb *= luminance + _GhostColorBoost; + #endif + + #if INNEROUTLINE_ON + half3 innerT = abs(GetPixel(0, _InnerOutlineThickness, i.uv, _MainTex) - GetPixel(0, -_InnerOutlineThickness, i.uv, _MainTex)); + innerT += abs(GetPixel(_InnerOutlineThickness, 0, i.uv, _MainTex) - GetPixel(-_InnerOutlineThickness, 0, i.uv, _MainTex)); + #if !ONLYINNEROUTLINE_ON + innerT = (innerT / 2.0) * col.a * _InnerOutlineAlpha; + col.rgb += length(innerT) * _InnerOutlineColor.rgb * _InnerOutlineGlow; + #else + innerT *= col.a * _InnerOutlineAlpha; + col.rgb = length(innerT) * _InnerOutlineColor.rgb * _InnerOutlineGlow; + col.a = step(0.3, col.r+col.g+col.b); + #endif + #endif + + #if HITEFFECT_ON + col.rgb = lerp(col.rgb, _HitEffectColor.rgb * _HitEffectGlow, _HitEffectBlend); + #endif + + #if GRADIENT_ON + half2 tiledUvGrad = half2(uvRect.x / _MainTex_ST.x, uvRect.y / _MainTex_ST.y); + half _GradBoost = 1.2; + half4 vertical = lerp(lerp(_GradBotLeftCol, _GradBotRightCol, tiledUvGrad.x * _GradBoost), + lerp(_GradTopLeftCol, _GradTopRightCol, tiledUvGrad.x * _GradBoost), tiledUvGrad.y * _GradBoost); + col.rgb = lerp(col.rgb, vertical.rgb, _GradBlend) * col.a; + #endif + + //OUTLINE------------------------------------------------------------- + #if OUTBASE_ON + #ifdef OUTBASEPIXELPERF_ON + half2 destUv = half2(_OutlinePixelWidth * _MainTex_TexelSize.x, _OutlinePixelWidth * _MainTex_TexelSize.y); + #else + half2 destUv = half2(_OutlineWidth * _MainTex_TexelSize.x * 200, _OutlineWidth * _MainTex_TexelSize.y * 200); + #endif + + #if OUTDIST_ON + i.uvOutDistTex.x += ((globalUnscaledTime + _RandomSeed) * _OutlineDistortTexXSpeed) % 1; + i.uvOutDistTex.y += ((globalUnscaledTime + _RandomSeed) * _OutlineDistortTexYSpeed) % 1; + #if ATLAS_ON + i.uvOutDistTex = half2((i.uvOutDistTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvOutDistTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half outDistortAmnt = (tex2D(_OutlineDistortTex, i.uvOutDistTex).r - 0.5) * 0.2 * _OutlineDistortAmount; + destUv.x += outDistortAmnt; + destUv.y += outDistortAmnt; + #endif + + half spriteLeft = tex2D(_MainTex, i.uv + half2(destUv.x, 0)).a; + half spriteRight = tex2D(_MainTex, i.uv - half2(destUv.x, 0)).a; + half spriteBottom = tex2D(_MainTex, i.uv + half2(0, destUv.y)).a; + half spriteTop = tex2D(_MainTex, i.uv - half2(0, destUv.y)).a; + half result = spriteLeft + spriteRight + spriteBottom + spriteTop; + + #if OUTBASE8DIR_ON + half spriteTopLeft = tex2D(_MainTex, i.uv + half2(destUv.x, destUv.y)).a; + half spriteTopRight = tex2D(_MainTex, i.uv + half2(-destUv.x, destUv.y)).a; + half spriteBotLeft = tex2D(_MainTex, i.uv + half2(destUv.x, -destUv.y)).a; + half spriteBotRight = tex2D(_MainTex, i.uv + half2(-destUv.x, -destUv.y)).a; + result = result + spriteTopLeft + spriteTopRight + spriteBotLeft + spriteBotRight; + #endif + + result = step(0.05, saturate(result)); + + #if OUTTEX_ON + i.uvOutTex.x += (globalUnscaledTime * _OutlineTexXSpeed) % 1; + i.uvOutTex.y += (globalUnscaledTime * _OutlineTexYSpeed) % 1; + #if ATLAS_ON + i.uvOutTex = half2((i.uvOutTex.x - _MinXUV) / (_MaxXUV - _MinXUV), (i.uvOutTex.y - _MinYUV) / (_MaxYUV - _MinYUV)); + #endif + half4 tempOutColor = tex2D(_OutlineTex, i.uvOutTex); + #if OUTGREYTEXTURE_ON + luminance = 0.3 * tempOutColor.r + 0.59 * tempOutColor.g + 0.11 * tempOutColor.b; + tempOutColor = half4(luminance, luminance, luminance, 1); + #endif + tempOutColor *= _OutlineColor; + _OutlineColor = tempOutColor; + #endif + + result *= (1 - originalAlpha) *_OutlineAlpha; + + half4 outline = result * _OutlineColor; + outline.rgb *= _OutlineGlow * 2; + #if ONLYOUTLINE_ON + col = outline; + #else + col += outline; + #endif + #endif + //----------------------------------------------------------------------------- + + #if SHADOW_ON + half shadowA = tex2D(_MainTex, i.uv + half2(_ShadowX, _ShadowY)).a; + col.rgb += (_ShadowColor * shadowA) * (1 - col.a); + col.a = max(shadowA * _ShadowAlpha * i.color.a, col.a); + #endif + + #if GLOW_ON + half4 emission; + #if GLOWTEX_ON + emission = tex2D(_GlowTex, i.uv); + #else + emission = col; + #endif + emission.rgb *= emission.a * col.a * _Glow * _GlowColor; + col.rgb += emission.rgb; + #endif + + #if COLORRAMP_ON && COLORRAMPOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _ColorRampLuminosity); + col.rgb = tex2D(_ColorRampTex, half2(luminance, 0)).rgb; + #endif + + #if GREYSCALE_ON && GREYSCALEOUTLINE_ON + luminance = 0.3 * col.r + 0.59 * col.g + 0.11 * col.b; + luminance = saturate(luminance + _GreyscaleLuminosity); + col.rgb = half3(luminance, luminance, luminance) * _GreyscaleTintColor; + #endif + + #if POSTERIZE_ON && POSTERIZEOUTLINE_ON + col.rgb = pow(col.rgb, _PosterizeGamma) * _PosterizeNumColors; + col.rgb = floor(col.rgb) / _PosterizeNumColors; + col.rgb = pow(col.rgb, 1.0 / _PosterizeGamma); + #endif + + #if HSV_ON + half3 resultHsv = half3(col.rgb); + half cosHsv = _HsvBright * _HsvSaturation * cos(_HsvShift * 3.14159265 / 180); + half sinHsv = _HsvBright * _HsvSaturation * sin(_HsvShift * 3.14159265 / 180); + resultHsv.x = (.299 * _HsvBright + .701 * cosHsv + .168 * sinHsv) * col.x + + (.587 * _HsvBright - .587 * cosHsv + .330 * sinHsv) * col.y + + (.114 * _HsvBright - .114 * cosHsv - .497 * sinHsv) * col.z; + resultHsv.y = (.299 * _HsvBright - .299 * cosHsv - .328 * sinHsv) *col.x + + (.587 * _HsvBright + .413 * cosHsv + .035 * sinHsv) * col.y + + (.114 * _HsvBright - .114 * cosHsv + .292 * sinHsv) * col.z; + resultHsv.z = (.299 * _HsvBright - .3 * cosHsv + 1.25 * sinHsv) * col.x + + (.587 * _HsvBright - .588 * cosHsv - 1.05 * sinHsv) * col.y + + (.114 * _HsvBright + .886 * cosHsv - .203 * sinHsv) * col.z; + col.rgb = resultHsv; + #endif + + #if SHINE_ON + half shineMask = tex2D(_ShineMask, i.uv).a; + half lowLevel = _ShineLocation - _ShineWidth; + half highLevel = _ShineLocation + _ShineWidth; + half currentDistanceProjection = (i.uv.x + i.uv.y) / 2; + half whitePower = 1 - (abs(currentDistanceProjection - _ShineLocation) / _ShineWidth); + col.rgb += col.a * whitePower * _ShineGlow * max(sign(currentDistanceProjection - lowLevel), 0.0) * max(sign(highLevel - currentDistanceProjection), 0.0) * _ShineColor * shineMask; + #endif + + col.a *= _Alpha; + + #if ALPHACUTOFF_ON + clip((1 - _AlphaCutoffValue) - (1 - col.a) - 0.01); + #endif + + #if HOLOGRAM_ON + half totalHologram = _HologramStripesAmount + _HologramUnmodAmount; + half hologramYCoord = ((uvRect.y + (((globalUnscaledTime + _RandomSeed) % 1) * _HologramStripesSpeed)) % totalHologram) / totalHologram; + half alpha = RemapFloat(saturate(hologramYCoord - (_HologramUnmodAmount/totalHologram)), 0.0, 1.0, _HologramMinAlpha, saturate(_HologramMaxAlpha)); + col.a *= lerp(alpha, 1, max(sign((_HologramUnmodAmount/totalHologram) - hologramYCoord), 0.0)); + col.rgb *= max(1, _HologramMaxAlpha * max(sign(hologramYCoord - (_HologramUnmodAmount/totalHologram)), 0.0)); + #endif + + #if FLICKER_ON + col.a *= saturate(col.a * step(frac(0.05 + ((globalUnscaledTime * 60) + _RandomSeed) * _FlickerFreq), 1 - _FlickerPercent) + _FlickerAlpha); + #endif + + col *= _Color; + return col; + } + ENDCG + } + } + CustomEditor "AllIn1SpriteShader" + Fallback "Sprites/Default" +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderUnscaledTime.shader.meta b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderUnscaledTime.shader.meta new file mode 100644 index 0000000..482b63e --- /dev/null +++ b/Assets/AllIn1SpriteShader/Resources/AllIn1SpriteShaderUnscaledTime.shader.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: f3622b3ac1631ea409b0f5811034f3a9 +ShaderImporter: + externalObjects: {} + defaultTextures: + - _MainTex: {instanceID: 0} + - _GlowTex: {instanceID: 0} + - _FadeTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + - _FadeBurnTex: {fileID: 2800000, guid: 677cca399782dea41aedc1d292ecb67d, type: 3} + - _OutlineTex: {fileID: 2800000, guid: 74087f6d03f233e4a8a142fa01f9e5cf, type: 3} + - _OutlineDistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, + type: 3} + - _ColorSwapTex: {instanceID: 0} + - _ColorRampTex: {fileID: 2800000, guid: 279657edc397ece4b8029c727adf6ddc, type: 3} + - _DistortTex: {fileID: 2800000, guid: 7aad8c583ef292e48b06af0d1f2fab97, type: 3} + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Scripts.meta b/Assets/AllIn1SpriteShader/Scripts.meta new file mode 100644 index 0000000..25e7f5c --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e5ef1ce32696cd4c8ddbe3e0e172819 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Scripts/AllIn1Shader.cs b/Assets/AllIn1SpriteShader/Scripts/AllIn1Shader.cs new file mode 100644 index 0000000..12f4ae1 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/AllIn1Shader.cs @@ -0,0 +1,383 @@ +using UnityEngine; +using UnityEngine.UI; +#if UNITY_EDITOR +using UnityEditor; +using UnityEditor.SceneManagement; +#endif + +[ExecuteInEditMode] +[AddComponentMenu("AllIn1SpriteShader/AddAllIn1Shader")] +public class AllIn1Shader : MonoBehaviour +{ + private Material currMaterial, prevMaterial; + private bool matAssigned = false, destroyed = false; + private enum AfterSetAction { Clear, CopyMaterial, Reset}; + +#if UNITY_EDITOR + private static float timeLastReload = -1f; + private void Start() + { + if(timeLastReload < 0) timeLastReload = Time.time; + } + + private void Update() + { + if (matAssigned || Application.isPlaying || !gameObject.activeSelf) return; + SpriteRenderer sr = GetComponent(); + if (sr != null) + { + Renderer r = GetComponent(); + if (r.sharedMaterial == null) return; + if (r.sharedMaterial.name.Contains("Default")) MakeNewMaterial(); + else matAssigned = true; + } + else + { + Image img = GetComponent(); + if (img != null) + { + if (img.material.name.Contains("Default")) MakeNewMaterial(); + else matAssigned = true; + } + } + } +#endif + + public void MakeNewMaterial() + { + SetMaterial(AfterSetAction.Clear); + } + + public void MakeCopy() + { + SetMaterial(AfterSetAction.CopyMaterial); + } + + private void ResetAllProperties() + { + SetMaterial(AfterSetAction.Reset); + } + + private void SetMaterial(AfterSetAction action) + { + Shader allIn1Shader = Resources.Load("AllIn1SpriteShader", typeof(Shader)) as Shader; + if (!Application.isPlaying && Application.isEditor && allIn1Shader != null) + { + bool rendererExists = false; + SpriteRenderer sr = GetComponent(); + if (sr != null) + { + rendererExists = true; + prevMaterial = new Material(GetComponent().sharedMaterial); + currMaterial = new Material(allIn1Shader); + GetComponent().sharedMaterial = currMaterial; + GetComponent().sharedMaterial.hideFlags = HideFlags.None; + matAssigned = true; + DoAfterSetAction(action); + } + else + { + Image img = GetComponent(); + if (img != null) + { + rendererExists = true; + prevMaterial = new Material(img.material); + currMaterial = new Material(allIn1Shader); + img.material = currMaterial; + img.material.hideFlags = HideFlags.None; + matAssigned = true; + DoAfterSetAction(action); + } + } + if (!rendererExists) + { + MissingRenderer(); + return; + } + else + { + SetSceneDirty(); + } + } + else if (allIn1Shader == null) + { + Debug.LogError("Make sure the AllIn1SpriteShader file is inside the Resource folder!"); + } + } + + private void DoAfterSetAction(AfterSetAction action) + { + switch (action) + { + case AfterSetAction.Clear: + ClearAllKeywords(); + break; + case AfterSetAction.CopyMaterial: + currMaterial.CopyPropertiesFromMaterial(prevMaterial); + break; + } + } + + public void TryCreateNew() + { + bool rendererExists = false; + SpriteRenderer sr = GetComponent(); + if (sr != null) + { + rendererExists = true; + Renderer r = GetComponent(); + if (r != null && r.sharedMaterial != null && r.sharedMaterial.name.Contains("AllIn1")) + { + ResetAllProperties(); + ClearAllKeywords(); + } + else + { + CleanMaterial(); + MakeNewMaterial(); + } + } + else + { + Image img = GetComponent(); + if (img != null) + { + rendererExists = true; + if (img.material.name.Contains("AllIn1")) + { + ResetAllProperties(); + ClearAllKeywords(); + } + else MakeNewMaterial(); + } + } + if (!rendererExists) + { + MissingRenderer(); + } + SetSceneDirty(); + } + + public void ClearAllKeywords() + { + SetKeyword("RECTSIZE_ON"); + SetKeyword("OFFSETUV_ON"); + SetKeyword("CLIPPING_ON"); + SetKeyword("POLARUV_ON"); + SetKeyword("TWISTUV_ON"); + SetKeyword("ROTATEUV_ON"); + SetKeyword("FISHEYE_ON"); + SetKeyword("PINCH_ON"); + SetKeyword("SHAKEUV_ON"); + SetKeyword("WAVEUV_ON"); + SetKeyword("ROUNDWAVEUV_ON"); + SetKeyword("DOODLE_ON"); + SetKeyword("ZOOMUV_ON"); + SetKeyword("FADE_ON"); + SetKeyword("TEXTURESCROLL_ON"); + SetKeyword("GLOW_ON"); + SetKeyword("OUTBASE_ON"); + SetKeyword("ONLYOUTLINE_ON"); + SetKeyword("OUTTEX_ON"); + SetKeyword("OUTDIST_ON"); + SetKeyword("DISTORT_ON"); + SetKeyword("WIND_ON"); + SetKeyword("GRADIENT_ON"); + SetKeyword("COLORSWAP_ON"); + SetKeyword("HSV_ON"); + SetKeyword("HITEFFECT_ON"); + SetKeyword("PIXELATE_ON"); + SetKeyword("NEGATIVE_ON"); + SetKeyword("COLORRAMP_ON"); + SetKeyword("GREYSCALE_ON"); + SetKeyword("POSTERIZE_ON"); + SetKeyword("BLUR_ON"); + SetKeyword("MOTIONBLUR_ON"); + SetKeyword("GHOST_ON"); + SetKeyword("INNEROUTLINE_ON"); + SetKeyword("ONLYINNEROUTLINE_ON"); + SetKeyword("HOLOGRAM_ON"); + SetKeyword("CHROMABERR_ON"); + SetKeyword("GLITCH_ON"); + SetKeyword("FLICKER_ON"); + SetKeyword("SHADOW_ON"); + SetKeyword("ALPHACUTOFF_ON"); + SetKeyword("CHANGECOLOR_ON"); + SetSceneDirty(); + } + + private void SetKeyword(string keyword, bool state = false) + { + if (destroyed) return; + if (currMaterial == null) + { + FindCurrMaterial(); + if (currMaterial == null) + { + MissingRenderer(); + return; + } + } + if (!state) currMaterial.DisableKeyword(keyword); + else currMaterial.EnableKeyword(keyword); + } + + private void FindCurrMaterial() + { + SpriteRenderer sr = GetComponent(); + if (sr != null) + { + currMaterial = GetComponent().sharedMaterial; + matAssigned = true; + } + else + { + Image img = GetComponent(); + if (img != null) + { + currMaterial = img.material; + matAssigned = true; + } + } + } + + public void CleanMaterial() + { + SpriteRenderer sr = GetComponent(); + if (sr != null) + { + GetComponent().sharedMaterial = new Material(Shader.Find("Sprites/Default")); + matAssigned = false; + } + else + { + Image img = GetComponent(); + if (img != null) + { + img.material = new Material(Shader.Find("Sprites/Default")); + matAssigned = false; + } + } + SetSceneDirty(); + } + + public void SaveMaterial() + { + #if UNITY_EDITOR + string path = "Assets/AllIn1SpriteShader/Materials/"; + if (PlayerPrefs.HasKey("All1ShaderMaterials")) path = PlayerPrefs.GetString("All1ShaderMaterials") + "/"; + if (!System.IO.Directory.Exists(path)) + { + EditorUtility.DisplayDialog("The desired folder doesn't exist", + "Go to Window -> AllIn1ShaderWindow and set a valid folder", "Ok"); + return; + } + path += gameObject.name; + string fullPath = path + ".mat"; + if (System.IO.File.Exists(fullPath)) + { + SaveMaterialWithOtherName(path); + } + else DoSaving(fullPath); + SetSceneDirty(); + #endif + } + private void SaveMaterialWithOtherName(string path, int i = 1) + { + int number = i; + string newPath = path + "_" + number.ToString(); + string fullPath = newPath + ".mat"; + if (System.IO.File.Exists(fullPath)) + { + number++; + SaveMaterialWithOtherName(path, number); + } + else + { + DoSaving(fullPath); + } + } + + private void DoSaving(string fileName) + { + #if UNITY_EDITOR + bool rendererExists = false; + SpriteRenderer sr = GetComponent(); + Material matToSave = null; + Material createdMat = null; + if (sr != null) + { + rendererExists = true; + matToSave = GetComponent().sharedMaterial; + } + else + { + Image img = GetComponent(); + if (img != null) + { + rendererExists = true; + matToSave = img.material; + } + } + if (!rendererExists) + { + MissingRenderer(); + return; + } + else + { + createdMat = new Material(matToSave); + AssetDatabase.CreateAsset(createdMat, fileName); + Debug.Log(fileName + " has been saved!"); + } + if (sr != null) + { + sr.material = createdMat; + } + else + { + Image img = GetComponent(); + img.material = createdMat; + } + #endif + } + + private void SetSceneDirty() + { + #if UNITY_EDITOR + if (!Application.isPlaying) EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + #endif + } + + private void MissingRenderer() + { + #if UNITY_EDITOR + EditorUtility.DisplayDialog("Missing Renderer", "This GameObject (" + + gameObject.name + ") has no Sprite Renderer or UI Image component. This AllIn1Shader component will be removed.", "Ok"); + destroyed = true; + DestroyImmediate(this); + return; + #endif + } + + public void ToggleSetAtlasUvs(bool activate) + { + SetAtlasUvs atlasUvs = GetComponent(); + if (activate) + { + if (atlasUvs == null) atlasUvs = gameObject.AddComponent(); + atlasUvs.GetAndSetUVs(); + SetKeyword("ATLAS_ON", true); + } + else + { + if (atlasUvs != null) + { + atlasUvs.ResetAtlasUvs(); + DestroyImmediate(atlasUvs); + } + SetKeyword("ATLAS_ON", false); + } + SetSceneDirty(); + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Scripts/AllIn1Shader.cs.meta b/Assets/AllIn1SpriteShader/Scripts/AllIn1Shader.cs.meta new file mode 100644 index 0000000..f767b7a --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/AllIn1Shader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee158225ee1e59f4791627785501d950 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Scripts/AllIn1ShaderWindow.cs b/Assets/AllIn1SpriteShader/Scripts/AllIn1ShaderWindow.cs new file mode 100644 index 0000000..88f65dd --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/AllIn1ShaderWindow.cs @@ -0,0 +1,63 @@ +#if UNITY_EDITOR +using UnityEngine; +using UnityEditor; +using System.IO; + +public class AllIn1ShaderWindow : EditorWindow +{ + [MenuItem("Window/AllIn1ShaderWindow")] + public static void ShowAllIn1ShaderWindowWindow() + { + GetWindow("All In 1 Shader Window"); + } + + private DefaultAsset materialTargetFolder = null; + + private void OnGUI() + { + GUILayout.Label("Through this window you'll be able to set the folder where the asset will save it's Materials", + EditorStyles.boldLabel); + + GUILayout.Space(20); + + materialTargetFolder = (DefaultAsset)EditorGUILayout.ObjectField( + "New Material Folder", + materialTargetFolder, + typeof(DefaultAsset), + false); + + if (materialTargetFolder != null && IsAssetAFolder(materialTargetFolder)) + { + string path = AssetDatabase.GetAssetPath(materialTargetFolder); + PlayerPrefs.SetString("All1ShaderMaterials", path); + EditorGUILayout.HelpBox( + "Valid folder! Material save path: " + path, + MessageType.Info, + true); + } + else + { + EditorGUILayout.HelpBox( + "Select the new Material Folder", + MessageType.Warning, + true); + } + } + + private static bool IsAssetAFolder(Object obj) + { + string path = ""; + + if (obj == null) return false; + + path = AssetDatabase.GetAssetPath(obj.GetInstanceID()); + + if (path.Length > 0) + { + if (Directory.Exists(path)) return true; + else return false; + } + return false; + } +} +#endif \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Scripts/AllIn1ShaderWindow.cs.meta b/Assets/AllIn1SpriteShader/Scripts/AllIn1ShaderWindow.cs.meta new file mode 100644 index 0000000..fd13786 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/AllIn1ShaderWindow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b642652081667ab4fad9f2579fec0e51 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Scripts/RandomSeed.cs b/Assets/AllIn1SpriteShader/Scripts/RandomSeed.cs new file mode 100644 index 0000000..d4277c3 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/RandomSeed.cs @@ -0,0 +1,33 @@ +using UnityEngine; +using UnityEngine.UI; + +public class RandomSeed : MonoBehaviour +{ + //If you want to randomize UI Images, you'll need to create different materials + void Start() + { + SpriteRenderer sr = GetComponent(); + if (sr != null) + { + Renderer r = GetComponent(); + if (r != null && r.material != null) + { + r.material.SetFloat("_RandomSeed", Random.Range(0, 1000f)); + } + else Debug.LogError("Missing Renderer or Material: " + gameObject.name); + } + else + { + Image i = GetComponent(); + if (i != null) + { + if (i.material != null) + { + i.material.SetFloat("_RandomSeed", Random.Range(0, 1000f)); + } + else Debug.LogError("Missing Material on UI Image: " + gameObject.name); + } + else Debug.LogError("Missing Sprite Renderer or UI Image on: " + gameObject.name); + } + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Scripts/RandomSeed.cs.meta b/Assets/AllIn1SpriteShader/Scripts/RandomSeed.cs.meta new file mode 100644 index 0000000..a77b08e --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/RandomSeed.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6078fd4d3c5bd6f4087f8869458662dd +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Scripts/SetAtlasUvs.cs b/Assets/AllIn1SpriteShader/Scripts/SetAtlasUvs.cs new file mode 100644 index 0000000..1292417 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/SetAtlasUvs.cs @@ -0,0 +1,141 @@ +using UnityEngine; +using UnityEngine.UI; +#if UNITY_EDITOR +using UnityEditor; +#endif + +[ExecuteInEditMode] +public class SetAtlasUvs : MonoBehaviour +{ + [SerializeField] private bool updateEveryFrame = false; + private Renderer render; + private SpriteRenderer spriteRender; + private Image uiImage; + private bool isUI = false; + + void Start() + { + if (GetRendererReferencesIfNeeded()) GetAndSetUVs(); + + if (!updateEveryFrame && Application.isPlaying) this.enabled = false; + } + + void OnWillRenderObject() + { + if (updateEveryFrame) + { + GetAndSetUVs(); + } + } + + public void GetAndSetUVs() + { + if (!GetRendererReferencesIfNeeded()) return; + + if (!isUI) + { + Rect r = spriteRender.sprite.rect; + r.x /= spriteRender.sprite.texture.width; + r.width /= spriteRender.sprite.texture.width; + r.y /= spriteRender.sprite.texture.height; + r.height /= spriteRender.sprite.texture.height; + + render.sharedMaterial.SetFloat("_MinXUV", r.xMin); + render.sharedMaterial.SetFloat("_MaxXUV", r.xMax); + render.sharedMaterial.SetFloat("_MinYUV", r.yMin); + render.sharedMaterial.SetFloat("_MaxYUV", r.yMax); + } + else + { + Rect r = uiImage.sprite.rect; + r.x /= uiImage.sprite.texture.width; + r.width /= uiImage.sprite.texture.width; + r.y /= uiImage.sprite.texture.height; + r.height /= uiImage.sprite.texture.height; + + uiImage.material.SetFloat("_MinXUV", r.xMin); + uiImage.material.SetFloat("_MaxXUV", r.xMax); + uiImage.material.SetFloat("_MinYUV", r.yMin); + uiImage.material.SetFloat("_MaxYUV", r.yMax); + } + } + + public void ResetAtlasUvs() + { + if (!GetRendererReferencesIfNeeded()) return; + + if (!isUI) + { + render.sharedMaterial.SetFloat("_MinXUV", 0f); + render.sharedMaterial.SetFloat("_MaxXUV", 1f); + render.sharedMaterial.SetFloat("_MinYUV", 0f); + render.sharedMaterial.SetFloat("_MaxYUV", 1f); + } + else + { + uiImage.material.SetFloat("_MinXUV", 0f); + uiImage.material.SetFloat("_MaxXUV", 1f); + uiImage.material.SetFloat("_MinYUV", 0f); + uiImage.material.SetFloat("_MaxYUV", 1f); + } + } + + public void UpdateEveryFrame(bool everyFrame) + { + updateEveryFrame = everyFrame; + } + + private bool GetRendererReferencesIfNeeded() + { + if (spriteRender == null) spriteRender = GetComponent(); + if (spriteRender != null) + { + if (spriteRender.sprite == null) + { + #if UNITY_EDITOR + EditorUtility.DisplayDialog("No sprite found", "The object: " + gameObject.name + ",has Sprite Renderer but no sprite", "Ok"); + #endif + return false; + } + if (render == null) render = GetComponent(); + isUI = false; + } + else + { + if (uiImage == null) + { + uiImage = GetComponent(); + if (uiImage != null) + { + #if UNITY_EDITOR + Debug.Log("You added the SetAtlasUv component to: " + gameObject.name + " that has a UI Image\n " + + "This SetAtlasUV component will only work properly on UI Images if each Image has a DIFFERENT material instance (See Documentation Sprite Atlases section for more info)"); + #endif + } + else + { + #if UNITY_EDITOR + EditorUtility.DisplayDialog("No Valid Renderer Component Found", "Looks like you have no Sprite Renderer or UI Image on: '" + + gameObject.name + "'\n This SetAtlasUV component will now get destroyed", "Ok"); + #endif + DestroyImmediate(this); + return false; + } + } + if (render == null) render = GetComponent(); + isUI = true; + } + + if (spriteRender == null && uiImage == null) + { + #if UNITY_EDITOR + EditorUtility.DisplayDialog("No Sprite Renderer", "Looks like you are missing a Sprite Renderer on: '" + + gameObject.name + "'\n SetAtlasUvs only works with Sprite Renderers since it needs a 'sharedMaterial' property that UI images lack." + + " This SetAtlasUV component will now get destroyed", "Ok"); + #endif + DestroyImmediate(this); + return false; + } + return true; + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Scripts/SetAtlasUvs.cs.meta b/Assets/AllIn1SpriteShader/Scripts/SetAtlasUvs.cs.meta new file mode 100644 index 0000000..7cd25f9 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/SetAtlasUvs.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1625263d85e5d554284989eb9052e863 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Scripts/SetGlobalTime.cs b/Assets/AllIn1SpriteShader/Scripts/SetGlobalTime.cs new file mode 100644 index 0000000..443c010 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/SetGlobalTime.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace AllIn1SpriteShader +{ + [ExecuteInEditMode] + public class SetGlobalTime : MonoBehaviour + { + int globalTime; + + void Start() + { + globalTime = Shader.PropertyToID("globalUnscaledTime"); + } + + void Update() + { + Shader.SetGlobalFloat(globalTime, Time.unscaledTime / 20f); + } + } +} \ No newline at end of file diff --git a/Assets/AllIn1SpriteShader/Scripts/SetGlobalTime.cs.meta b/Assets/AllIn1SpriteShader/Scripts/SetGlobalTime.cs.meta new file mode 100644 index 0000000..42caa74 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Scripts/SetGlobalTime.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ee7031a07aea7674fad9a0795b193f56 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures.meta b/Assets/AllIn1SpriteShader/Textures.meta new file mode 100644 index 0000000..3b81dbc --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9c6641ac06ac9d643898c55a675118f8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png b/Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png new file mode 100644 index 0000000..02d3b3a Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png.meta b/Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png.meta new file mode 100644 index 0000000..4a52ace --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/CustomEditorImage.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 917b41800d6604d4e99bef50da598d65 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 692da10dc1b5aa741a39ec794b64c334 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures.meta new file mode 100644 index 0000000..1cadac3 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5dc994715c67a694eafe9d1fba38560d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-bumbleberry.psd b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-bumbleberry.psd new file mode 100644 index 0000000..266704b Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-bumbleberry.psd differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-bumbleberry.psd.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-bumbleberry.psd.meta new file mode 100644 index 0000000..bd4a560 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-bumbleberry.psd.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: a9058d3dd9b9dd14cbc6b16db7859653 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 6b5fce476d6279846b6aee1cf9447c38 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-cool.psd b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-cool.psd new file mode 100644 index 0000000..17ab124 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-cool.psd differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-cool.psd.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-cool.psd.meta new file mode 100644 index 0000000..14f0032 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-cool.psd.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: bf981ecbfe649344eafdbc788f6dab0f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c61c2ea72b408804c90e310880261312 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-downwell.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-downwell.png new file mode 100644 index 0000000..3c108ba Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-downwell.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-downwell.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-downwell.png.meta new file mode 100644 index 0000000..c588ea9 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-downwell.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 279657edc397ece4b8029c727adf6ddc +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 85966af9cdddb7d4bbd347c94e844740 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-earthy.psd b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-earthy.psd new file mode 100644 index 0000000..e302149 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-earthy.psd differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-earthy.psd.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-earthy.psd.meta new file mode 100644 index 0000000..6d2ac28 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-earthy.psd.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: b3cfc9bf16a1cfa4ab153965dff63ad3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: f38908602dd238b409bc43bb9953646d + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy-pop-1x.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy-pop-1x.png new file mode 100644 index 0000000..d98dd2d Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy-pop-1x.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy-pop-1x.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy-pop-1x.png.meta new file mode 100644 index 0000000..75d81e1 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy-pop-1x.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 763e13699209a614b8800c76fc9dee48 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 4acacabd6b7da7644a38538f7ac969fa + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy.psd b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy.psd new file mode 100644 index 0000000..9daeca3 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy.psd differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy.psd.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy.psd.meta new file mode 100644 index 0000000..7c3ede9 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-gameboy.psd.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 285a35f6ccf7b1a44b6c198e96105173 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 45d692c8481a23a4ca4bf338eb345b89 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-metroid-ii-sgb-1x.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-metroid-ii-sgb-1x.png new file mode 100644 index 0000000..4b94e7a Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-metroid-ii-sgb-1x.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-metroid-ii-sgb-1x.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-metroid-ii-sgb-1x.png.meta new file mode 100644 index 0000000..1e0df5d --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-metroid-ii-sgb-1x.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 54b37de4aa07caa4797254cf2351058f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: fdaff416f4292e748acd0edc2ccd3a1b + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-mist-gb-1x.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-mist-gb-1x.png new file mode 100644 index 0000000..432a586 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-mist-gb-1x.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-mist-gb-1x.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-mist-gb-1x.png.meta new file mode 100644 index 0000000..e55e398 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-mist-gb-1x.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 359431ef2af87794198688f7c632c1e3 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c8412b3bf254b83478e63d50248d9511 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-neapolitan.psd b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-neapolitan.psd new file mode 100644 index 0000000..07d74a3 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-neapolitan.psd differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-neapolitan.psd.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-neapolitan.psd.meta new file mode 100644 index 0000000..df18f62 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-neapolitan.psd.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: cbb1819678c0e5a4c82464e4b1c0ce1c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: bbc95717f5bfe2342801eb1509f0c21e + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-bgb-1x.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-bgb-1x.png new file mode 100644 index 0000000..f7b9554 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-bgb-1x.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-bgb-1x.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-bgb-1x.png.meta new file mode 100644 index 0000000..b46c9d2 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-bgb-1x.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 8700b580d2f74da46b4cbcb5fde72d63 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 8bac87bbb6aabc449b1dbd4f1da1819f + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-black-zero-1x.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-black-zero-1x.png new file mode 100644 index 0000000..dc91c10 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-black-zero-1x.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-black-zero-1x.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-black-zero-1x.png.meta new file mode 100644 index 0000000..f9f4691 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-nintendo-gameboy-black-zero-1x.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 2a39734b8956da843adee1646c75554f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 9deeee28a79225f4fb4d99a97a42b3ea + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-platinum-1x.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-platinum-1x.png new file mode 100644 index 0000000..0ca0255 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-platinum-1x.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-platinum-1x.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-platinum-1x.png.meta new file mode 100644 index 0000000..e777d56 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/palette-platinum-1x.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 6fc6eee88963e63429ed61892dadd042 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 0 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5a250b7cef21ca84d8fc79970b91cc65 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/shadeRamp.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/shadeRamp.png new file mode 100644 index 0000000..d9dc310 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/shadeRamp.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/shadeRamp.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/shadeRamp.png.meta new file mode 100644 index 0000000..442c5a1 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/shadeRamp.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 555ec36b8c5401649af750d9738c7ddf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 592402d35dab4094da345853c417524b + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/toonShadeRamp.png b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/toonShadeRamp.png new file mode 100644 index 0000000..482d4a4 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/toonShadeRamp.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/PaletteTextures/toonShadeRamp.png.meta b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/toonShadeRamp.png.meta new file mode 100644 index 0000000..e1d9594 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/PaletteTextures/toonShadeRamp.png.meta @@ -0,0 +1,90 @@ +fileFormatVersion: 2 +guid: 536abb94c423a3443b5151f665cdc017 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: f37da52049ecfd04eb6a0a5176418ac1 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/UVChecker.png b/Assets/AllIn1SpriteShader/Textures/UVChecker.png new file mode 100644 index 0000000..e5ae774 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/UVChecker.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/UVChecker.png.meta b/Assets/AllIn1SpriteShader/Textures/UVChecker.png.meta new file mode 100644 index 0000000..fcf82a9 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/UVChecker.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: a4a73598226c9dd48aedc26a44264bdf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 32 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 49b78288c6606b142947c3702972ad14 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/fire.png b/Assets/AllIn1SpriteShader/Textures/fire.png new file mode 100644 index 0000000..b58d434 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/fire.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/fire.png.meta b/Assets/AllIn1SpriteShader/Textures/fire.png.meta new file mode 100644 index 0000000..2dc2908 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/fire.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 253ade5030af1b643bf9a54cceb26f01 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 87af0f70de267414287ea2f131be64a9 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/fire2.png b/Assets/AllIn1SpriteShader/Textures/fire2.png new file mode 100644 index 0000000..6f97d82 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/fire2.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/fire2.png.meta b/Assets/AllIn1SpriteShader/Textures/fire2.png.meta new file mode 100644 index 0000000..e8d8626 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/fire2.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 677cca399782dea41aedc1d292ecb67d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 164c93aa3c349884aab20273f4e027ed + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/flameNoise.png b/Assets/AllIn1SpriteShader/Textures/flameNoise.png new file mode 100644 index 0000000..d2078ef Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/flameNoise.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/flameNoise.png.meta b/Assets/AllIn1SpriteShader/Textures/flameNoise.png.meta new file mode 100644 index 0000000..a960ba1 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/flameNoise.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 806e236bc12668e4da974bb8f536d28f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 00ad019334681ad4e94f90f4e6870ade + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/flameNoise2.png b/Assets/AllIn1SpriteShader/Textures/flameNoise2.png new file mode 100644 index 0000000..de6a4f8 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/flameNoise2.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/flameNoise2.png.meta b/Assets/AllIn1SpriteShader/Textures/flameNoise2.png.meta new file mode 100644 index 0000000..93d97ad --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/flameNoise2.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: e3763a0fd85c67f4f9f31b55f886d31d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: df4dc4f6bf59b0046b0f0b70b9c13a19 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/gradient.png b/Assets/AllIn1SpriteShader/Textures/gradient.png new file mode 100644 index 0000000..b9b4c0a Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/gradient.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/gradient.png.meta b/Assets/AllIn1SpriteShader/Textures/gradient.png.meta new file mode 100644 index 0000000..4cd0ff3 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/gradient.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: b2ae57e82cd4b4d4ebfa9986f7c77c83 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: e7046a03f726c4e48b86b2beaa92795d + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/gradient2.png b/Assets/AllIn1SpriteShader/Textures/gradient2.png new file mode 100644 index 0000000..8e3e92f Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/gradient2.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/gradient2.png.meta b/Assets/AllIn1SpriteShader/Textures/gradient2.png.meta new file mode 100644 index 0000000..b8e65b2 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/gradient2.png.meta @@ -0,0 +1,112 @@ +fileFormatVersion: 2 +guid: dbaa905cec0d2b944b5d1ebdbc3ceb1e +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: fe5dc1f04fb78b54aab6a687e244d6d7 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/rainbow.png b/Assets/AllIn1SpriteShader/Textures/rainbow.png new file mode 100644 index 0000000..6dc1b23 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/rainbow.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/rainbow.png.meta b/Assets/AllIn1SpriteShader/Textures/rainbow.png.meta new file mode 100644 index 0000000..4a7e911 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/rainbow.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 74087f6d03f233e4a8a142fa01f9e5cf +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: adace43c9876fa64fb0fa83de503839c + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/seamlessNoise.png b/Assets/AllIn1SpriteShader/Textures/seamlessNoise.png new file mode 100644 index 0000000..6b9b495 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/seamlessNoise.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/seamlessNoise.png.meta b/Assets/AllIn1SpriteShader/Textures/seamlessNoise.png.meta new file mode 100644 index 0000000..f62108c --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/seamlessNoise.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: 7aad8c583ef292e48b06af0d1f2fab97 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 50 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 59e65a015812bfd44aabe97ca2ef2ca1 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/AllIn1SpriteShader/Textures/toonSeamlessNoise.png b/Assets/AllIn1SpriteShader/Textures/toonSeamlessNoise.png new file mode 100644 index 0000000..8211cb6 Binary files /dev/null and b/Assets/AllIn1SpriteShader/Textures/toonSeamlessNoise.png differ diff --git a/Assets/AllIn1SpriteShader/Textures/toonSeamlessNoise.png.meta b/Assets/AllIn1SpriteShader/Textures/toonSeamlessNoise.png.meta new file mode 100644 index 0000000..f728ed2 --- /dev/null +++ b/Assets/AllIn1SpriteShader/Textures/toonSeamlessNoise.png.meta @@ -0,0 +1,134 @@ +fileFormatVersion: 2 +guid: f96aebb9bcd1e3b44bafbb23b1bdac88 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 10 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Standalone + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: iPhone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: Android + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + - serializedVersion: 2 + buildTarget: WebGL + maxTextureSize: 256 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c347a607987f5654397113952ea0e2bd + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: