├── .gitattributes ├── Editor.meta ├── Editor ├── Constants.cs ├── Constants.cs.meta ├── FixES3Step.cs ├── FixES3Step.cs.meta ├── GeneratePhotonAssembliesStep.cs ├── GeneratePhotonAssembliesStep.cs.meta ├── ReplaceShadersStep.cs ├── ReplaceShadersStep.cs.meta ├── RepoWrapper.cs ├── RepoWrapper.cs.meta ├── com.kesomannen.unity-repo-project-patcher.Editor.asmdef └── com.kesomannen.unity-repo-project-patcher.Editor.asmdef.meta ├── LICENSE.md ├── LICENSE.md.meta ├── README.md ├── README.md.meta ├── Repo_AssetRipperSettings.asset ├── Repo_AssetRipperSettings.asset.meta ├── Repo_UnityProjectPatcherSettings.asset ├── Repo_UnityProjectPatcherSettings.asset.meta ├── Shaders.meta ├── Shaders ├── Ciconia Studio_CS_Standard_Builtin_Lite_Standard (Specular setup)_Cutout.shader ├── Ciconia Studio_CS_Standard_Builtin_Lite_Standard (Specular setup)_Cutout.shader.meta ├── Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Cutout.shader ├── Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Cutout.shader.meta ├── Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Transparent.shader ├── Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Transparent.shader.meta ├── Double Sided_Alpha Clip.shader ├── Double Sided_Alpha Clip.shader.meta ├── Emoji Shader.shader ├── Emoji Shader.shader.meta ├── Enemy Valuable Shader.shader ├── Enemy Valuable Shader.shader.meta ├── Fresnel Opaque.shader ├── Fresnel Opaque.shader.meta ├── Fresnel Transparent.shader ├── Fresnel Transparent.shader.meta ├── Hurtable_Hurtable Alpha Clip.shader ├── Hurtable_Hurtable Alpha Clip.shader.meta ├── Hurtable_Hurtable.shader ├── Hurtable_Hurtable.shader.meta ├── Lava.shader ├── Lava.shader.meta ├── Shader Graphs_World Space Floor.shader ├── Shader Graphs_World Space Floor.shader.meta ├── UI Overlay.shader └── UI Overlay.shader.meta ├── images.meta ├── images ├── banner.jpg └── banner.jpg.meta ├── package.json └── package.json.meta /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af0baa48821e5164889c4bbbf6603d73 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Kesomannen.RepoProjectPatcher.Editor { 2 | public static class Constants { 3 | public const string PackageName = "com.kesomannen.unity-repo-project-patcher"; 4 | } 5 | } -------------------------------------------------------------------------------- /Editor/Constants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bee2b45511d248df8687dcae1958b257 3 | timeCreated: 1741420245 -------------------------------------------------------------------------------- /Editor/FixES3Step.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using System.Linq; 3 | using Cysharp.Threading.Tasks; 4 | using Nomnom.UnityProjectPatcher.Editor; 5 | using Nomnom.UnityProjectPatcher.Editor.Steps; 6 | using UnityEditor; 7 | using UnityEngine; 8 | 9 | namespace Kesomannen.RepoProjectPatcher.Editor { 10 | // from nomnoms lc wrapper 11 | public readonly struct FixES3Step : IPatcherStep { 12 | public UniTask Run() { 13 | var settings = this.GetSettings(); 14 | var arSettings = this.GetAssetRipperSettings(); 15 | if (!arSettings.TryGetFolderMapping("Resources", out var resourcesFolder, out var exclude) || exclude) { 16 | Debug.Log("Skipping FixES3Step because no resources folder was found"); 17 | return UniTask.FromResult(StepResult.Success); 18 | } 19 | 20 | var soPath = Path.GetFullPath(Path.Combine(settings.ProjectGameAssetsPath, resourcesFolder, "es3", 21 | "ES3Defaults.asset")); 22 | if (!File.Exists(soPath)) { 23 | Debug.Log("Skipping FixES3Step because no ES3Defaults was found"); 24 | return UniTask.FromResult(StepResult.Success); 25 | } 26 | 27 | var newGuid = AssetDatabase.FindAssets("t:MonoScript") 28 | .Where(x => Path.GetFileName(AssetDatabase.GUIDToAssetPath(x)) == "ES3Defaults.cs") 29 | .Select(x => Path.GetFullPath(AssetDatabase.GUIDToAssetPath(x))) 30 | .Where(x => File.Exists(x)) 31 | .Select(x => AssetScrubber.GetMetaGuid(x)) 32 | .FirstOrDefault(); 33 | 34 | if (string.IsNullOrEmpty(newGuid)) { 35 | Debug.Log("Skipping FixES3Step because no ES3Defaults.cs was found"); 36 | return UniTask.FromResult(StepResult.Success); 37 | } 38 | 39 | AssetScrubber.ReplaceAssetGuids(soPath, newGuid); 40 | return UniTask.FromResult(StepResult.Success); 41 | } 42 | 43 | public void OnComplete(bool failed) { } 44 | } 45 | } -------------------------------------------------------------------------------- /Editor/FixES3Step.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4d39c70701a4f198298f7b96b9a7692 3 | timeCreated: 1741338158 -------------------------------------------------------------------------------- /Editor/GeneratePhotonAssembliesStep.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using Cysharp.Threading.Tasks; 5 | using Newtonsoft.Json; 6 | using Nomnom.UnityProjectPatcher.Editor.Steps; 7 | using UnityEditor; 8 | using UnityEngine; 9 | 10 | namespace Kesomannen.RepoProjectPatcher.Editor { 11 | // Copying the photon DLLs creates missing scripts, so instead we have to import the decompiled source files. 12 | // However, that breaks any mods that depend on those assemblies. 13 | 14 | // This is a dirty solution to make sure that those mods can load, 15 | // by creating assembly definitions for each script folder. 16 | public struct GeneratePhotonAssembliesStep : IPatcherStep { 17 | [MenuItem("Tools/R.E.P.O. Project Patcher/Generate Photon Assembly Definitions")] 18 | static void MenuItem() { 19 | GenerateDefinitions(); 20 | EditorUtility.RequestScriptReload(); 21 | } 22 | 23 | static readonly Dictionary Dependencies = new() { 24 | { "Photon3Unity3D", Array.Empty() }, 25 | { "PhotonChat", new [] { 26 | "Photon3Unity3D" 27 | } }, 28 | { "PhotonRealtime", new [] { 29 | "Photon3Unity3D" 30 | } }, 31 | { "PhotonUnityNetworking", new [] { 32 | "Photon3Unity3D", 33 | "PhotonRealtime" 34 | } }, 35 | { "PhotonUnityNetworking.Utilities", new [] { 36 | "Photon3Unity3D", 37 | "PhotonRealtime", 38 | "PhotonUnityNetworking" 39 | } }, 40 | { "PhotonVoice", new [] { 41 | "Photon3Unity3D", 42 | "PhotonRealtime", 43 | "PhotonVoice.API" 44 | } }, 45 | { "PhotonVoice.API", new [] { 46 | "Photon3Unity3D", 47 | "PhotonRealtime" 48 | } }, 49 | { "PhotonVoice.PUN", new [] { 50 | "Photon3Unity3D", 51 | "PhotonRealtime", 52 | "PhotonUnityNetworking", 53 | "PhotonVoice", 54 | "PhotonVoice.API" 55 | } }, 56 | }; 57 | 58 | public UniTask Run() { 59 | GenerateDefinitions(); 60 | 61 | return UniTask.FromResult(StepResult.Recompile); 62 | } 63 | 64 | static void GenerateDefinitions() { 65 | var scriptsFolder = Path.Combine(Application.dataPath, "REPO", "Game", "Scripts"); 66 | 67 | foreach (var (assembly, dependencies) in Dependencies) { 68 | var folderPath = Path.Combine(scriptsFolder, assembly); 69 | var asmdefPath = Path.Combine(folderPath, $"{assembly}.asmdef"); 70 | 71 | var asmDef = new Dictionary { 72 | { "name", assembly }, 73 | { "references", dependencies } 74 | }; 75 | 76 | var json = JsonConvert.SerializeObject(asmDef, Formatting.Indented); 77 | File.WriteAllText(asmdefPath, json); 78 | 79 | Debug.Log($"Generated assembly definition for {assembly}"); 80 | } 81 | 82 | Debug.Log($"Successfully generated Photon assembly definitions, recompiling..."); 83 | } 84 | 85 | public void OnComplete(bool failed) { } 86 | } 87 | } -------------------------------------------------------------------------------- /Editor/GeneratePhotonAssembliesStep.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 769a220271c7476b9562aa6b963957d9 3 | timeCreated: 1741368272 -------------------------------------------------------------------------------- /Editor/ReplaceShadersStep.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | using Cysharp.Threading.Tasks; 4 | using Nomnom.UnityProjectPatcher.Editor.Steps; 5 | using UnityEditor; 6 | using UnityEngine; 7 | 8 | namespace Kesomannen.RepoProjectPatcher.Editor { 9 | public struct ReplaceShadersStep : IPatcherStep { 10 | [MenuItem("Tools/R.E.P.O. Project Patcher/Replace Shaders")] 11 | static void MenuItem() { 12 | ReplaceShaders(); 13 | } 14 | 15 | static void ReplaceShaders() { 16 | AssetDatabase.StartAssetEditing(); 17 | 18 | var count = 0; 19 | 20 | try { 21 | var gameShadersFolder = "Assets/REPO/Game/Shaders"; 22 | var materialsFolder = "Assets/REPO/Game/Materials"; 23 | var customShadersFolder = $"Packages/{Constants.PackageName}/Shaders"; 24 | 25 | var shaderReplacements = new Dictionary(); 26 | 27 | // gather custom written replacement shaders 28 | var customGuids = AssetDatabase.FindAssets("t:Shader", new[] { customShadersFolder }); 29 | foreach (var guid in customGuids) { 30 | var customPath = AssetDatabase.GUIDToAssetPath(guid); 31 | var originalPath = customPath.Replace(customShadersFolder, gameShadersFolder); 32 | 33 | var custom = AssetDatabase.LoadAssetAtPath(customPath); 34 | var original = AssetDatabase.LoadAssetAtPath(originalPath); 35 | 36 | shaderReplacements.Add(original, custom); 37 | } 38 | 39 | Debug.Log($"Found {customGuids.Length} custom shaders"); 40 | 41 | var materialGuids = AssetDatabase.FindAssets("t:Material", new[] { materialsFolder }); 42 | foreach (var guid in materialGuids) { 43 | var path = AssetDatabase.GUIDToAssetPath(guid); 44 | var material = AssetDatabase.LoadAssetAtPath(path); 45 | 46 | if (shaderReplacements.TryGetValue(material.shader, out var replacement)) { 47 | Debug.Log($"Replacing shader in {material.name}", material); 48 | 49 | Undo.RecordObject(material, "Replace Shader"); 50 | material.shader = replacement; 51 | EditorUtility.SetDirty(material); 52 | 53 | count++; 54 | } 55 | } 56 | } 57 | finally { 58 | AssetDatabase.StopAssetEditing(); 59 | } 60 | 61 | Debug.Log($"Replaced shader in {count} materials, saving..."); 62 | 63 | AssetDatabase.SaveAssets(); 64 | AssetDatabase.Refresh(); 65 | } 66 | 67 | public UniTask Run() { 68 | ReplaceShaders(); 69 | return UniTask.FromResult(StepResult.Success); 70 | } 71 | 72 | public void OnComplete(bool failed) { } 73 | } 74 | } -------------------------------------------------------------------------------- /Editor/ReplaceShadersStep.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 035a0b9a2d29416a87550966e179623d 3 | timeCreated: 1741420077 -------------------------------------------------------------------------------- /Editor/RepoWrapper.cs: -------------------------------------------------------------------------------- 1 | using Nomnom.UnityProjectPatcher.Editor; 2 | using Nomnom.UnityProjectPatcher.Editor.Steps; 3 | 4 | namespace Kesomannen.RepoProjectPatcher.Editor { 5 | [UPPatcher("com.kesomannen.unity-repo-project-patcher")] 6 | public static class RepoWrapper { 7 | public static void GetSteps(StepPipeline stepPipeline) { 8 | stepPipeline.SetInputSystem(InputSystemType.Both); 9 | stepPipeline.SetGameViewResolution("16:9"); 10 | stepPipeline.OpenSceneAtEnd("Main"); 11 | 12 | stepPipeline.InsertLast(new FixES3Step()); 13 | stepPipeline.InsertLast(new GeneratePhotonAssembliesStep()); 14 | stepPipeline.InsertLast(new ReplaceShadersStep()); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Editor/RepoWrapper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1536f8bdafd14ca78bc558d7b382e295 3 | timeCreated: 1741337959 -------------------------------------------------------------------------------- /Editor/com.kesomannen.unity-repo-project-patcher.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.kesomannen.unity-repo-project-patcher.Editor", 3 | "rootNamespace": "", 4 | "references": [ 5 | "GUID:419b14fad59f488e9e1a3c798cff9f89", 6 | "GUID:d622a80a03e90ec48afe2a9c4bacce98", 7 | "GUID:f51ebe6a0ceec4240a699833d6309b23" 8 | ], 9 | "includePlatforms": [ 10 | "Editor" 11 | ], 12 | "excludePlatforms": [], 13 | "allowUnsafeCode": false, 14 | "overrideReferences": false, 15 | "precompiledReferences": [], 16 | "autoReferenced": true, 17 | "defineConstraints": [], 18 | "versionDefines": [], 19 | "noEngineReferences": false 20 | } -------------------------------------------------------------------------------- /Editor/com.kesomannen.unity-repo-project-patcher.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d036bb1b785d3a4d9526c7e6db42843 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d364d9b2c483d774782e07531bc32321 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

R.E.P.O. Project Patcher

3 | 4 | 5 | 6 |

7 | A game wrapper that generates a Unity project from R.E.P.O.'s build that can be playable in-editor 8 |

9 |
10 | 11 |
12 | 13 | 14 | Unity Project Patcher 15 | · 16 | Report Bug 17 | · 18 | Request Feature 19 | 20 | 21 | 22 |
23 | 24 |
25 | 26 | # Table of Contents 27 | 28 | - [About the Project](#about-the-project) 29 | - [Getting Started](#getting-started) 30 | - [Installation](#installation) 31 | - [Usage](#usage) 32 | - [FAQ](#faq) 33 | 34 | ## About the Project 35 | 36 | This tool is a game wrapper on top of the [Unity Project Patcher](https://github.com/nomnomab/unity-project-patcher). 37 | 38 | This takes a build of R.E.P.O., extracts its assets/scripts/etc, and then generates a project for usage in the Unity editor. 39 | 40 | > [!IMPORTANT] 41 | > This tool does not distribute game files. It simply works off of your copy of the game! 42 | > 43 | > Also, this tool is for **personal** use only. Do not re-distrubute game files to others. 44 | 45 | ## Getting Started 46 | 47 | Make sure you have the following before using the tool in any way: 48 | 49 | - [Git](https://git-scm.com/download/win) 50 | - [.NET 9.0](https://dotnet.microsoft.com/en-us/download/dotnet/9.0) 51 | - To run Asset Ripper 52 | 53 | ## Installation 54 | 55 | ### Unity Project 56 | 57 | - Requires [Unity 2022.3.21](https://unity.com/releases/editor/whats-new/2022.3.21) 58 | - Unity built-in render pipeline 59 | 60 | Create a new Unity project with the above requirements before getting started. 61 | 62 | You will need to install three packages in sequence here: 63 | 64 | - Unity Project Patcher: `https://github.com/nomnomab/unity-project-patcher.git` 65 | - Unity Project Patcher BepInEx: `https://github.com/nomnomab/unity-project-patcher-bepinex.git` 66 | - [Can be disabled](#disabling-bepinex-usage) 67 | - This project 68 | 69 | ### Installing the Unity Project Patcher core 70 | 71 | 1. Open the Package Manager from `Window > Package Manager` 72 | 2. Click the '+' button in the top-left of the window 73 | 3. Click 'Add package from git URL' 74 | 4. Provide the URL of the this git repository: `https://github.com/nomnomab/unity-project-patcher.git` 75 | - If you are using a specific version, you can append it to the end of the git URL, such as `#v1.2.3` 76 | 5. Click the 'add' button 77 | 78 | ```json 79 | "com.nomnom.unity-project-patcher": "https://github.com/nomnomab/unity-project-patcher.git" 80 | ``` 81 | 82 | - If you are using a specific version, you can append it to the end of the git URL, such as `#v1.2.3` 83 | 84 | ### Installing this Game Wrapper 85 | 86 | The same steps as previously, just with `https://github.com/Kesomannen/unity-repo-project-patcher.git` 87 | 88 | ### Installing the BepInEx Wrapper 89 | 90 | Open the tool window `Tools > Unity Project Patcher > Open Window` and press the `Install BepInEx` button. 91 | 92 | Otherwise, follow the steps at https://github.com/nomnomab/unity-project-patcher-bepinex 93 | 94 | #### Disabling BepInEx Usage 95 | 96 | If you don't want to use plugins, then follow the steps at https://github.com/nomnomab/unity-project-patcher-bepinex#disabling-this-package 97 | 98 | ## Usage 99 | 100 | The tool window can be opened via `Tools > Unity Project Patcher > Open Window` 101 | 102 | > [!IMPORTANT] 103 | > This tool mostly supports patching an already patched project, although this can lead to broken assets. 104 | > So make sure you back up your project beforehand. 105 | 106 | Estimated patch durations: 107 | 108 | - Fresh patch: ~10 min 109 | - Already patched: TBD 110 | 111 | These can vary wildly depending on system speed and project size. 112 | 113 | ## Credits 114 | 115 | Replacement shaders made by [Orton](https://linktr.ee/ortonlonggaming). 116 | 117 | ## FAQ 118 | 119 | **Q: How do I get rid of the "No cameras rendering" warning?** 120 | 121 | Right click the `Game` window and uncheck the checkbox labeled "Warn if no cameras rendering"; 122 | 123 | --- 124 | 125 | For more questions, see core project's FAQ: https://github.com/nomnomab/unity-project-patcher#faq 126 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37164bb18b0b3e543a920ecc8ee8575f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Repo_AssetRipperSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 916d8141f5694455a1684411a2d0c2ac, type: 3} 13 | m_Name: Repo_AssetRipperSettings 14 | m_EditorClassIdentifier: 15 | _folderMappings: 16 | - key: AnimationClip 17 | sourceName: AnimationClip 18 | outputPath: Animation\AnimationClips 19 | exclude: 0 20 | - key: AnimatorController 21 | sourceName: AnimatorController 22 | outputPath: Animation\AnimatorControllers 23 | exclude: 0 24 | - key: AudioClip 25 | sourceName: AudioClip 26 | outputPath: Audio\AudioClips 27 | exclude: 0 28 | - key: AudioMixerController 29 | sourceName: AudioMixerController 30 | outputPath: Audio\AudioMixerControllers 31 | exclude: 0 32 | - key: Cubemap 33 | sourceName: Cubemap 34 | outputPath: Scenes\Cubemaps 35 | exclude: 0 36 | - key: Editor 37 | sourceName: Editor 38 | outputPath: Editor 39 | exclude: 0 40 | - key: Font 41 | sourceName: Font 42 | outputPath: Fonts\TextMeshPro 43 | exclude: 0 44 | - key: LightingSettings 45 | sourceName: LightingSettings 46 | outputPath: LightingSettings 47 | exclude: 0 48 | - key: Material 49 | sourceName: Material 50 | outputPath: Materials 51 | exclude: 0 52 | - key: Mesh 53 | sourceName: Mesh 54 | outputPath: Meshes 55 | exclude: 0 56 | - key: MonoBehaviour 57 | sourceName: MonoBehaviour 58 | outputPath: ScriptableObjects 59 | exclude: 0 60 | - key: NavMeshData 61 | sourceName: NavMeshData 62 | outputPath: Scenes\NavMeshData 63 | exclude: 0 64 | - key: PhysicMaterial 65 | sourceName: PhysicMaterial 66 | outputPath: PhysicsMaterials 67 | exclude: 0 68 | - key: GameObject 69 | sourceName: GameObject 70 | outputPath: Prefabs 71 | exclude: 0 72 | - key: RenderTexture 73 | sourceName: RenderTexture 74 | outputPath: Textures\RenderTextures 75 | exclude: 0 76 | - key: Resources 77 | sourceName: Resources 78 | outputPath: Resources 79 | exclude: 0 80 | - key: Scenes 81 | sourceName: Scenes 82 | outputPath: Scenes 83 | exclude: 0 84 | - key: Scripts 85 | sourceName: Scripts 86 | outputPath: Scripts 87 | exclude: 0 88 | - key: Settings 89 | sourceName: Settings 90 | outputPath: Settings 91 | exclude: 0 92 | - key: Shader 93 | sourceName: Shader 94 | outputPath: Shaders 95 | exclude: 0 96 | - key: Sprite 97 | sourceName: Sprite 98 | outputPath: Textures\Sprites 99 | exclude: 0 100 | - key: StreamingAssets 101 | sourceName: StreamingAssets 102 | outputPath: StreamingAssets 103 | exclude: 0 104 | - key: TerrainData 105 | sourceName: TerrainData 106 | outputPath: Scenes\TerrainData 107 | exclude: 0 108 | - key: TerrainLayer 109 | sourceName: TerrainLayer 110 | outputPath: Textures\TerrainLayers 111 | exclude: 0 112 | - key: Texture2D 113 | sourceName: Texture2D 114 | outputPath: Textures\Texture2Ds 115 | exclude: 0 116 | - key: Texture3D 117 | sourceName: Texture3D 118 | outputPath: Textures\Texture3Ds 119 | exclude: 0 120 | - key: VideoClip 121 | sourceName: VideoClip 122 | outputPath: Videos 123 | exclude: 0 124 | - key: Plugins 125 | sourceName: Plugins 126 | outputPath: Plugins 127 | exclude: 0 128 | _foldersToCopy: 129 | - AnimationClip 130 | - AnimatorController 131 | - AudioClip 132 | - AudioMixerController 133 | - Editor 134 | - Font 135 | - LightingSettings 136 | - Material 137 | - Mesh 138 | - GameObject 139 | - PhysicMaterial 140 | - Resources 141 | - Settings 142 | - Scenes 143 | - MonoBehaviour 144 | - NavMeshData 145 | - Cubemap 146 | - TerrainData 147 | - Shader 148 | - Texture2D 149 | - Texture3D 150 | - RenderTexture 151 | - TerrainLayer 152 | - Sprite 153 | - StreamingAssets 154 | - VideoClip 155 | - Plugins 156 | - Scripts\Assembly-CSharp 157 | - Scripts\Photon3Unity3D 158 | - Scripts\PhotonChat 159 | - Scripts\PhotonRealtime 160 | - Scripts\PhotonUnityNetworking 161 | - Scripts\PhotonUnityNetworking.Utilities 162 | - Scripts\PhotonVoice 163 | - Scripts\PhotonVoice.API 164 | - Scripts\PhotonVoice.PUN 165 | _filesToExcludeFromCopy: [] 166 | _foldersToExcludeFromRead: 167 | - Scripts\Unity.Burst 168 | - Scripts\Unity.Burst.Unsafe 169 | - Scripts\Unity.Burst.Mathematics 170 | - Scripts\Unity.Jobs 171 | _projectSettingFilesToCopy: 172 | - NavMeshAreas.asset 173 | - TagManager.asset 174 | - TimeManager.asset 175 | - DynamicsManager.asset 176 | - QualitySettings.asset 177 | - InputManager.asset 178 | - AudioManager.asset 179 | - DelayedCallManager.asset 180 | - DynamicsManager.asset 181 | - EditorBuildSettings.asset 182 | - EditorSettings.asset 183 | - GraphicsSettngs.asset 184 | - Physics2DSettings.asset 185 | - ProjectSettings.asset 186 | - StreamingManager.asset 187 | - VFXManager.asset 188 | _configurationData: 189 | Import: 190 | scriptContentLevel: 2 191 | streamingAssetsMode: 1 192 | bundledAssetsExportMode: 0 193 | Processing: 194 | enablePrefabOutlining: 0 195 | enableStaticMeshSeparation: 0 196 | enableAssetDeduplication: 0 197 | Export: 198 | audioExportFormat: 2 199 | imageExportFormat: 4 200 | meshExportFormat: 0 201 | scriptExportMode: 0 202 | scriptLanguageVersion: -1 203 | shaderExportMode: 0 204 | spriteExportMode: 0 205 | terrainExportMode: 0 206 | textExportMode: 2 207 | saveSettingsToDisk: 0 208 | _customBuildUrl: https://github.com/Kesomannen/AssetRipper/releases/download/v1.1.13-patcher/Release.zip 209 | -------------------------------------------------------------------------------- /Repo_AssetRipperSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f75f941c9ed65b4fb3d51694c61ca61 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Repo_UnityProjectPatcherSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 8f29d200711b44929311442db80f4c89, type: 3} 13 | m_Name: Repo_UnityProjectPatcherSettings 14 | m_EditorClassIdentifier: 15 | _gameName: REPO 16 | _customGameName: 17 | _gameVersion: 2022.3.21.12519882 18 | _pipelineType: 0 19 | _dllsToCopy: 20 | - key: 21 | sourceName: Facepunch.Steamworks.Win64.dll 22 | outputPath: 23 | exclude: 0 24 | - key: 25 | sourceName: FbxBuildTestAssets.dll 26 | outputPath: 27 | exclude: 0 28 | - key: 29 | sourceName: Klattersynth.dll 30 | outputPath: 31 | exclude: 0 32 | - key: 33 | sourceName: Newtonsoft.Json.dll 34 | outputPath: 35 | exclude: 0 36 | - key: 37 | sourceName: SingularityGroup.HotReload.Runtime.dll 38 | outputPath: 39 | exclude: 0 40 | - key: 41 | sourceName: SingularityGroup.HotReload.Runtime.Public.dll 42 | outputPath: 43 | exclude: 0 44 | - key: 45 | sourceName: Sirenix.OdinInspector.Attributes.dll 46 | outputPath: 47 | exclude: 0 48 | - key: 49 | sourceName: Sirenix.Serialization.Config.dll 50 | outputPath: 51 | exclude: 0 52 | - key: 53 | sourceName: Sirenix.Serialization.dll 54 | outputPath: 55 | exclude: 0 56 | - key: 57 | sourceName: Sirenix.Utilities.dll 58 | outputPath: 59 | exclude: 0 60 | - key: 61 | sourceName: websocket-sharp.dll 62 | outputPath: 63 | exclude: 0 64 | - key: 65 | sourceName: ../Plugins/x86_64/AudioIn.dll 66 | outputPath: 67 | exclude: 0 68 | - key: 69 | sourceName: ../Plugins/x86_64/opus_egpv.dll 70 | outputPath: 71 | exclude: 0 72 | - key: 73 | sourceName: ../Plugins/x86_64/overtone.dll 74 | outputPath: 75 | exclude: 0 76 | - key: 77 | sourceName: ../Plugins/x86_64/overtoneruntime.dll 78 | outputPath: 79 | exclude: 0 80 | - key: 81 | sourceName: ../Plugins/x86_64/steam_api64.dll 82 | outputPath: 83 | exclude: 0 84 | - key: 85 | sourceName: ../Plugins/x86_64/webrtc-audio.dll 86 | outputPath: 87 | exclude: 0 88 | _scriptDllFoldersToCopy: [] 89 | _ignoredDllPrefixes: 90 | - System. 91 | - UnityEngine. 92 | - Unity.Services. 93 | _exactPackagesFound: 94 | - name: com.unity.ai.navigation 95 | version: 1.1.5 96 | dependencies: 97 | - name: com.unity.modules.ai 98 | version: 1.0.0 99 | matchType: 0 100 | - name: com.unity.formats.fbx 101 | version: 5.1.3 102 | dependencies: 103 | - name: com.autodesk.fbx 104 | version: 5.1.1 105 | - name: com.unity.timeline 106 | version: 1.7.1 107 | matchType: 0 108 | - name: com.unity.inputsystem 109 | version: 1.13.1 110 | dependencies: 111 | - name: com.unity.modules.uielements 112 | version: 1.0.0 113 | matchType: 0 114 | - name: com.unity.postprocessing 115 | version: 3.4.0 116 | dependencies: 117 | - name: com.unity.modules.physics 118 | version: 1.0.0 119 | matchType: 0 120 | - name: com.unity.render-pipelines.core 121 | version: 14.0.10 122 | dependencies: 123 | - name: com.unity.ugui 124 | version: 1.0.0 125 | - name: com.unity.modules.physics 126 | version: 1.0.0 127 | - name: com.unity.modules.terrain 128 | version: 1.0.0 129 | - name: com.unity.modules.jsonserialize 130 | version: 1.0.0 131 | matchType: 0 132 | - name: com.unity.textmeshpro 133 | version: 3.0.9 134 | dependencies: 135 | - name: com.unity.ugui 136 | version: 1.0.0 137 | matchType: 0 138 | - name: com.unity.timeline 139 | version: 1.8.8 140 | dependencies: 141 | - name: com.unity.modules.audio 142 | version: 1.0.0 143 | - name: com.unity.modules.director 144 | version: 1.0.0 145 | - name: com.unity.modules.animation 146 | version: 1.0.0 147 | - name: com.unity.modules.particlesystem 148 | version: 1.0.0 149 | matchType: 0 150 | - name: com.unity.visualscripting 151 | version: 1.9.5 152 | dependencies: 153 | - name: com.unity.ugui 154 | version: 1.0.0 155 | - name: com.unity.modules.jsonserialize 156 | version: 1.0.0 157 | matchType: 0 158 | _possiblePackagesFound: [] 159 | _improbablePackagesFound: [] 160 | _gitPackages: [] 161 | -------------------------------------------------------------------------------- /Repo_UnityProjectPatcherSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d77bd7ca43eaed04d8702b852faf0175 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f74950627b41401d8cf6a12244c80401 3 | timeCreated: 1741420050 -------------------------------------------------------------------------------- /Shaders/Ciconia Studio_CS_Standard_Builtin_Lite_Standard (Specular setup)_Cutout.shader: -------------------------------------------------------------------------------- 1 | Shader "Patcher/Ciconia Studio/CS_Standard/Builtin/Lite/Standard (Specular setup)/Cutout" 2 | { 3 | Properties 4 | { 5 | [Space(35)][Header(Surface Options )] 6 | [Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back" 7 | [Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On" 8 | [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual" 9 | 10 | [Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0) 11 | _Color("Color", Color) = (1,1,1,0) 12 | [Toggle]_InvertABaseColor("Invert Alpha", Float) = 0 13 | _MainTex("Base Color", 2D) = "white" {} 14 | _Saturation("Saturation", Float) = 0 15 | _Brightness("Brightness", Range( 1 , 8)) = 1 16 | [Space(35)]_BumpMap("Normal Map", 2D) = "bump" {} 17 | _BumpScale("Normal Intensity", Float) = 0.3 18 | [Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0) 19 | _SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {} 20 | _SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2 21 | _Glossiness("Smoothness", Range( 0 , 2)) = 0.5 22 | [Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0 23 | [Space(35)]_ParallaxMap("Height Map", 2D) = "white" {} 24 | _Parallax("Height Scale", Range( -0.1 , 0.1)) = 0 25 | [Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {} 26 | _AoIntensity("Ao Intensity", Range( 0 , 2)) = 1 27 | [HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0) 28 | _EmissionMap("Emission Map", 2D) = "white" {} 29 | _EmissionIntensity("Intensity", Range( 0 , 2)) = 1 30 | [Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0 31 | [Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0 32 | [Toggle]_SourceMask("Source - Use BaseColorAlpha", Float) = 0 33 | [Space(15)][Toggle]_InvertMask("Invert Mask", Float) = 0 34 | _DetailMask("Detail Mask", 2D) = "black" {} 35 | _IntensityMask("Intensity", Range( 0 , 1)) = 1 36 | [Space(15)]_ContrastDetailMap("Contrast", Float) = 0 37 | _SpreadDetailMap("Spread", Float) = 0 38 | [Space(35)][Header(Detail Properties)][Space(15)]_DetailColor("Color -->(Smoothness Intensity A)", Color) = (1,1,1,0) 39 | _DetailAlbedoMap("Base Color -->(Smoothness A)", 2D) = "white" {} 40 | _DetailSaturation("Saturation", Float) = 0 41 | _DetailBrightness("Brightness", Range( 1 , 8)) = 1 42 | [Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 1 43 | _DetailNormalMap("Normal Map", 2D) = "bump" {} 44 | _DetailNormalMapScale("Scale", Float) = 0.3 45 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 46 | [Space(35)][Header(Cutout Properties)][Space(15)][Toggle]_InvertCutout("Invert ", Float) = 0 47 | [Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0 48 | _CutoutMap("Cutout Mask", 2D) = "white" {} 49 | [Space(10)]_IntensityCutoutMap("Alpha Cutoff", Range( 0 , 1)) = 0.5 50 | [HideInInspector] __dirty( "", Int ) = 1 51 | } 52 | 53 | SubShader 54 | { 55 | Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" "IsEmissive" = "true" } 56 | Cull[_Cull] 57 | ZWrite[_ZWrite] 58 | ZTest [_ZTest] 59 | CGINCLUDE 60 | #include "UnityCG.cginc" 61 | #include "UnityStandardUtils.cginc" 62 | #include "UnityPBSLighting.cginc" 63 | #include "Lighting.cginc" 64 | #pragma target 3.0 65 | #pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA 66 | #ifdef UNITY_PASS_SHADOWCASTER 67 | #undef INTERNAL_DATA 68 | #undef WorldReflectionVector 69 | #undef WorldNormalVector 70 | #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; 71 | #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) 72 | #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) 73 | #endif 74 | struct Input 75 | { 76 | float2 uv_texcoord; 77 | float3 viewDir; 78 | INTERNAL_DATA 79 | half ASEVFace : VFACE; 80 | }; 81 | 82 | uniform float _BlendMainNormal; 83 | uniform sampler2D _BumpMap; 84 | uniform float4 _BumpMap_ST; 85 | uniform float4 _GlobalXYTilingXYZWOffsetXY; 86 | uniform sampler2D _ParallaxMap; 87 | uniform float4 _ParallaxMap_ST; 88 | uniform float _Parallax; 89 | uniform float _BumpScale; 90 | uniform sampler2D _DetailNormalMap; 91 | uniform float4 _DetailNormalMap_ST; 92 | uniform float _DetailNormalMapScale; 93 | uniform float _EnableDetailMask; 94 | uniform float _ContrastDetailMap; 95 | uniform float _SourceMask; 96 | uniform float _InvertMask; 97 | uniform sampler2D _DetailMask; 98 | uniform float4 _DetailMask_ST; 99 | uniform float _InvertABaseColor; 100 | uniform sampler2D _MainTex; 101 | uniform float4 _MainTex_ST; 102 | uniform float _SpreadDetailMap; 103 | uniform float _IntensityMask; 104 | uniform float _VisualizeMask; 105 | uniform float _Brightness; 106 | uniform float4 _Color; 107 | uniform float _Saturation; 108 | uniform float _DetailBrightness; 109 | uniform float4 _DetailColor; 110 | uniform sampler2D _DetailAlbedoMap; 111 | uniform float4 _DetailAlbedoMap_ST; 112 | uniform float _DetailSaturation; 113 | uniform float4 _EmissionColor; 114 | uniform sampler2D _EmissionMap; 115 | uniform float4 _EmissionMap_ST; 116 | uniform float _EmissionIntensity; 117 | uniform float4 _SpecularColor; 118 | uniform sampler2D _SpecGlossMap; 119 | uniform float4 _SpecGlossMap_ST; 120 | uniform float _SpecularIntensity; 121 | uniform float _Glossiness; 122 | uniform sampler2D _OcclusionMap; 123 | uniform float4 _OcclusionMap_ST; 124 | uniform float _AoIntensity; 125 | uniform float _InvertCutout; 126 | uniform float _UseBaseColorAlpha; 127 | uniform sampler2D _CutoutMap; 128 | uniform float4 _CutoutMap_ST; 129 | uniform float _IntensityCutoutMap; 130 | 131 | 132 | float4 CalculateContrast( float contrastValue, float4 colorTarget ) 133 | { 134 | float t = 0.5 * ( 1.0 - contrastValue ); 135 | return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); 136 | } 137 | 138 | void surf( Input i , inout SurfaceOutputStandardSpecular o ) 139 | { 140 | float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; 141 | float2 break26_g500 = uv_BumpMap; 142 | float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 ); 143 | float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 ); 144 | float2 appendResult14_g500 = (float2(( break26_g500.x * GlobalTilingX11 ) , ( break26_g500.y * GlobalTilingY8 ))); 145 | float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z; 146 | float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w; 147 | float2 appendResult13_g500 = (float2(( break26_g500.x + GlobalOffsetX10 ) , ( break26_g500.y + GlobalOffsetY9 ))); 148 | float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw; 149 | float2 break26_g490 = uv_ParallaxMap; 150 | float2 appendResult14_g490 = (float2(( break26_g490.x * GlobalTilingX11 ) , ( break26_g490.y * GlobalTilingY8 ))); 151 | float2 appendResult13_g490 = (float2(( break26_g490.x + GlobalOffsetX10 ) , ( break26_g490.y + GlobalOffsetY9 ))); 152 | float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g490 + appendResult13_g490 ) ).g).xxxx; 153 | float2 paralaxOffset36_g489 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir ); 154 | float2 switchResult47_g489 = (((i.ASEVFace>0)?(paralaxOffset36_g489):(0.0))); 155 | float2 Parallaxe380 = switchResult47_g489; 156 | float3 temp_output_356_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g500 + appendResult13_g500 ) + Parallaxe380 ) ), _BumpScale ); 157 | float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; 158 | float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale ); 159 | float4 temp_cast_2 = (0.0).xxxx; 160 | float2 uv_DetailMask = i.uv_texcoord * _DetailMask_ST.xy + _DetailMask_ST.zw; 161 | float4 tex2DNode27_g496 = tex2D( _DetailMask, uv_DetailMask ); 162 | float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; 163 | float2 break26_g495 = uv_MainTex; 164 | float2 appendResult14_g495 = (float2(( break26_g495.x * GlobalTilingX11 ) , ( break26_g495.y * GlobalTilingY8 ))); 165 | float2 appendResult13_g495 = (float2(( break26_g495.x + GlobalOffsetX10 ) , ( break26_g495.y + GlobalOffsetY9 ))); 166 | float4 tex2DNode7_g494 = tex2D( _MainTex, ( ( appendResult14_g495 + appendResult13_g495 ) + Parallaxe380 ) ); 167 | float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g494.a ) ):( tex2DNode7_g494.a )); 168 | float4 clampResult38_g496 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _SourceMask )?( ( (( _InvertMask )?( ( 1.0 - tex2DNode27_g496 ) ):( tex2DNode27_g496 )) + BaseColorAlpha46 ) ):( (( _InvertMask )?( ( 1.0 - tex2DNode27_g496 ) ):( tex2DNode27_g496 )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); 169 | float4 Mask158 = (( _EnableDetailMask )?( ( clampResult38_g496 * _IntensityMask ) ):( temp_cast_2 )); 170 | float3 lerpResult137 = lerp( temp_output_356_0 , NormalDetail155 , Mask158.rgb); 171 | float3 lerpResult205 = lerp( temp_output_356_0 , BlendNormals( temp_output_356_0 , NormalDetail155 ) , Mask158.rgb); 172 | float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 )); 173 | o.Normal = Normal27; 174 | float clampResult27_g494 = clamp( _Saturation , -1.0 , 100.0 ); 175 | float3 desaturateInitialColor29_g494 = ( _Color * tex2DNode7_g494 ).rgb; 176 | float desaturateDot29_g494 = dot( desaturateInitialColor29_g494, float3( 0.299, 0.587, 0.114 )); 177 | float3 desaturateVar29_g494 = lerp( desaturateInitialColor29_g494, desaturateDot29_g494.xxx, -clampResult27_g494 ); 178 | float4 temp_output_355_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g494 , 0.0 )); 179 | float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw; 180 | float4 tex2DNode7_g498 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap ); 181 | float clampResult27_g498 = clamp( _DetailSaturation , -1.0 , 100.0 ); 182 | float3 desaturateInitialColor29_g498 = ( _DetailColor * tex2DNode7_g498 ).rgb; 183 | float desaturateDot29_g498 = dot( desaturateInitialColor29_g498, float3( 0.299, 0.587, 0.114 )); 184 | float3 desaturateVar29_g498 = lerp( desaturateInitialColor29_g498, desaturateDot29_g498.xxx, -clampResult27_g498 ); 185 | float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g498 , 0.0 )); 186 | float4 lerpResult365 = lerp( temp_output_355_0 , AlbedoDetail153 , Mask158); 187 | float4 blendOpSrc364 = temp_output_355_0; 188 | float4 blendOpDest364 = lerpResult365; 189 | float4 lerpBlendMode364 = lerp(blendOpDest364,(( blendOpDest364 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest364 ) * ( 1.0 - blendOpSrc364 ) ) : ( 2.0 * blendOpDest364 * blendOpSrc364 ) ),Mask158.r); 190 | float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( ( saturate( lerpBlendMode364 )) )); 191 | o.Albedo = Albedo26.rgb; 192 | float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; 193 | float2 break26_g520 = uv_EmissionMap; 194 | float2 appendResult14_g520 = (float2(( break26_g520.x * GlobalTilingX11 ) , ( break26_g520.y * GlobalTilingY8 ))); 195 | float2 appendResult13_g520 = (float2(( break26_g520.x + GlobalOffsetX10 ) , ( break26_g520.y + GlobalOffsetY9 ))); 196 | float4 Emission110 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g520 + appendResult13_g520 ) + Parallaxe380 ) ) * _EmissionIntensity ); 197 | o.Emission = Emission110.rgb; 198 | float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw; 199 | float2 break26_g502 = uv_SpecGlossMap; 200 | float2 appendResult14_g502 = (float2(( break26_g502.x * GlobalTilingX11 ) , ( break26_g502.y * GlobalTilingY8 ))); 201 | float2 appendResult13_g502 = (float2(( break26_g502.x + GlobalOffsetX10 ) , ( break26_g502.y + GlobalOffsetY9 ))); 202 | float4 tex2DNode3_g501 = tex2D( _SpecGlossMap, ( ( appendResult14_g502 + appendResult13_g502 ) + Parallaxe380 ) ); 203 | float4 Specular41 = ( _SpecularColor * tex2DNode3_g501 * _SpecularIntensity ); 204 | o.Specular = Specular41.rgb; 205 | #if defined(_SOURCE_SPECULARALPHA) 206 | float staticSwitch31_g501 = ( tex2DNode3_g501.a * _Glossiness ); 207 | #elif defined(_SOURCE_BASECOLORALPHA) 208 | float staticSwitch31_g501 = ( _Glossiness * BaseColorAlpha46 ); 209 | #else 210 | float staticSwitch31_g501 = ( tex2DNode3_g501.a * _Glossiness ); 211 | #endif 212 | float DetailBaseColorAlpha170 = ( _DetailColor.a * tex2DNode7_g498.a ); 213 | float lerpResult387 = lerp( staticSwitch31_g501 , DetailBaseColorAlpha170 , Mask158.r); 214 | float Smoothness40 = lerpResult387; 215 | o.Smoothness = Smoothness40; 216 | float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; 217 | float2 break26_g518 = uv_OcclusionMap; 218 | float2 appendResult14_g518 = (float2(( break26_g518.x * GlobalTilingX11 ) , ( break26_g518.y * GlobalTilingY8 ))); 219 | float2 appendResult13_g518 = (float2(( break26_g518.x + GlobalOffsetX10 ) , ( break26_g518.y + GlobalOffsetY9 ))); 220 | float blendOpSrc2_g517 = tex2D( _OcclusionMap, ( ( appendResult14_g518 + appendResult13_g518 ) + Parallaxe380 ) ).r; 221 | float blendOpDest2_g517 = ( 1.0 - _AoIntensity ); 222 | float AmbientOcclusion94 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g517 ) * ( 1.0 - blendOpDest2_g517 ) ) )); 223 | o.Occlusion = AmbientOcclusion94; 224 | o.Alpha = 1; 225 | float2 uv_CutoutMap = i.uv_texcoord * _CutoutMap_ST.xy + _CutoutMap_ST.zw; 226 | float4 tex2DNode8_g516 = tex2D( _CutoutMap, uv_CutoutMap ); 227 | float4 temp_cast_14 = (BaseColorAlpha46).xxxx; 228 | float4 temp_cast_15 = (BaseColorAlpha46).xxxx; 229 | float4 clampResult24_g516 = clamp( (( _InvertCutout )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_15 ):( tex2DNode8_g516 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_14 ):( tex2DNode8_g516 )) )) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) ); 230 | float4 Cutout370 = clampResult24_g516; 231 | clip( Cutout370.r - _IntensityCutoutMap ); 232 | } 233 | 234 | ENDCG 235 | CGPROGRAM 236 | #pragma surface surf StandardSpecular keepalpha fullforwardshadows 237 | 238 | ENDCG 239 | Pass 240 | { 241 | Name "ShadowCaster" 242 | Tags{ "LightMode" = "ShadowCaster" } 243 | ZWrite On 244 | CGPROGRAM 245 | #pragma vertex vert 246 | #pragma fragment frag 247 | #pragma target 3.0 248 | #pragma multi_compile_shadowcaster 249 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 250 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 251 | #include "HLSLSupport.cginc" 252 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 253 | #define CAN_SKIP_VPOS 254 | #endif 255 | #include "UnityCG.cginc" 256 | #include "Lighting.cginc" 257 | #include "UnityPBSLighting.cginc" 258 | struct v2f 259 | { 260 | V2F_SHADOW_CASTER; 261 | float2 customPack1 : TEXCOORD1; 262 | float4 tSpace0 : TEXCOORD2; 263 | float4 tSpace1 : TEXCOORD3; 264 | float4 tSpace2 : TEXCOORD4; 265 | UNITY_VERTEX_INPUT_INSTANCE_ID 266 | UNITY_VERTEX_OUTPUT_STEREO 267 | }; 268 | v2f vert( appdata_full v ) 269 | { 270 | v2f o; 271 | UNITY_SETUP_INSTANCE_ID( v ); 272 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 273 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 274 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 275 | Input customInputData; 276 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 277 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 278 | half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 279 | half tangentSign = v.tangent.w * unity_WorldTransformParams.w; 280 | half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 281 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 282 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 283 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 284 | o.customPack1.xy = customInputData.uv_texcoord; 285 | o.customPack1.xy = v.texcoord; 286 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 287 | return o; 288 | } 289 | half4 frag( v2f IN 290 | #if !defined( CAN_SKIP_VPOS ) 291 | , UNITY_VPOS_TYPE vpos : VPOS 292 | #endif 293 | ) : SV_Target 294 | { 295 | UNITY_SETUP_INSTANCE_ID( IN ); 296 | Input surfIN; 297 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 298 | surfIN.uv_texcoord = IN.customPack1.xy; 299 | float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); 300 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 301 | surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z; 302 | surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; 303 | surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; 304 | surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; 305 | SurfaceOutputStandardSpecular o; 306 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o ) 307 | surf( surfIN, o ); 308 | #if defined( CAN_SKIP_VPOS ) 309 | float2 vpos = IN.pos; 310 | #endif 311 | SHADOW_CASTER_FRAGMENT( IN ) 312 | } 313 | ENDCG 314 | } 315 | } 316 | Fallback "Diffuse" 317 | } -------------------------------------------------------------------------------- /Shaders/Ciconia Studio_CS_Standard_Builtin_Lite_Standard (Specular setup)_Cutout.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c85e57e7ac209844d84488327dbe0d9a 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Cutout.shader: -------------------------------------------------------------------------------- 1 | Shader "Patcher/Ciconia Studio/CS_Standard/Builtin/Standard (Specular setup)/Cutout" 2 | { 3 | Properties 4 | { 5 | [Space(35)][Header(Surface Options )] 6 | [Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back" 7 | [Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On" 8 | [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual" 9 | 10 | _Cutoff( "Mask Clip Value", Float ) = 0.5 11 | [Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0) 12 | _Color("Color", Color) = (1,1,1,0) 13 | [Toggle]_InvertABaseColor("Invert Alpha", Float) = 0 14 | _MainTex("Base Color", 2D) = "white" {} 15 | _Saturation("Saturation", Float) = 0 16 | _Brightness("Brightness", Range( 1 , 8)) = 1 17 | [Space(35)]_BumpMap("Normal Map", 2D) = "bump" {} 18 | _BumpScale("Normal Intensity", Float) = 0.3 19 | [Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0) 20 | _SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {} 21 | _SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2 22 | _Glossiness("Smoothness", Range( 0 , 2)) = 0.5 23 | [Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0 24 | [Space(35)]_ParallaxMap("Height Map", 2D) = "white" {} 25 | _Parallax("Height Scale", Range( -0.1 , 0.1)) = 0 26 | [Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {} 27 | _AoIntensity("Ao Intensity", Range( 0 , 2)) = 1 28 | [HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0) 29 | _EmissionMap("Emission Map", 2D) = "white" {} 30 | _EmissionIntensity("Intensity", Range( 0 , 2)) = 1 31 | [Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0 32 | [Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0 33 | [Space(15)][Toggle]_EnableTriplanarProjection("Enable Triplanar Projection", Float) = 1 34 | [KeywordEnum(ObjectSpace,WorldSpace)] _TriplanarSpaceProjection("Space Projection", Float) = 0 35 | _TriplanarFalloff("Falloff", Float) = 20 36 | _TriplanarXYTilingXYZWOffsetXY1("Triplanar --> XY(TilingXY) - ZW(OffsetXY) ", Vector) = (1,1,0,0) 37 | [Toggle]_InvertMask("Invert Mask", Float) = 0 38 | _DetailMask("Detail Mask", 2D) = "white" {} 39 | _IntensityMask("Intensity", Range( 0 , 1)) = 1 40 | [Space(15)]_ContrastDetailMap("Contrast", Float) = 0 41 | _SpreadDetailMap("Spread", Float) = 0 42 | [Space(35)][Header(Detail Properties)][Space(15)][Toggle]_BlendmodeOverlay("Blend mode Overlay", Float) = 0 43 | [Space(35)]_DetailColor("Color", Color) = (1,1,1,0) 44 | _DetailAlbedoMap("Base Color", 2D) = "white" {} 45 | _DetailSaturation("Saturation", Float) = 0 46 | _DetailBrightness("Brightness", Range( 1 , 8)) = 1 47 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 48 | [Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 0 49 | _DetailNormalMap("Normal Map", 2D) = "bump" {} 50 | _DetailNormalMapScale("Scale", Float) = 0.3 51 | [Space(35)]_DetailSpecularColor("Specular Color", Color) = (1,1,1,0) 52 | _DetailSpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {} 53 | _DetailSpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2 54 | _DetailGlossiness("Smoothness", Range( 0 , 2)) = 0.5 55 | [Space(10)][KeywordEnum(SpecularAlpha,AlbedoAlpha)] _DetailSource("Source", Float) = 0 56 | [Space(15)][Toggle]_UseAoFromMainProperties("Use Ao From Main Properties", Float) = 1 57 | [Toggle]_UseEmissionFromMainProperties("Use Emission From Main Properties", Float) = 1 58 | [Space(35)][Header(Cutout Properties)][Space(15)][Toggle]_InvertCutout("Invert ", Float) = 0 59 | [Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0 60 | _CutoutMap("Cutout Mask", 2D) = "white" {} 61 | [HideInInspector] __dirty( "", Int ) = 1 62 | } 63 | 64 | SubShader 65 | { 66 | Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" "IsEmissive" = "true" } 67 | Cull[_Cull] 68 | ZWrite[_ZWrite] 69 | ZTest [_ZTest] 70 | CGINCLUDE 71 | #include "UnityCG.cginc" 72 | #include "UnityStandardUtils.cginc" 73 | #include "UnityShaderVariables.cginc" 74 | #include "UnityPBSLighting.cginc" 75 | #include "Lighting.cginc" 76 | #pragma target 3.0 77 | #pragma multi_compile_instancing 78 | #pragma shader_feature_local _TRIPLANARSPACEPROJECTION_OBJECTSPACE _TRIPLANARSPACEPROJECTION_WORLDSPACE 79 | #pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA 80 | #pragma shader_feature_local _DETAILSOURCE_SPECULARALPHA _DETAILSOURCE_ALBEDOALPHA 81 | #ifdef UNITY_PASS_SHADOWCASTER 82 | #undef INTERNAL_DATA 83 | #undef WorldReflectionVector 84 | #undef WorldNormalVector 85 | #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; 86 | #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) 87 | #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) 88 | #endif 89 | struct Input 90 | { 91 | float2 uv_texcoord; 92 | float3 viewDir; 93 | INTERNAL_DATA 94 | half ASEVFace : VFACE; 95 | float3 worldPos; 96 | float3 worldNormal; 97 | }; 98 | 99 | uniform float _BlendMainNormal; 100 | uniform sampler2D _BumpMap; 101 | uniform float4 _BumpMap_ST; 102 | uniform float4 _GlobalXYTilingXYZWOffsetXY; 103 | uniform sampler2D _ParallaxMap; 104 | uniform float4 _ParallaxMap_ST; 105 | uniform float _Parallax; 106 | uniform float _BumpScale; 107 | uniform sampler2D _DetailNormalMap; 108 | uniform float4 _DetailNormalMap_ST; 109 | uniform float _DetailNormalMapScale; 110 | uniform float _EnableDetailMask; 111 | uniform float _ContrastDetailMap; 112 | uniform float _InvertMask; 113 | uniform float _EnableTriplanarProjection; 114 | uniform sampler2D _DetailMask; 115 | uniform float4 _TriplanarXYTilingXYZWOffsetXY1; 116 | uniform float _SpreadDetailMap; 117 | uniform float _IntensityMask; 118 | uniform float _VisualizeMask; 119 | uniform float _BlendmodeOverlay; 120 | uniform float _Brightness; 121 | uniform float4 _Color; 122 | uniform sampler2D _MainTex; 123 | uniform float4 _MainTex_ST; 124 | uniform float _Saturation; 125 | uniform float _DetailBrightness; 126 | uniform float4 _DetailColor; 127 | uniform sampler2D _DetailAlbedoMap; 128 | uniform float4 _DetailAlbedoMap_ST; 129 | uniform float _DetailSaturation; 130 | uniform float _UseEmissionFromMainProperties; 131 | uniform float4 _EmissionColor; 132 | uniform sampler2D _EmissionMap; 133 | uniform float4 _EmissionMap_ST; 134 | uniform float _EmissionIntensity; 135 | uniform float4 _SpecularColor; 136 | uniform sampler2D _SpecGlossMap; 137 | uniform float4 _SpecGlossMap_ST; 138 | uniform float _SpecularIntensity; 139 | uniform float4 _DetailSpecularColor; 140 | uniform sampler2D _DetailSpecGlossMap; 141 | uniform float4 _DetailSpecGlossMap_ST; 142 | uniform float _DetailSpecularIntensity; 143 | uniform float _Glossiness; 144 | uniform float _InvertABaseColor; 145 | uniform float _DetailGlossiness; 146 | uniform float _UseAoFromMainProperties; 147 | uniform sampler2D _OcclusionMap; 148 | uniform float4 _OcclusionMap_ST; 149 | uniform float _AoIntensity; 150 | uniform float _InvertCutout; 151 | uniform float _UseBaseColorAlpha; 152 | uniform sampler2D _CutoutMap; 153 | uniform float4 _CutoutMap_ST; 154 | uniform float _Cutoff = 0.5; 155 | 156 | UNITY_INSTANCING_BUFFER_START(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupCutout) 157 | UNITY_DEFINE_INSTANCED_PROP(float, _TriplanarFalloff) 158 | #define _TriplanarFalloff_arr CiconiaStudioCS_StandardBuiltinStandardSpecularsetupCutout 159 | UNITY_INSTANCING_BUFFER_END(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupCutout) 160 | 161 | 162 | inline float4 TriplanarSampling396( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) 163 | { 164 | float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); 165 | projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; 166 | float3 nsign = sign( worldNormal ); 167 | half4 xNorm; half4 yNorm; half4 zNorm; 168 | xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); 169 | yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); 170 | zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); 171 | return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z; 172 | } 173 | 174 | 175 | float4 CalculateContrast( float contrastValue, float4 colorTarget ) 176 | { 177 | float t = 0.5 * ( 1.0 - contrastValue ); 178 | return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); 179 | } 180 | 181 | void surf( Input i , inout SurfaceOutputStandardSpecular o ) 182 | { 183 | float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; 184 | float2 break26_g635 = uv_BumpMap; 185 | float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 ); 186 | float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 ); 187 | float2 appendResult14_g635 = (float2(( break26_g635.x * GlobalTilingX11 ) , ( break26_g635.y * GlobalTilingY8 ))); 188 | float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z; 189 | float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w; 190 | float2 appendResult13_g635 = (float2(( break26_g635.x + GlobalOffsetX10 ) , ( break26_g635.y + GlobalOffsetY9 ))); 191 | float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw; 192 | float2 break26_g469 = uv_ParallaxMap; 193 | float2 appendResult14_g469 = (float2(( break26_g469.x * GlobalTilingX11 ) , ( break26_g469.y * GlobalTilingY8 ))); 194 | float2 appendResult13_g469 = (float2(( break26_g469.x + GlobalOffsetX10 ) , ( break26_g469.y + GlobalOffsetY9 ))); 195 | float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g469 + appendResult13_g469 ) ).g).xxxx; 196 | float2 paralaxOffset36_g468 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir ); 197 | float2 switchResult47_g468 = (((i.ASEVFace>0)?(paralaxOffset36_g468):(0.0))); 198 | float2 Parallaxe369 = switchResult47_g468; 199 | float3 temp_output_245_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g635 + appendResult13_g635 ) + Parallaxe369 ) ), _BumpScale ); 200 | float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; 201 | float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale ); 202 | float4 temp_cast_2 = (0.0).xxxx; 203 | float2 appendResult394 = (float2(_TriplanarXYTilingXYZWOffsetXY1.x , _TriplanarXYTilingXYZWOffsetXY1.y)); 204 | float _TriplanarFalloff_Instance = UNITY_ACCESS_INSTANCED_PROP(_TriplanarFalloff_arr, _TriplanarFalloff); 205 | float3 ase_worldPos = i.worldPos; 206 | float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); 207 | float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) ); 208 | float3 ase_vertexNormal = mul( unity_WorldToObject, float4( ase_worldNormal, 0 ) ); 209 | #if defined(_TRIPLANARSPACEPROJECTION_OBJECTSPACE) 210 | float3 staticSwitch389 = ase_vertex3Pos; 211 | #elif defined(_TRIPLANARSPACEPROJECTION_WORLDSPACE) 212 | float3 staticSwitch389 = ase_worldPos; 213 | #else 214 | float3 staticSwitch389 = ase_vertex3Pos; 215 | #endif 216 | float2 appendResult388 = (float2(_TriplanarXYTilingXYZWOffsetXY1.z , _TriplanarXYTilingXYZWOffsetXY1.w)); 217 | float4 triplanar396 = TriplanarSampling396( _DetailMask, ( staticSwitch389 + float3( appendResult388 , 0.0 ) ), ase_vertexNormal, _TriplanarFalloff_Instance, appendResult394, 1.0, 0 ); 218 | float4 clampResult409 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _InvertMask )?( ( 1.0 - (( _EnableTriplanarProjection )?( triplanar396 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ) ):( (( _EnableTriplanarProjection )?( triplanar396 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); 219 | float MaskIntensity408 = _IntensityMask; 220 | float4 Mask158 = (( _EnableDetailMask )?( ( clampResult409 * MaskIntensity408 ) ):( temp_cast_2 )); 221 | float3 lerpResult137 = lerp( temp_output_245_0 , NormalDetail155 , Mask158.rgb); 222 | float3 lerpResult205 = lerp( temp_output_245_0 , BlendNormals( temp_output_245_0 , NormalDetail155 ) , Mask158.rgb); 223 | float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 )); 224 | o.Normal = Normal27; 225 | float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; 226 | float2 break26_g630 = uv_MainTex; 227 | float2 appendResult14_g630 = (float2(( break26_g630.x * GlobalTilingX11 ) , ( break26_g630.y * GlobalTilingY8 ))); 228 | float2 appendResult13_g630 = (float2(( break26_g630.x + GlobalOffsetX10 ) , ( break26_g630.y + GlobalOffsetY9 ))); 229 | float4 tex2DNode7_g629 = tex2D( _MainTex, ( ( appendResult14_g630 + appendResult13_g630 ) + Parallaxe369 ) ); 230 | float clampResult27_g629 = clamp( _Saturation , -1.0 , 100.0 ); 231 | float3 desaturateInitialColor29_g629 = ( _Color * tex2DNode7_g629 ).rgb; 232 | float desaturateDot29_g629 = dot( desaturateInitialColor29_g629, float3( 0.299, 0.587, 0.114 )); 233 | float3 desaturateVar29_g629 = lerp( desaturateInitialColor29_g629, desaturateDot29_g629.xxx, -clampResult27_g629 ); 234 | float4 temp_output_338_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g629 , 0.0 )); 235 | float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw; 236 | float4 tex2DNode7_g612 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap ); 237 | float clampResult27_g612 = clamp( _DetailSaturation , -1.0 , 100.0 ); 238 | float3 desaturateInitialColor29_g612 = ( _DetailColor * tex2DNode7_g612 ).rgb; 239 | float desaturateDot29_g612 = dot( desaturateInitialColor29_g612, float3( 0.299, 0.587, 0.114 )); 240 | float3 desaturateVar29_g612 = lerp( desaturateInitialColor29_g612, desaturateDot29_g612.xxx, -clampResult27_g612 ); 241 | float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g612 , 0.0 )); 242 | float4 lerpResult343 = lerp( temp_output_338_0 , AlbedoDetail153 , Mask158); 243 | float4 blendOpSrc15_g642 = temp_output_338_0; 244 | float4 blendOpDest15_g642 = lerpResult343; 245 | float4 lerpBlendMode15_g642 = lerp(blendOpDest15_g642,(( blendOpDest15_g642 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest15_g642 ) * ( 1.0 - blendOpSrc15_g642 ) ) : ( 2.0 * blendOpDest15_g642 * blendOpSrc15_g642 ) ),Mask158.x); 246 | float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( (( _BlendmodeOverlay )?( ( saturate( lerpBlendMode15_g642 )) ):( lerpResult343 )) )); 247 | o.Albedo = Albedo26.rgb; 248 | float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; 249 | float2 break26_g639 = uv_EmissionMap; 250 | float2 appendResult14_g639 = (float2(( break26_g639.x * GlobalTilingX11 ) , ( break26_g639.y * GlobalTilingY8 ))); 251 | float2 appendResult13_g639 = (float2(( break26_g639.x + GlobalOffsetX10 ) , ( break26_g639.y + GlobalOffsetY9 ))); 252 | float4 temp_output_248_0 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g639 + appendResult13_g639 ) + Parallaxe369 ) ) * _EmissionIntensity ); 253 | float4 temp_cast_21 = (0.0).xxxx; 254 | float4 lerpResult190 = lerp( temp_output_248_0 , temp_cast_21 , Mask158); 255 | float4 Emission110 = (( _UseEmissionFromMainProperties )?( temp_output_248_0 ):( lerpResult190 )); 256 | o.Emission = Emission110.rgb; 257 | float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw; 258 | float2 break26_g641 = uv_SpecGlossMap; 259 | float2 appendResult14_g641 = (float2(( break26_g641.x * GlobalTilingX11 ) , ( break26_g641.y * GlobalTilingY8 ))); 260 | float2 appendResult13_g641 = (float2(( break26_g641.x + GlobalOffsetX10 ) , ( break26_g641.y + GlobalOffsetY9 ))); 261 | float4 tex2DNode3_g640 = tex2D( _SpecGlossMap, ( ( appendResult14_g641 + appendResult13_g641 ) + Parallaxe369 ) ); 262 | float2 uv_DetailSpecGlossMap = i.uv_texcoord * _DetailSpecGlossMap_ST.xy + _DetailSpecGlossMap_ST.zw; 263 | float4 tex2DNode3_g633 = tex2D( _DetailSpecGlossMap, uv_DetailSpecGlossMap ); 264 | float4 DetailMetallic176 = ( _DetailSpecularColor * tex2DNode3_g633 * _DetailSpecularIntensity ); 265 | float4 lerpResult179 = lerp( ( _SpecularColor * tex2DNode3_g640 * _SpecularIntensity ) , DetailMetallic176 , Mask158); 266 | float4 Specular41 = lerpResult179; 267 | o.Specular = Specular41.rgb; 268 | float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g629.a ) ):( tex2DNode7_g629.a )); 269 | #if defined(_SOURCE_SPECULARALPHA) 270 | float staticSwitch31_g640 = ( tex2DNode3_g640.a * _Glossiness ); 271 | #elif defined(_SOURCE_BASECOLORALPHA) 272 | float staticSwitch31_g640 = ( _Glossiness * BaseColorAlpha46 ); 273 | #else 274 | float staticSwitch31_g640 = ( tex2DNode3_g640.a * _Glossiness ); 275 | #endif 276 | float DetailBaseColorAlpha170 = tex2DNode7_g612.a; 277 | #if defined(_DETAILSOURCE_SPECULARALPHA) 278 | float staticSwitch31_g633 = ( tex2DNode3_g633.a * _DetailGlossiness ); 279 | #elif defined(_DETAILSOURCE_ALBEDOALPHA) 280 | float staticSwitch31_g633 = ( _DetailGlossiness * DetailBaseColorAlpha170 ); 281 | #else 282 | float staticSwitch31_g633 = ( tex2DNode3_g633.a * _DetailGlossiness ); 283 | #endif 284 | float DetailSmoothness175 = staticSwitch31_g633; 285 | float lerpResult182 = lerp( staticSwitch31_g640 , DetailSmoothness175 , Mask158.r); 286 | float Smoothness40 = lerpResult182; 287 | o.Smoothness = Smoothness40; 288 | float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; 289 | float2 break26_g637 = uv_OcclusionMap; 290 | float2 appendResult14_g637 = (float2(( break26_g637.x * GlobalTilingX11 ) , ( break26_g637.y * GlobalTilingY8 ))); 291 | float2 appendResult13_g637 = (float2(( break26_g637.x + GlobalOffsetX10 ) , ( break26_g637.y + GlobalOffsetY9 ))); 292 | float blendOpSrc2_g636 = tex2D( _OcclusionMap, ( ( appendResult14_g637 + appendResult13_g637 ) + Parallaxe369 ) ).r; 293 | float blendOpDest2_g636 = ( 1.0 - _AoIntensity ); 294 | float temp_output_247_0 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g636 ) * ( 1.0 - blendOpDest2_g636 ) ) )); 295 | float lerpResult185 = lerp( temp_output_247_0 , 1.0 , Mask158.r); 296 | float AmbientOcclusion94 = (( _UseAoFromMainProperties )?( temp_output_247_0 ):( lerpResult185 )); 297 | o.Occlusion = AmbientOcclusion94; 298 | o.Alpha = 1; 299 | float2 uv_CutoutMap = i.uv_texcoord * _CutoutMap_ST.xy + _CutoutMap_ST.zw; 300 | float4 tex2DNode8_g643 = tex2D( _CutoutMap, uv_CutoutMap ); 301 | float4 temp_cast_26 = (BaseColorAlpha46).xxxx; 302 | float4 temp_cast_27 = (BaseColorAlpha46).xxxx; 303 | float4 clampResult24_g643 = clamp( (( _InvertCutout )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_27 ):( tex2DNode8_g643 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_26 ):( tex2DNode8_g643 )) )) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) ); 304 | float4 Cutout352 = clampResult24_g643; 305 | clip( Cutout352.r - _Cutoff ); 306 | } 307 | 308 | ENDCG 309 | CGPROGRAM 310 | #pragma surface surf StandardSpecular keepalpha fullforwardshadows 311 | 312 | ENDCG 313 | Pass 314 | { 315 | Name "ShadowCaster" 316 | Tags{ "LightMode" = "ShadowCaster" } 317 | ZWrite On 318 | CGPROGRAM 319 | #pragma vertex vert 320 | #pragma fragment frag 321 | #pragma target 3.0 322 | #pragma multi_compile_shadowcaster 323 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 324 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 325 | #include "HLSLSupport.cginc" 326 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 327 | #define CAN_SKIP_VPOS 328 | #endif 329 | #include "UnityCG.cginc" 330 | #include "Lighting.cginc" 331 | #include "UnityPBSLighting.cginc" 332 | struct v2f 333 | { 334 | V2F_SHADOW_CASTER; 335 | float2 customPack1 : TEXCOORD1; 336 | float4 tSpace0 : TEXCOORD2; 337 | float4 tSpace1 : TEXCOORD3; 338 | float4 tSpace2 : TEXCOORD4; 339 | UNITY_VERTEX_INPUT_INSTANCE_ID 340 | UNITY_VERTEX_OUTPUT_STEREO 341 | }; 342 | v2f vert( appdata_full v ) 343 | { 344 | v2f o; 345 | UNITY_SETUP_INSTANCE_ID( v ); 346 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 347 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 348 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 349 | Input customInputData; 350 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 351 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 352 | half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 353 | half tangentSign = v.tangent.w * unity_WorldTransformParams.w; 354 | half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 355 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 356 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 357 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 358 | o.customPack1.xy = customInputData.uv_texcoord; 359 | o.customPack1.xy = v.texcoord; 360 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 361 | return o; 362 | } 363 | half4 frag( v2f IN 364 | #if !defined( CAN_SKIP_VPOS ) 365 | , UNITY_VPOS_TYPE vpos : VPOS 366 | #endif 367 | ) : SV_Target 368 | { 369 | UNITY_SETUP_INSTANCE_ID( IN ); 370 | Input surfIN; 371 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 372 | surfIN.uv_texcoord = IN.customPack1.xy; 373 | float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); 374 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 375 | surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z; 376 | surfIN.worldPos = worldPos; 377 | surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); 378 | surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; 379 | surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; 380 | surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; 381 | SurfaceOutputStandardSpecular o; 382 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o ) 383 | surf( surfIN, o ); 384 | #if defined( CAN_SKIP_VPOS ) 385 | float2 vpos = IN.pos; 386 | #endif 387 | SHADOW_CASTER_FRAGMENT( IN ) 388 | } 389 | ENDCG 390 | } 391 | } 392 | Fallback "Diffuse" 393 | } -------------------------------------------------------------------------------- /Shaders/Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Cutout.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76187be69b81bfc429d778546c2e07c8 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Transparent.shader: -------------------------------------------------------------------------------- 1 | Shader "Patcher/Ciconia Studio/CS_Standard/Builtin/Standard (Specular setup)/Transparent" 2 | { 3 | Properties 4 | { 5 | [Space(35)][Header(Surface Options )] 6 | [Space(15)][Enum(Off,2,On,0)] _Cull("Double Sided", Float) = 0 //"Back" 7 | [Enum(Off,0,On,1)] _ZWrite("ZWrite", Float) = 1.0 //"On" 8 | [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Float) = 4 //"LessEqual" 9 | 10 | [Space(35)][Header(Main Properties )][Space(15)]_GlobalXYTilingXYZWOffsetXY("Global --> XY(TilingXY) - ZW(OffsetXY)", Vector) = (1,1,0,0) 11 | _Color("Color", Color) = (1,1,1,0) 12 | [Toggle]_InvertABaseColor("Invert Alpha", Float) = 0 13 | _MainTex("Base Color", 2D) = "white" {} 14 | _Saturation("Saturation", Float) = 0 15 | _Brightness("Brightness", Range( 1 , 8)) = 1 16 | [Space(35)]_BumpMap("Normal Map", 2D) = "bump" {} 17 | _BumpScale("Normal Intensity", Float) = 0.3 18 | [Space(35)]_SpecularColor("Specular Color", Color) = (1,1,1,0) 19 | _SpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {} 20 | _SpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2 21 | _Glossiness("Smoothness", Range( 0 , 2)) = 0.5 22 | [Space(10)][KeywordEnum(SpecularAlpha,BaseColorAlpha)] _Source("Source", Float) = 0 23 | [Space(35)]_ParallaxMap("Height Map", 2D) = "white" {} 24 | _Parallax("Height Scale", Range( -0.1 , 0.1)) = 0 25 | [Space(35)]_OcclusionMap("Ambient Occlusion Map", 2D) = "white" {} 26 | _AoIntensity("Ao Intensity", Range( 0 , 2)) = 1 27 | [HDR][Space(45)]_EmissionColor("Emission Color", Color) = (0,0,0,0) 28 | _EmissionMap("Emission Map", 2D) = "white" {} 29 | _EmissionIntensity("Intensity", Range( 0 , 2)) = 1 30 | [Space(35)][Header(Mask Properties)][Toggle]_EnableDetailMask("Enable", Float) = 0 31 | [Space(15)][Toggle]_VisualizeMask("Visualize Mask", Float) = 0 32 | [Space(15)][Toggle]_EnableTriplanarProjection("Enable Triplanar Projection", Float) = 1 33 | [KeywordEnum(ObjectSpace,WorldSpace)] _TriplanarSpaceProjection("Space Projection", Float) = 0 34 | _TriplanarFalloff("Falloff", Float) = 20 35 | _TriplanarXYTilingXYZWOffsetXY("Triplanar --> XY(TilingXY) - ZW(OffsetXY) ", Vector) = (1,1,0,0) 36 | [Toggle]_InvertMask("Invert Mask", Float) = 0 37 | _DetailMask("Detail Mask", 2D) = "white" {} 38 | _IntensityMask("Intensity", Range( 0 , 1)) = 1 39 | [Space(15)]_ContrastDetailMap("Contrast", Float) = 0 40 | _SpreadDetailMap("Spread", Float) = 0 41 | [Space(35)][Header(Detail Properties)][Space(15)][Toggle]_BlendmodeOverlay("Blend mode Overlay", Float) = 0 42 | [Space(35)]_DetailColor("Color", Color) = (1,1,1,0) 43 | _DetailAlbedoMap("Base Color", 2D) = "white" {} 44 | _DetailSaturation("Saturation", Float) = 0 45 | _DetailBrightness("Brightness", Range( 1 , 8)) = 1 46 | [Space(35)][Toggle]_BlendMainNormal("Blend Main Normal", Float) = 0 47 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 48 | _DetailNormalMap("Normal Map", 2D) = "bump" {} 49 | _DetailNormalMapScale("Scale", Float) = 0.3 50 | [Space(35)]_DetailSpecularColor("Specular Color", Color) = (1,1,1,0) 51 | _DetailSpecGlossMap("Specular Map -->(Smoothness A)", 2D) = "white" {} 52 | _DetailSpecularIntensity("Specular Intensity", Range( 0 , 2)) = 0.2 53 | _DetailGlossiness("Smoothness", Range( 0 , 2)) = 0.5 54 | [Space(10)][KeywordEnum(SpecularAlpha,AlbedoAlpha)] _DetailSource("Source", Float) = 0 55 | [Space(15)][Toggle]_UseAoFromMainProperties("Use Ao From Main Properties", Float) = 1 56 | [Toggle]_UseEmissionFromMainProperties("Use Emission From Main Properties", Float) = 1 57 | [Space(35)][Header(Transparent Properties)][Space(15)][Toggle]_InvertTransparent("Invert ", Float) = 0 58 | [Toggle]_UseBaseColorAlpha("Use BaseColor Alpha", Float) = 0 59 | _TransparentMask("Transparent Mask", 2D) = "white" {} 60 | _IntensityTransparentMap("Opacity", Range( 0 , 1)) = 0 61 | [Space(15)]_ContrastTransparentMap("Contrast", Float) = 0 62 | _SpreadTransparentMap("Spread", Float) = 0 63 | [HideInInspector] __dirty( "", Int ) = 1 64 | } 65 | 66 | SubShader 67 | { 68 | Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 69 | Cull[_Cull] 70 | ZWrite[_ZWrite] 71 | ZTest [_ZTest] 72 | CGINCLUDE 73 | #include "UnityCG.cginc" 74 | #include "UnityStandardUtils.cginc" 75 | #include "UnityShaderVariables.cginc" 76 | #include "UnityPBSLighting.cginc" 77 | #include "Lighting.cginc" 78 | #pragma target 3.0 79 | #pragma multi_compile_instancing 80 | #pragma shader_feature_local _TRIPLANARSPACEPROJECTION_OBJECTSPACE _TRIPLANARSPACEPROJECTION_WORLDSPACE 81 | #pragma shader_feature_local _SOURCE_SPECULARALPHA _SOURCE_BASECOLORALPHA 82 | #pragma shader_feature_local _DETAILSOURCE_SPECULARALPHA _DETAILSOURCE_ALBEDOALPHA 83 | #ifdef UNITY_PASS_SHADOWCASTER 84 | #undef INTERNAL_DATA 85 | #undef WorldReflectionVector 86 | #undef WorldNormalVector 87 | #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; 88 | #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) 89 | #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) 90 | #endif 91 | struct Input 92 | { 93 | float2 uv_texcoord; 94 | float3 viewDir; 95 | INTERNAL_DATA 96 | half ASEVFace : VFACE; 97 | float3 worldPos; 98 | float3 worldNormal; 99 | }; 100 | 101 | uniform float _BlendMainNormal; 102 | uniform sampler2D _BumpMap; 103 | uniform float4 _BumpMap_ST; 104 | uniform float4 _GlobalXYTilingXYZWOffsetXY; 105 | uniform sampler2D _ParallaxMap; 106 | uniform float4 _ParallaxMap_ST; 107 | uniform float _Parallax; 108 | uniform float _BumpScale; 109 | uniform sampler2D _DetailNormalMap; 110 | uniform float4 _DetailNormalMap_ST; 111 | uniform float _DetailNormalMapScale; 112 | uniform float _EnableDetailMask; 113 | uniform float _ContrastDetailMap; 114 | uniform float _InvertMask; 115 | uniform float _EnableTriplanarProjection; 116 | uniform sampler2D _DetailMask; 117 | uniform float4 _TriplanarXYTilingXYZWOffsetXY; 118 | uniform float _SpreadDetailMap; 119 | uniform float _IntensityMask; 120 | uniform float _VisualizeMask; 121 | uniform float _BlendmodeOverlay; 122 | uniform float _Brightness; 123 | uniform float4 _Color; 124 | uniform sampler2D _MainTex; 125 | uniform float4 _MainTex_ST; 126 | uniform float _Saturation; 127 | uniform float _DetailBrightness; 128 | uniform float4 _DetailColor; 129 | uniform sampler2D _DetailAlbedoMap; 130 | uniform float4 _DetailAlbedoMap_ST; 131 | uniform float _DetailSaturation; 132 | uniform float _UseEmissionFromMainProperties; 133 | uniform float4 _EmissionColor; 134 | uniform sampler2D _EmissionMap; 135 | uniform float4 _EmissionMap_ST; 136 | uniform float _EmissionIntensity; 137 | uniform float4 _SpecularColor; 138 | uniform sampler2D _SpecGlossMap; 139 | uniform float4 _SpecGlossMap_ST; 140 | uniform float _SpecularIntensity; 141 | uniform float4 _DetailSpecularColor; 142 | uniform sampler2D _DetailSpecGlossMap; 143 | uniform float4 _DetailSpecGlossMap_ST; 144 | uniform float _DetailSpecularIntensity; 145 | uniform float _Glossiness; 146 | uniform float _InvertABaseColor; 147 | uniform float _DetailGlossiness; 148 | uniform float _UseAoFromMainProperties; 149 | uniform sampler2D _OcclusionMap; 150 | uniform float4 _OcclusionMap_ST; 151 | uniform float _AoIntensity; 152 | uniform float _ContrastTransparentMap; 153 | uniform float _InvertTransparent; 154 | uniform float _UseBaseColorAlpha; 155 | uniform sampler2D _TransparentMask; 156 | uniform float4 _TransparentMask_ST; 157 | uniform float _SpreadTransparentMap; 158 | uniform float _IntensityTransparentMap; 159 | 160 | UNITY_INSTANCING_BUFFER_START(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupTransparent) 161 | UNITY_DEFINE_INSTANCED_PROP(float, _TriplanarFalloff) 162 | #define _TriplanarFalloff_arr CiconiaStudioCS_StandardBuiltinStandardSpecularsetupTransparent 163 | UNITY_INSTANCING_BUFFER_END(CiconiaStudioCS_StandardBuiltinStandardSpecularsetupTransparent) 164 | 165 | 166 | inline float4 TriplanarSampling393( sampler2D topTexMap, float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index ) 167 | { 168 | float3 projNormal = ( pow( abs( worldNormal ), falloff ) ); 169 | projNormal /= ( projNormal.x + projNormal.y + projNormal.z ) + 0.00001; 170 | float3 nsign = sign( worldNormal ); 171 | half4 xNorm; half4 yNorm; half4 zNorm; 172 | xNorm = tex2D( topTexMap, tiling * worldPos.zy * float2( nsign.x, 1.0 ) ); 173 | yNorm = tex2D( topTexMap, tiling * worldPos.xz * float2( nsign.y, 1.0 ) ); 174 | zNorm = tex2D( topTexMap, tiling * worldPos.xy * float2( -nsign.z, 1.0 ) ); 175 | return xNorm * projNormal.x + yNorm * projNormal.y + zNorm * projNormal.z; 176 | } 177 | 178 | 179 | float4 CalculateContrast( float contrastValue, float4 colorTarget ) 180 | { 181 | float t = 0.5 * ( 1.0 - contrastValue ); 182 | return mul( float4x4( contrastValue,0,0,t, 0,contrastValue,0,t, 0,0,contrastValue,t, 0,0,0,1 ), colorTarget ); 183 | } 184 | 185 | void surf( Input i , inout SurfaceOutputStandardSpecular o ) 186 | { 187 | float2 uv_BumpMap = i.uv_texcoord * _BumpMap_ST.xy + _BumpMap_ST.zw; 188 | float2 break26_g619 = uv_BumpMap; 189 | float GlobalTilingX11 = ( _GlobalXYTilingXYZWOffsetXY.x - 1.0 ); 190 | float GlobalTilingY8 = ( _GlobalXYTilingXYZWOffsetXY.y - 1.0 ); 191 | float2 appendResult14_g619 = (float2(( break26_g619.x * GlobalTilingX11 ) , ( break26_g619.y * GlobalTilingY8 ))); 192 | float GlobalOffsetX10 = _GlobalXYTilingXYZWOffsetXY.z; 193 | float GlobalOffsetY9 = _GlobalXYTilingXYZWOffsetXY.w; 194 | float2 appendResult13_g619 = (float2(( break26_g619.x + GlobalOffsetX10 ) , ( break26_g619.y + GlobalOffsetY9 ))); 195 | float2 uv_ParallaxMap = i.uv_texcoord * _ParallaxMap_ST.xy + _ParallaxMap_ST.zw; 196 | float2 break26_g467 = uv_ParallaxMap; 197 | float2 appendResult14_g467 = (float2(( break26_g467.x * GlobalTilingX11 ) , ( break26_g467.y * GlobalTilingY8 ))); 198 | float2 appendResult13_g467 = (float2(( break26_g467.x + GlobalOffsetX10 ) , ( break26_g467.y + GlobalOffsetY9 ))); 199 | float4 temp_cast_0 = (tex2D( _ParallaxMap, ( appendResult14_g467 + appendResult13_g467 ) ).g).xxxx; 200 | float2 paralaxOffset36_g466 = ParallaxOffset( temp_cast_0.x , _Parallax , i.viewDir ); 201 | float2 switchResult47_g466 = (((i.ASEVFace>0)?(paralaxOffset36_g466):(0.0))); 202 | float2 Parallaxe368 = switchResult47_g466; 203 | float3 temp_output_245_0 = UnpackScaleNormal( tex2D( _BumpMap, ( ( appendResult14_g619 + appendResult13_g619 ) + Parallaxe368 ) ), _BumpScale ); 204 | float2 uv_DetailNormalMap = i.uv_texcoord * _DetailNormalMap_ST.xy + _DetailNormalMap_ST.zw; 205 | float3 NormalDetail155 = UnpackScaleNormal( tex2D( _DetailNormalMap, uv_DetailNormalMap ), _DetailNormalMapScale ); 206 | float4 temp_cast_2 = (0.0).xxxx; 207 | float2 appendResult389 = (float2(_TriplanarXYTilingXYZWOffsetXY.x , _TriplanarXYTilingXYZWOffsetXY.y)); 208 | float _TriplanarFalloff_Instance = UNITY_ACCESS_INSTANCED_PROP(_TriplanarFalloff_arr, _TriplanarFalloff); 209 | float3 ase_worldPos = i.worldPos; 210 | float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); 211 | float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) ); 212 | float3 ase_vertexNormal = mul( unity_WorldToObject, float4( ase_worldNormal, 0 ) ); 213 | #if defined(_TRIPLANARSPACEPROJECTION_OBJECTSPACE) 214 | float3 staticSwitch386 = ase_vertex3Pos; 215 | #elif defined(_TRIPLANARSPACEPROJECTION_WORLDSPACE) 216 | float3 staticSwitch386 = ase_worldPos; 217 | #else 218 | float3 staticSwitch386 = ase_vertex3Pos; 219 | #endif 220 | float2 appendResult385 = (float2(_TriplanarXYTilingXYZWOffsetXY.z , _TriplanarXYTilingXYZWOffsetXY.w)); 221 | float4 triplanar393 = TriplanarSampling393( _DetailMask, ( staticSwitch386 + float3( appendResult385 , 0.0 ) ), ase_vertexNormal, _TriplanarFalloff_Instance, appendResult389, 1.0, 0 ); 222 | float4 clampResult407 = clamp( ( CalculateContrast(( _ContrastDetailMap + 1.0 ),(( _InvertMask )?( ( 1.0 - (( _EnableTriplanarProjection )?( triplanar393 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ) ):( (( _EnableTriplanarProjection )?( triplanar393 ):( tex2D( _DetailMask, i.uv_texcoord ) )) ))) + -_SpreadDetailMap ) , float4( 0,0,0,0 ) , float4( 1,1,1,0 ) ); 223 | float MaskIntensity405 = _IntensityMask; 224 | float4 Mask158 = (( _EnableDetailMask )?( ( clampResult407 * MaskIntensity405 ) ):( temp_cast_2 )); 225 | float3 lerpResult137 = lerp( temp_output_245_0 , NormalDetail155 , Mask158.rgb); 226 | float3 lerpResult205 = lerp( temp_output_245_0 , BlendNormals( temp_output_245_0 , NormalDetail155 ) , Mask158.rgb); 227 | float3 Normal27 = (( _BlendMainNormal )?( lerpResult205 ):( lerpResult137 )); 228 | o.Normal = Normal27; 229 | float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw; 230 | float2 break26_g614 = uv_MainTex; 231 | float2 appendResult14_g614 = (float2(( break26_g614.x * GlobalTilingX11 ) , ( break26_g614.y * GlobalTilingY8 ))); 232 | float2 appendResult13_g614 = (float2(( break26_g614.x + GlobalOffsetX10 ) , ( break26_g614.y + GlobalOffsetY9 ))); 233 | float4 tex2DNode7_g613 = tex2D( _MainTex, ( ( appendResult14_g614 + appendResult13_g614 ) + Parallaxe368 ) ); 234 | float clampResult27_g613 = clamp( _Saturation , -1.0 , 100.0 ); 235 | float3 desaturateInitialColor29_g613 = ( _Color * tex2DNode7_g613 ).rgb; 236 | float desaturateDot29_g613 = dot( desaturateInitialColor29_g613, float3( 0.299, 0.587, 0.114 )); 237 | float3 desaturateVar29_g613 = lerp( desaturateInitialColor29_g613, desaturateDot29_g613.xxx, -clampResult27_g613 ); 238 | float4 temp_output_338_0 = CalculateContrast(_Brightness,float4( desaturateVar29_g613 , 0.0 )); 239 | float2 uv_DetailAlbedoMap = i.uv_texcoord * _DetailAlbedoMap_ST.xy + _DetailAlbedoMap_ST.zw; 240 | float4 tex2DNode7_g468 = tex2D( _DetailAlbedoMap, uv_DetailAlbedoMap ); 241 | float clampResult27_g468 = clamp( _DetailSaturation , -1.0 , 100.0 ); 242 | float3 desaturateInitialColor29_g468 = ( _DetailColor * tex2DNode7_g468 ).rgb; 243 | float desaturateDot29_g468 = dot( desaturateInitialColor29_g468, float3( 0.299, 0.587, 0.114 )); 244 | float3 desaturateVar29_g468 = lerp( desaturateInitialColor29_g468, desaturateDot29_g468.xxx, -clampResult27_g468 ); 245 | float4 AlbedoDetail153 = CalculateContrast(_DetailBrightness,float4( desaturateVar29_g468 , 0.0 )); 246 | float4 lerpResult343 = lerp( temp_output_338_0 , AlbedoDetail153 , Mask158); 247 | float4 blendOpSrc15_g624 = temp_output_338_0; 248 | float4 blendOpDest15_g624 = lerpResult343; 249 | float4 lerpBlendMode15_g624 = lerp(blendOpDest15_g624,(( blendOpDest15_g624 > 0.5 ) ? ( 1.0 - 2.0 * ( 1.0 - blendOpDest15_g624 ) * ( 1.0 - blendOpSrc15_g624 ) ) : ( 2.0 * blendOpDest15_g624 * blendOpSrc15_g624 ) ),Mask158.x); 250 | float4 Albedo26 = (( _VisualizeMask )?( Mask158 ):( (( _BlendmodeOverlay )?( ( saturate( lerpBlendMode15_g624 )) ):( lerpResult343 )) )); 251 | o.Albedo = Albedo26.rgb; 252 | float2 uv_EmissionMap = i.uv_texcoord * _EmissionMap_ST.xy + _EmissionMap_ST.zw; 253 | float2 break26_g623 = uv_EmissionMap; 254 | float2 appendResult14_g623 = (float2(( break26_g623.x * GlobalTilingX11 ) , ( break26_g623.y * GlobalTilingY8 ))); 255 | float2 appendResult13_g623 = (float2(( break26_g623.x + GlobalOffsetX10 ) , ( break26_g623.y + GlobalOffsetY9 ))); 256 | float4 temp_output_248_0 = ( _EmissionColor * tex2D( _EmissionMap, ( ( appendResult14_g623 + appendResult13_g623 ) + Parallaxe368 ) ) * _EmissionIntensity ); 257 | float4 temp_cast_21 = (0.0).xxxx; 258 | float4 lerpResult190 = lerp( temp_output_248_0 , temp_cast_21 , Mask158); 259 | float4 Emission110 = (( _UseEmissionFromMainProperties )?( temp_output_248_0 ):( lerpResult190 )); 260 | o.Emission = Emission110.rgb; 261 | float2 uv_SpecGlossMap = i.uv_texcoord * _SpecGlossMap_ST.xy + _SpecGlossMap_ST.zw; 262 | float2 break26_g626 = uv_SpecGlossMap; 263 | float2 appendResult14_g626 = (float2(( break26_g626.x * GlobalTilingX11 ) , ( break26_g626.y * GlobalTilingY8 ))); 264 | float2 appendResult13_g626 = (float2(( break26_g626.x + GlobalOffsetX10 ) , ( break26_g626.y + GlobalOffsetY9 ))); 265 | float4 tex2DNode3_g625 = tex2D( _SpecGlossMap, ( ( appendResult14_g626 + appendResult13_g626 ) + Parallaxe368 ) ); 266 | float2 uv_DetailSpecGlossMap = i.uv_texcoord * _DetailSpecGlossMap_ST.xy + _DetailSpecGlossMap_ST.zw; 267 | float4 tex2DNode3_g617 = tex2D( _DetailSpecGlossMap, uv_DetailSpecGlossMap ); 268 | float4 DetailMetallic176 = ( _DetailSpecularColor * tex2DNode3_g617 * _DetailSpecularIntensity ); 269 | float4 lerpResult179 = lerp( ( _SpecularColor * tex2DNode3_g625 * _SpecularIntensity ) , DetailMetallic176 , Mask158); 270 | float4 Specular41 = lerpResult179; 271 | o.Specular = Specular41.rgb; 272 | float BaseColorAlpha46 = (( _InvertABaseColor )?( ( 1.0 - tex2DNode7_g613.a ) ):( tex2DNode7_g613.a )); 273 | #if defined(_SOURCE_SPECULARALPHA) 274 | float staticSwitch31_g625 = ( tex2DNode3_g625.a * _Glossiness ); 275 | #elif defined(_SOURCE_BASECOLORALPHA) 276 | float staticSwitch31_g625 = ( _Glossiness * BaseColorAlpha46 ); 277 | #else 278 | float staticSwitch31_g625 = ( tex2DNode3_g625.a * _Glossiness ); 279 | #endif 280 | float DetailBaseColorAlpha170 = tex2DNode7_g468.a; 281 | #if defined(_DETAILSOURCE_SPECULARALPHA) 282 | float staticSwitch31_g617 = ( tex2DNode3_g617.a * _DetailGlossiness ); 283 | #elif defined(_DETAILSOURCE_ALBEDOALPHA) 284 | float staticSwitch31_g617 = ( _DetailGlossiness * DetailBaseColorAlpha170 ); 285 | #else 286 | float staticSwitch31_g617 = ( tex2DNode3_g617.a * _DetailGlossiness ); 287 | #endif 288 | float DetailSmoothness175 = staticSwitch31_g617; 289 | float lerpResult182 = lerp( staticSwitch31_g625 , DetailSmoothness175 , Mask158.r); 290 | float Smoothness40 = lerpResult182; 291 | o.Smoothness = Smoothness40; 292 | float2 uv_OcclusionMap = i.uv_texcoord * _OcclusionMap_ST.xy + _OcclusionMap_ST.zw; 293 | float2 break26_g621 = uv_OcclusionMap; 294 | float2 appendResult14_g621 = (float2(( break26_g621.x * GlobalTilingX11 ) , ( break26_g621.y * GlobalTilingY8 ))); 295 | float2 appendResult13_g621 = (float2(( break26_g621.x + GlobalOffsetX10 ) , ( break26_g621.y + GlobalOffsetY9 ))); 296 | float blendOpSrc2_g620 = tex2D( _OcclusionMap, ( ( appendResult14_g621 + appendResult13_g621 ) + Parallaxe368 ) ).r; 297 | float blendOpDest2_g620 = ( 1.0 - _AoIntensity ); 298 | float temp_output_247_0 = ( saturate( ( 1.0 - ( 1.0 - blendOpSrc2_g620 ) * ( 1.0 - blendOpDest2_g620 ) ) )); 299 | float lerpResult185 = lerp( temp_output_247_0 , 1.0 , Mask158.r); 300 | float AmbientOcclusion94 = (( _UseAoFromMainProperties )?( temp_output_247_0 ):( lerpResult185 )); 301 | o.Occlusion = AmbientOcclusion94; 302 | float2 uv_TransparentMask = i.uv_texcoord * _TransparentMask_ST.xy + _TransparentMask_ST.zw; 303 | float4 tex2DNode8_g627 = tex2D( _TransparentMask, uv_TransparentMask ); 304 | float4 temp_cast_26 = (BaseColorAlpha46).xxxx; 305 | float4 temp_cast_27 = (BaseColorAlpha46).xxxx; 306 | float4 clampResult24_g627 = clamp( ( CalculateContrast(( _ContrastTransparentMap + 1.0 ),(( _InvertTransparent )?( ( 1.0 - (( _UseBaseColorAlpha )?( temp_cast_27 ):( tex2DNode8_g627 )) ) ):( (( _UseBaseColorAlpha )?( temp_cast_26 ):( tex2DNode8_g627 )) ))) + -_SpreadTransparentMap ) , float4( 0,0,0,0 ) , float4( 1,0,0,0 ) ); 307 | float4 Transparent358 = ( clampResult24_g627 * ( 1.0 - _IntensityTransparentMap ) ); 308 | o.Alpha = Transparent358.r; 309 | } 310 | 311 | ENDCG 312 | CGPROGRAM 313 | #pragma surface surf StandardSpecular alpha:fade keepalpha fullforwardshadows 314 | 315 | ENDCG 316 | Pass 317 | { 318 | Name "ShadowCaster" 319 | Tags{ "LightMode" = "ShadowCaster" } 320 | ZWrite On 321 | CGPROGRAM 322 | #pragma vertex vert 323 | #pragma fragment frag 324 | #pragma target 3.0 325 | #pragma multi_compile_shadowcaster 326 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 327 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 328 | #include "HLSLSupport.cginc" 329 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 330 | #define CAN_SKIP_VPOS 331 | #endif 332 | #include "UnityCG.cginc" 333 | #include "Lighting.cginc" 334 | #include "UnityPBSLighting.cginc" 335 | sampler3D _DitherMaskLOD; 336 | struct v2f 337 | { 338 | V2F_SHADOW_CASTER; 339 | float2 customPack1 : TEXCOORD1; 340 | float4 tSpace0 : TEXCOORD2; 341 | float4 tSpace1 : TEXCOORD3; 342 | float4 tSpace2 : TEXCOORD4; 343 | UNITY_VERTEX_INPUT_INSTANCE_ID 344 | UNITY_VERTEX_OUTPUT_STEREO 345 | }; 346 | v2f vert( appdata_full v ) 347 | { 348 | v2f o; 349 | UNITY_SETUP_INSTANCE_ID( v ); 350 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 351 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 352 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 353 | Input customInputData; 354 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 355 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 356 | half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 357 | half tangentSign = v.tangent.w * unity_WorldTransformParams.w; 358 | half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 359 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 360 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 361 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 362 | o.customPack1.xy = customInputData.uv_texcoord; 363 | o.customPack1.xy = v.texcoord; 364 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 365 | return o; 366 | } 367 | half4 frag( v2f IN 368 | #if !defined( CAN_SKIP_VPOS ) 369 | , UNITY_VPOS_TYPE vpos : VPOS 370 | #endif 371 | ) : SV_Target 372 | { 373 | UNITY_SETUP_INSTANCE_ID( IN ); 374 | Input surfIN; 375 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 376 | surfIN.uv_texcoord = IN.customPack1.xy; 377 | float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); 378 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 379 | surfIN.viewDir = IN.tSpace0.xyz * worldViewDir.x + IN.tSpace1.xyz * worldViewDir.y + IN.tSpace2.xyz * worldViewDir.z; 380 | surfIN.worldPos = worldPos; 381 | surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); 382 | surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; 383 | surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; 384 | surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; 385 | SurfaceOutputStandardSpecular o; 386 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandardSpecular, o ) 387 | surf( surfIN, o ); 388 | #if defined( CAN_SKIP_VPOS ) 389 | float2 vpos = IN.pos; 390 | #endif 391 | half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; 392 | clip( alphaRef - 0.01 ); 393 | SHADOW_CASTER_FRAGMENT( IN ) 394 | } 395 | ENDCG 396 | } 397 | } 398 | Fallback "Diffuse" 399 | } -------------------------------------------------------------------------------- /Shaders/Ciconia Studio_CS_Standard_Builtin_Standard (Specular setup)_Transparent.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a5eda0546902cf449b3963ff8e607db 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Double Sided_Alpha Clip.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Double Sided/Alpha Clip" 4 | { 5 | Properties 6 | { 7 | _Smoothness("Smoothness", Range( 0 , 1)) = 0.5 8 | _Metallic("Metallic", Range( 0 , 1)) = 0 9 | _Albedo("Albedo", 2D) = "white" {} 10 | _Cutoff( "Mask Clip Value", Float ) = 0.1 11 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 12 | [HideInInspector] __dirty( "", Int ) = 1 13 | } 14 | 15 | SubShader 16 | { 17 | Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" } 18 | Cull Off 19 | CGPROGRAM 20 | #pragma target 3.0 21 | #pragma surface surf Standard keepalpha addshadow fullforwardshadows 22 | struct Input 23 | { 24 | float2 uv_texcoord; 25 | }; 26 | 27 | uniform sampler2D _Albedo; 28 | uniform float4 _Albedo_ST; 29 | uniform float _Metallic; 30 | uniform float _Smoothness; 31 | uniform float _Cutoff = 0.1; 32 | 33 | void surf( Input i , inout SurfaceOutputStandard o ) 34 | { 35 | float2 uv_Albedo = i.uv_texcoord * _Albedo_ST.xy + _Albedo_ST.zw; 36 | float4 tex2DNode1 = tex2D( _Albedo, uv_Albedo ); 37 | o.Albedo = tex2DNode1.rgb; 38 | o.Metallic = _Metallic; 39 | o.Smoothness = _Smoothness; 40 | o.Alpha = 1; 41 | clip( tex2DNode1.a - _Cutoff ); 42 | } 43 | 44 | ENDCG 45 | } 46 | Fallback "Diffuse" 47 | CustomEditor "ASEMaterialInspector" 48 | } 49 | /*ASEBEGIN 50 | Version=18800 51 | 0;0;1920;1011;1830.974;440.4566;1.3;True;True 52 | Node;AmplifyShaderEditor.RangedFloatNode;2;-391.8741,49.64339;Inherit;False;Property;_Metallic;Metallic;1;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 53 | Node;AmplifyShaderEditor.RangedFloatNode;3;-390.5742,113.3433;Inherit;False;Property;_Smoothness;Smoothness;0;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 54 | Node;AmplifyShaderEditor.SamplerNode;1;-774.074,-37.45663;Inherit;True;Property;_Albedo;Albedo;2;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 55 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Orton/Double Sided/Alpha Clip;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.1;True;True;0;True;Opaque;;AlphaTest;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;3;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 56 | WireConnection;0;0;1;0 57 | WireConnection;0;3;2;0 58 | WireConnection;0;4;3;0 59 | WireConnection;0;10;1;4 60 | ASEEND*/ 61 | //CHKSM=5C60A58FA25C22FBD4BE4509D3A7557F0F79C696 -------------------------------------------------------------------------------- /Shaders/Double Sided_Alpha Clip.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3c996c9b8740f1d4f97fced5f115d4e3 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Emoji Shader.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Emoji Shader" 4 | { 5 | Properties 6 | { 7 | _albedo("albedo", 2D) = "white" {} 8 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 9 | [HideInInspector] __dirty( "", Int ) = 1 10 | } 11 | 12 | SubShader 13 | { 14 | Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 15 | Cull Back 16 | CGINCLUDE 17 | #include "UnityPBSLighting.cginc" 18 | #include "Lighting.cginc" 19 | #pragma target 3.0 20 | struct Input 21 | { 22 | float2 uv_texcoord; 23 | }; 24 | 25 | uniform sampler2D _albedo; 26 | uniform float4 _albedo_ST; 27 | 28 | inline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten ) 29 | { 30 | return half4 ( 0, 0, 0, s.Alpha ); 31 | } 32 | 33 | void surf( Input i , inout SurfaceOutput o ) 34 | { 35 | float2 uv_albedo = i.uv_texcoord * _albedo_ST.xy + _albedo_ST.zw; 36 | float4 tex2DNode1 = tex2D( _albedo, uv_albedo ); 37 | o.Emission = tex2DNode1.rgb; 38 | o.Alpha = tex2DNode1.a; 39 | } 40 | 41 | ENDCG 42 | CGPROGRAM 43 | #pragma surface surf Unlit alpha:fade keepalpha fullforwardshadows exclude_path:deferred 44 | 45 | ENDCG 46 | Pass 47 | { 48 | Name "ShadowCaster" 49 | Tags{ "LightMode" = "ShadowCaster" } 50 | ZWrite On 51 | CGPROGRAM 52 | #pragma vertex vert 53 | #pragma fragment frag 54 | #pragma target 3.0 55 | #pragma multi_compile_shadowcaster 56 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 57 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 58 | #include "HLSLSupport.cginc" 59 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 60 | #define CAN_SKIP_VPOS 61 | #endif 62 | #include "UnityCG.cginc" 63 | #include "Lighting.cginc" 64 | #include "UnityPBSLighting.cginc" 65 | sampler3D _DitherMaskLOD; 66 | struct v2f 67 | { 68 | V2F_SHADOW_CASTER; 69 | float2 customPack1 : TEXCOORD1; 70 | float3 worldPos : TEXCOORD2; 71 | UNITY_VERTEX_INPUT_INSTANCE_ID 72 | UNITY_VERTEX_OUTPUT_STEREO 73 | }; 74 | v2f vert( appdata_full v ) 75 | { 76 | v2f o; 77 | UNITY_SETUP_INSTANCE_ID( v ); 78 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 79 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 80 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 81 | Input customInputData; 82 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 83 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 84 | o.customPack1.xy = customInputData.uv_texcoord; 85 | o.customPack1.xy = v.texcoord; 86 | o.worldPos = worldPos; 87 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 88 | return o; 89 | } 90 | half4 frag( v2f IN 91 | #if !defined( CAN_SKIP_VPOS ) 92 | , UNITY_VPOS_TYPE vpos : VPOS 93 | #endif 94 | ) : SV_Target 95 | { 96 | UNITY_SETUP_INSTANCE_ID( IN ); 97 | Input surfIN; 98 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 99 | surfIN.uv_texcoord = IN.customPack1.xy; 100 | float3 worldPos = IN.worldPos; 101 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 102 | SurfaceOutput o; 103 | UNITY_INITIALIZE_OUTPUT( SurfaceOutput, o ) 104 | surf( surfIN, o ); 105 | #if defined( CAN_SKIP_VPOS ) 106 | float2 vpos = IN.pos; 107 | #endif 108 | half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; 109 | clip( alphaRef - 0.01 ); 110 | SHADOW_CASTER_FRAGMENT( IN ) 111 | } 112 | ENDCG 113 | } 114 | } 115 | Fallback "Diffuse" 116 | CustomEditor "ASEMaterialInspector" 117 | } 118 | /*ASEBEGIN 119 | Version=18800 120 | 7;6;1906;1005;1167.652;299.8077;1;True;True 121 | Node;AmplifyShaderEditor.SamplerNode;1;-348.1246,-5.900105;Inherit;True;Property;_albedo;albedo;0;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 122 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;5;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Unlit;Orton/Emoji Shader;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;ForwardOnly;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 123 | WireConnection;5;2;1;0 124 | WireConnection;5;9;1;4 125 | ASEEND*/ 126 | //CHKSM=94927E43CBD0D85E7755777E5448B3B93EAD4FD5 -------------------------------------------------------------------------------- /Shaders/Emoji Shader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e19742d3ab337a4c8ef81fe6a59111f 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Enemy Valuable Shader.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Enemy Valuable Shader" 4 | { 5 | Properties 6 | { 7 | _BaseColor("Base Color", Color) = (0,0,0,1) 8 | [HDR]_EmissionColor("Emission Color", Color) = (0.3294118,0,0.1435789,0) 9 | _Smoothness("Smoothness", Float) = 0 10 | [Header(Fresnel)]_FresnelBias("Fresnel Bias", Float) = 0 11 | _FresnelEmission("Fresnel Emission", Float) = 0 12 | _FresnelScale("Fresnel Scale", Float) = 0 13 | _FresnelPower("Fresnel Power", Float) = 0 14 | _FresnelColor("Fresnel Color", Color) = (1,0,0.1383696,0) 15 | [HideInInspector] __dirty( "", Int ) = 1 16 | } 17 | 18 | SubShader 19 | { 20 | Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 21 | Cull Back 22 | CGINCLUDE 23 | #include "UnityPBSLighting.cginc" 24 | #include "Lighting.cginc" 25 | #pragma target 3.0 26 | struct Input 27 | { 28 | float3 worldPos; 29 | float3 worldNormal; 30 | }; 31 | 32 | uniform float _FresnelBias; 33 | uniform float _FresnelScale; 34 | uniform float _FresnelPower; 35 | uniform float4 _FresnelColor; 36 | uniform float4 _BaseColor; 37 | uniform float _FresnelEmission; 38 | uniform float4 _EmissionColor; 39 | uniform float _Smoothness; 40 | 41 | void surf( Input i , inout SurfaceOutputStandard o ) 42 | { 43 | float3 ase_worldPos = i.worldPos; 44 | float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); 45 | float3 ase_worldNormal = i.worldNormal; 46 | float fresnelNdotV6 = dot( ase_worldNormal, ase_worldViewDir ); 47 | float fresnelNode6 = ( _FresnelBias + _FresnelScale * pow( 1.0 - fresnelNdotV6, _FresnelPower ) ); 48 | float4 temp_output_11_0 = ( fresnelNode6 * _FresnelColor ); 49 | o.Albedo = ( temp_output_11_0 + _BaseColor ).rgb; 50 | o.Emission = ( ( temp_output_11_0 * _FresnelEmission ) + _EmissionColor ).rgb; 51 | o.Metallic = 1.0; 52 | o.Smoothness = _Smoothness; 53 | o.Alpha = _BaseColor.a; 54 | } 55 | 56 | ENDCG 57 | CGPROGRAM 58 | #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows 59 | 60 | ENDCG 61 | Pass 62 | { 63 | Name "ShadowCaster" 64 | Tags{ "LightMode" = "ShadowCaster" } 65 | ZWrite On 66 | CGPROGRAM 67 | #pragma vertex vert 68 | #pragma fragment frag 69 | #pragma target 3.0 70 | #pragma multi_compile_shadowcaster 71 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 72 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 73 | #include "HLSLSupport.cginc" 74 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 75 | #define CAN_SKIP_VPOS 76 | #endif 77 | #include "UnityCG.cginc" 78 | #include "Lighting.cginc" 79 | #include "UnityPBSLighting.cginc" 80 | sampler3D _DitherMaskLOD; 81 | struct v2f 82 | { 83 | V2F_SHADOW_CASTER; 84 | float3 worldPos : TEXCOORD1; 85 | float3 worldNormal : TEXCOORD2; 86 | UNITY_VERTEX_INPUT_INSTANCE_ID 87 | UNITY_VERTEX_OUTPUT_STEREO 88 | }; 89 | v2f vert( appdata_full v ) 90 | { 91 | v2f o; 92 | UNITY_SETUP_INSTANCE_ID( v ); 93 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 94 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 95 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 96 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 97 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 98 | o.worldNormal = worldNormal; 99 | o.worldPos = worldPos; 100 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 101 | return o; 102 | } 103 | half4 frag( v2f IN 104 | #if !defined( CAN_SKIP_VPOS ) 105 | , UNITY_VPOS_TYPE vpos : VPOS 106 | #endif 107 | ) : SV_Target 108 | { 109 | UNITY_SETUP_INSTANCE_ID( IN ); 110 | Input surfIN; 111 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 112 | float3 worldPos = IN.worldPos; 113 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 114 | surfIN.worldPos = worldPos; 115 | surfIN.worldNormal = IN.worldNormal; 116 | SurfaceOutputStandard o; 117 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 118 | surf( surfIN, o ); 119 | #if defined( CAN_SKIP_VPOS ) 120 | float2 vpos = IN.pos; 121 | #endif 122 | half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; 123 | clip( alphaRef - 0.01 ); 124 | SHADOW_CASTER_FRAGMENT( IN ) 125 | } 126 | ENDCG 127 | } 128 | } 129 | Fallback "Diffuse" 130 | CustomEditor "ASEMaterialInspector" 131 | } 132 | /*ASEBEGIN 133 | Version=18800 134 | 0;0;1920;1011;1954.698;504.9992;1.6;True;True 135 | Node;AmplifyShaderEditor.CommentaryNode;15;-1269.199,-342.2004;Inherit;False;875.6132;445.0002;;8;8;9;10;11;5;6;7;12;Fresnel;1,1,1,1;0;0 136 | Node;AmplifyShaderEditor.RangedFloatNode;8;-1219.199,-217.2002;Inherit;False;Property;_FresnelScale;Fresnel Scale;5;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 137 | Node;AmplifyShaderEditor.RangedFloatNode;9;-1211.199,-132.1999;Inherit;False;Property;_FresnelPower;Fresnel Power;6;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 138 | Node;AmplifyShaderEditor.RangedFloatNode;5;-1197.2,-292.2003;Inherit;False;Property;_FresnelBias;Fresnel Bias;3;1;[Header];Create;True;1;Fresnel;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 139 | Node;AmplifyShaderEditor.FresnelNode;6;-1004.2,-284.5003;Inherit;False;Standard;TangentNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 140 | Node;AmplifyShaderEditor.ColorNode;10;-1009.2,-109.1998;Inherit;False;Property;_FresnelColor;Fresnel Color;7;0;Create;True;0;0;0;False;0;False;1,0,0.1383696,0;1,0,0.1383696,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 141 | Node;AmplifyShaderEditor.CommentaryNode;17;-622.9998,149.5001;Inherit;False;399.5025;262;;2;2;13;Emission;1,1,1,1;0;0 142 | Node;AmplifyShaderEditor.CommentaryNode;16;-357.1998,-289.5;Inherit;False;408.9023;262;;2;1;14;Albedo;1,1,1,1;0;0 143 | Node;AmplifyShaderEditor.RangedFloatNode;7;-753.4001,-134.0999;Inherit;False;Property;_FresnelEmission;Fresnel Emission;4;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 144 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;-760.2002,-238.2002;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 145 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;12;-555.5863,-240.9553;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 146 | Node;AmplifyShaderEditor.ColorNode;1;-307.1998,-239.5;Inherit;False;Property;_BaseColor;Base Color;0;0;Create;True;0;0;0;False;0;False;0,0,0,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 147 | Node;AmplifyShaderEditor.ColorNode;2;-572.9998,199.5001;Inherit;False;Property;_EmissionColor;Emission Color;1;1;[HDR];Create;True;0;0;0;False;0;False;0.3294118,0,0.1435789,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 148 | Node;AmplifyShaderEditor.SimpleAddOpNode;13;-375.4976,202.2009;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 149 | Node;AmplifyShaderEditor.RangedFloatNode;3;-177.1,114.1;Inherit;False;Property;_Smoothness;Smoothness;2;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 150 | Node;AmplifyShaderEditor.RangedFloatNode;4;-163.3,41.10009;Inherit;False;Constant;_Metallic;Metallic;3;0;Create;True;0;0;0;False;0;False;1;0;0;0;0;1;FLOAT;0 151 | Node;AmplifyShaderEditor.SimpleAddOpNode;14;-100.2975,-236.1991;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 152 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Enemy Valuable Shader;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 153 | WireConnection;6;1;5;0 154 | WireConnection;6;2;8;0 155 | WireConnection;6;3;9;0 156 | WireConnection;11;0;6;0 157 | WireConnection;11;1;10;0 158 | WireConnection;12;0;11;0 159 | WireConnection;12;1;7;0 160 | WireConnection;13;0;12;0 161 | WireConnection;13;1;2;0 162 | WireConnection;14;0;11;0 163 | WireConnection;14;1;1;0 164 | WireConnection;0;0;14;0 165 | WireConnection;0;2;13;0 166 | WireConnection;0;3;4;0 167 | WireConnection;0;4;3;0 168 | WireConnection;0;9;1;4 169 | ASEEND*/ 170 | //CHKSM=FFBBF51EBBED6C74DC54A9D8314F060440E5F25A -------------------------------------------------------------------------------- /Shaders/Enemy Valuable Shader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd50b8d2d188a9b4e83acec5aa1f7492 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Fresnel Opaque.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Fresnel Opaque" 4 | { 5 | Properties 6 | { 7 | [SingleLineTexture]_BaseTexture("Base Texture", 2D) = "black" {} 8 | _BaseColor("Base Color", Color) = (0,0,0,0) 9 | _Metallic("Metallic", Range( 0 , 1)) = 0 10 | _Smoothness("Smoothness", Range( 0 , 1)) = 0.5 11 | [Header(Normal)][SingleLineTexture]_NormalTexture("Normal Texture", 2D) = "white" {} 12 | _NormalStrength("Normal Strength", Range( -5 , 5)) = 0 13 | [Header(Emission)][SingleLineTexture]_EmissionTexture("Emission Texture", 2D) = "white" {} 14 | [HDR]_EmissionColor("Emission Color", Color) = (0,0,0,1) 15 | [Header(Fresnel)]_FresnelBias("Fresnel Bias", Float) = 0 16 | _FresnelScale("Fresnel Scale", Float) = 5 17 | _FresnelPower("Fresnel Power", Float) = 4 18 | _FresnelColor("Fresnel Color", Color) = (1,1,1,0.1960784) 19 | [HDR]_FresnelEmissionColor("Fresnel Emission Color", Color) = (0,0,0,1) 20 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 21 | [HideInInspector] __dirty( "", Int ) = 1 22 | } 23 | 24 | SubShader 25 | { 26 | Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 27 | Cull Back 28 | CGINCLUDE 29 | #include "UnityStandardUtils.cginc" 30 | #include "UnityPBSLighting.cginc" 31 | #include "Lighting.cginc" 32 | #pragma target 3.0 33 | #ifdef UNITY_PASS_SHADOWCASTER 34 | #undef INTERNAL_DATA 35 | #undef WorldReflectionVector 36 | #undef WorldNormalVector 37 | #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; 38 | #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) 39 | #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) 40 | #endif 41 | struct Input 42 | { 43 | float2 uv_texcoord; 44 | float3 worldPos; 45 | INTERNAL_DATA 46 | float3 worldNormal; 47 | }; 48 | 49 | uniform sampler2D _NormalTexture; 50 | uniform float4 _NormalTexture_ST; 51 | uniform float _NormalStrength; 52 | uniform sampler2D _BaseTexture; 53 | uniform float4 _BaseTexture_ST; 54 | uniform float4 _BaseColor; 55 | uniform float _FresnelBias; 56 | uniform float _FresnelScale; 57 | uniform float _FresnelPower; 58 | uniform float4 _FresnelColor; 59 | uniform sampler2D _EmissionTexture; 60 | uniform float4 _EmissionTexture_ST; 61 | uniform float4 _EmissionColor; 62 | uniform float4 _FresnelEmissionColor; 63 | uniform float _Metallic; 64 | uniform float _Smoothness; 65 | 66 | void surf( Input i , inout SurfaceOutputStandard o ) 67 | { 68 | float2 uv_NormalTexture = i.uv_texcoord * _NormalTexture_ST.xy + _NormalTexture_ST.zw; 69 | float3 tex2DNode5 = UnpackScaleNormal( tex2D( _NormalTexture, uv_NormalTexture ), _NormalStrength ); 70 | o.Normal = tex2DNode5; 71 | float2 uv_BaseTexture = i.uv_texcoord * _BaseTexture_ST.xy + _BaseTexture_ST.zw; 72 | float3 ase_worldPos = i.worldPos; 73 | float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); 74 | float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); 75 | float3 ase_worldTangent = WorldNormalVector( i, float3( 1, 0, 0 ) ); 76 | float3 ase_worldBitangent = WorldNormalVector( i, float3( 0, 1, 0 ) ); 77 | float3x3 ase_tangentToWorldFast = float3x3(ase_worldTangent.x,ase_worldBitangent.x,ase_worldNormal.x,ase_worldTangent.y,ase_worldBitangent.y,ase_worldNormal.y,ase_worldTangent.z,ase_worldBitangent.z,ase_worldNormal.z); 78 | float fresnelNdotV14 = dot( mul(ase_tangentToWorldFast,tex2DNode5), ase_worldViewDir ); 79 | float fresnelNode14 = ( _FresnelBias + _FresnelScale * pow( 1.0 - fresnelNdotV14, _FresnelPower ) ); 80 | float4 FresnelAlbedo23 = ( fresnelNode14 * _FresnelColor ); 81 | o.Albedo = ( ( tex2D( _BaseTexture, uv_BaseTexture ) * _BaseColor ) + FresnelAlbedo23 ).rgb; 82 | float2 uv_EmissionTexture = i.uv_texcoord * _EmissionTexture_ST.xy + _EmissionTexture_ST.zw; 83 | float4 FresnelEmision24 = ( fresnelNode14 * _FresnelEmissionColor ); 84 | o.Emission = ( ( ( tex2D( _EmissionTexture, uv_EmissionTexture ) * _EmissionColor ) * _EmissionColor.a ) + FresnelEmision24 ).rgb; 85 | o.Metallic = _Metallic; 86 | o.Smoothness = _Smoothness; 87 | o.Alpha = 1; 88 | } 89 | 90 | ENDCG 91 | CGPROGRAM 92 | #pragma surface surf Standard keepalpha fullforwardshadows 93 | 94 | ENDCG 95 | Pass 96 | { 97 | Name "ShadowCaster" 98 | Tags{ "LightMode" = "ShadowCaster" } 99 | ZWrite On 100 | CGPROGRAM 101 | #pragma vertex vert 102 | #pragma fragment frag 103 | #pragma target 3.0 104 | #pragma multi_compile_shadowcaster 105 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 106 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 107 | #include "HLSLSupport.cginc" 108 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 109 | #define CAN_SKIP_VPOS 110 | #endif 111 | #include "UnityCG.cginc" 112 | #include "Lighting.cginc" 113 | #include "UnityPBSLighting.cginc" 114 | struct v2f 115 | { 116 | V2F_SHADOW_CASTER; 117 | float2 customPack1 : TEXCOORD1; 118 | float4 tSpace0 : TEXCOORD2; 119 | float4 tSpace1 : TEXCOORD3; 120 | float4 tSpace2 : TEXCOORD4; 121 | UNITY_VERTEX_INPUT_INSTANCE_ID 122 | UNITY_VERTEX_OUTPUT_STEREO 123 | }; 124 | v2f vert( appdata_full v ) 125 | { 126 | v2f o; 127 | UNITY_SETUP_INSTANCE_ID( v ); 128 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 129 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 130 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 131 | Input customInputData; 132 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 133 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 134 | half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 135 | half tangentSign = v.tangent.w * unity_WorldTransformParams.w; 136 | half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 137 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 138 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 139 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 140 | o.customPack1.xy = customInputData.uv_texcoord; 141 | o.customPack1.xy = v.texcoord; 142 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 143 | return o; 144 | } 145 | half4 frag( v2f IN 146 | #if !defined( CAN_SKIP_VPOS ) 147 | , UNITY_VPOS_TYPE vpos : VPOS 148 | #endif 149 | ) : SV_Target 150 | { 151 | UNITY_SETUP_INSTANCE_ID( IN ); 152 | Input surfIN; 153 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 154 | surfIN.uv_texcoord = IN.customPack1.xy; 155 | float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); 156 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 157 | surfIN.worldPos = worldPos; 158 | surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); 159 | surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; 160 | surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; 161 | surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; 162 | SurfaceOutputStandard o; 163 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 164 | surf( surfIN, o ); 165 | #if defined( CAN_SKIP_VPOS ) 166 | float2 vpos = IN.pos; 167 | #endif 168 | SHADOW_CASTER_FRAGMENT( IN ) 169 | } 170 | ENDCG 171 | } 172 | } 173 | Fallback "Diffuse" 174 | CustomEditor "ASEMaterialInspector" 175 | } 176 | /*ASEBEGIN 177 | Version=18800 178 | 0;0;1920;1011;1920.824;668.7903;1.31788;True;True 179 | Node;AmplifyShaderEditor.CommentaryNode;27;-945.5154,18.53921;Inherit;False;636;280;;2;6;5;Normal;1,1,1,1;0;0 180 | Node;AmplifyShaderEditor.CommentaryNode;25;-951.9662,330.4805;Inherit;False;921;592;;10;16;20;13;15;18;19;17;14;23;24;Fresnel;1,1,1,1;0;0 181 | Node;AmplifyShaderEditor.RangedFloatNode;6;-895.5157,116.539;Inherit;False;Property;_NormalStrength;Normal Strength;5;0;Create;True;0;0;0;False;0;False;0;0;-5;5;0;1;FLOAT;0 182 | Node;AmplifyShaderEditor.RangedFloatNode;15;-897.9662,448.4803;Inherit;False;Property;_FresnelScale;Fresnel Scale;9;0;Create;True;0;0;0;False;0;False;5;5;0;0;0;1;FLOAT;0 183 | Node;AmplifyShaderEditor.RangedFloatNode;16;-901.9662,517.4805;Inherit;False;Property;_FresnelPower;Fresnel Power;10;0;Create;True;0;0;0;False;0;False;4;4;0;0;0;1;FLOAT;0 184 | Node;AmplifyShaderEditor.SamplerNode;5;-629.5093,68.53908;Inherit;True;Property;_NormalTexture;Normal Texture;4;2;[Header];[SingleLineTexture];Create;True;1;Normal;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 185 | Node;AmplifyShaderEditor.RangedFloatNode;13;-893.9662,380.4805;Inherit;False;Property;_FresnelBias;Fresnel Bias;8;1;[Header];Create;True;1;Fresnel;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 186 | Node;AmplifyShaderEditor.ColorNode;17;-649.9656,542.4805;Inherit;False;Property;_FresnelColor;Fresnel Color;11;0;Create;True;0;0;0;False;0;False;1,1,1,0.1960784;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 187 | Node;AmplifyShaderEditor.CommentaryNode;28;-1746.305,-174.4359;Inherit;False;766.5677;449;;6;8;9;10;11;12;26;Emission;1,1,1,1;0;0 188 | Node;AmplifyShaderEditor.ColorNode;19;-666.9654,710.4814;Inherit;False;Property;_FresnelEmissionColor;Fresnel Emission Color;12;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 189 | Node;AmplifyShaderEditor.FresnelNode;14;-670.9654,381.4806;Inherit;False;Standard;TangentNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 190 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;-404.9663,487.4805;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 191 | Node;AmplifyShaderEditor.CommentaryNode;30;-854.1744,-528.7361;Inherit;False;781.5676;484.8499;;5;1;2;22;7;29;Albedo;1,1,1,1;0;0 192 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;18;-404.9663,394.4805;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 193 | Node;AmplifyShaderEditor.ColorNode;9;-1651.306,62.56413;Inherit;False;Property;_EmissionColor;Emission Color;7;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 194 | Node;AmplifyShaderEditor.SamplerNode;8;-1696.305,-124.436;Inherit;True;Property;_EmissionTexture;Emission Texture;6;2;[Header];[SingleLineTexture];Create;True;1;Emission;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 195 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;10;-1386.305,-17.43585;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 196 | Node;AmplifyShaderEditor.ColorNode;2;-761.1744,-294.7363;Inherit;False;Property;_BaseColor;Base Color;1;0;Create;True;0;0;0;False;0;False;0,0,0,0;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 197 | Node;AmplifyShaderEditor.RegisterLocalVarNode;23;-265.9667,390.4806;Inherit;False;FresnelAlbedo;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 198 | Node;AmplifyShaderEditor.RegisterLocalVarNode;24;-257.9666,483.4805;Inherit;False;FresnelEmision;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 199 | Node;AmplifyShaderEditor.SamplerNode;1;-804.1744,-478.7361;Inherit;True;Property;_BaseTexture;Base Texture;0;1;[SingleLineTexture];Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;black;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 200 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;7;-448.1745,-263.7364;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 201 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;-1264.304,20.56412;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 202 | Node;AmplifyShaderEditor.GetLocalVarNode;26;-1337.737,113.414;Inherit;False;24;FresnelEmision;1;0;OBJECT;;False;1;COLOR;0 203 | Node;AmplifyShaderEditor.GetLocalVarNode;29;-465.5956,-165.6976;Inherit;False;23;FresnelAlbedo;1;0;OBJECT;;False;1;COLOR;0 204 | Node;AmplifyShaderEditor.SimpleAddOpNode;22;-224.6071,-178.8865;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 205 | Node;AmplifyShaderEditor.SimpleAddOpNode;12;-1131.735,48.4139;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 206 | Node;AmplifyShaderEditor.RangedFloatNode;4;-282,135.5;Inherit;False;Property;_Smoothness;Smoothness;3;0;Create;True;0;0;0;False;0;False;0.5;0.5;0;1;0;1;FLOAT;0 207 | Node;AmplifyShaderEditor.RangedFloatNode;3;-281,67.5;Inherit;False;Property;_Metallic;Metallic;2;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 208 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Orton/Fresnel Opaque;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 209 | WireConnection;5;5;6;0 210 | WireConnection;14;0;5;0 211 | WireConnection;14;1;13;0 212 | WireConnection;14;2;15;0 213 | WireConnection;14;3;16;0 214 | WireConnection;20;0;14;0 215 | WireConnection;20;1;19;0 216 | WireConnection;18;0;14;0 217 | WireConnection;18;1;17;0 218 | WireConnection;10;0;8;0 219 | WireConnection;10;1;9;0 220 | WireConnection;23;0;18;0 221 | WireConnection;24;0;20;0 222 | WireConnection;7;0;1;0 223 | WireConnection;7;1;2;0 224 | WireConnection;11;0;10;0 225 | WireConnection;11;1;9;4 226 | WireConnection;22;0;7;0 227 | WireConnection;22;1;29;0 228 | WireConnection;12;0;11;0 229 | WireConnection;12;1;26;0 230 | WireConnection;0;0;22;0 231 | WireConnection;0;1;5;0 232 | WireConnection;0;2;12;0 233 | WireConnection;0;3;3;0 234 | WireConnection;0;4;4;0 235 | ASEEND*/ 236 | //CHKSM=4862815B2A1322E81364B9AA28D22C6B51D8A15B -------------------------------------------------------------------------------- /Shaders/Fresnel Opaque.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e00b23fce20124b46bccff576013c267 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Fresnel Transparent.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Fresnel Transparent" 4 | { 5 | Properties 6 | { 7 | _BaseColor("Base Color", Color) = (0,0.9529412,1,0.3490196) 8 | [HDR]_EmissionColor("Emission Color", Color) = (0,0,0,1) 9 | _Smoothness("Smoothness", Range( 0 , 1)) = 1 10 | _Metallic("Metallic", Range( 0 , 1)) = 0 11 | [Header(Fresnel)]_FresnelBias("Fresnel Bias", Float) = 0 12 | _FresnelScale("Fresnel Scale", Float) = 5 13 | _FresnelPower("Fresnel Power", Float) = 4 14 | _FresnelColor("Fresnel Color", Color) = (0,0.9882353,1,0.4470588) 15 | [HideInInspector] __dirty( "", Int ) = 1 16 | } 17 | 18 | SubShader 19 | { 20 | Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 21 | Cull Back 22 | CGINCLUDE 23 | #include "UnityPBSLighting.cginc" 24 | #include "Lighting.cginc" 25 | #pragma target 3.0 26 | struct Input 27 | { 28 | float3 worldPos; 29 | float3 worldNormal; 30 | }; 31 | 32 | uniform float4 _BaseColor; 33 | uniform float _FresnelBias; 34 | uniform float _FresnelScale; 35 | uniform float _FresnelPower; 36 | uniform float4 _FresnelColor; 37 | uniform float4 _EmissionColor; 38 | uniform float _Metallic; 39 | uniform float _Smoothness; 40 | 41 | void surf( Input i , inout SurfaceOutputStandard o ) 42 | { 43 | float3 ase_worldPos = i.worldPos; 44 | float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); 45 | float3 ase_worldNormal = i.worldNormal; 46 | float fresnelNdotV11 = dot( ase_worldNormal, ase_worldViewDir ); 47 | float fresnelNode11 = ( _FresnelBias + _FresnelScale * pow( 1.0 - fresnelNdotV11, _FresnelPower ) ); 48 | float4 temp_output_14_0 = ( fresnelNode11 * _FresnelColor ); 49 | float4 Fresnel19 = temp_output_14_0; 50 | o.Albedo = ( _BaseColor + Fresnel19 ).rgb; 51 | o.Emission = ( ( _EmissionColor * _EmissionColor.a ) + Fresnel19 ).rgb; 52 | o.Metallic = _Metallic; 53 | o.Smoothness = _Smoothness; 54 | o.Alpha = _BaseColor.a; 55 | } 56 | 57 | ENDCG 58 | CGPROGRAM 59 | #pragma surface surf Standard alpha:fade keepalpha fullforwardshadows 60 | 61 | ENDCG 62 | Pass 63 | { 64 | Name "ShadowCaster" 65 | Tags{ "LightMode" = "ShadowCaster" } 66 | ZWrite On 67 | CGPROGRAM 68 | #pragma vertex vert 69 | #pragma fragment frag 70 | #pragma target 3.0 71 | #pragma multi_compile_shadowcaster 72 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 73 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 74 | #include "HLSLSupport.cginc" 75 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 76 | #define CAN_SKIP_VPOS 77 | #endif 78 | #include "UnityCG.cginc" 79 | #include "Lighting.cginc" 80 | #include "UnityPBSLighting.cginc" 81 | sampler3D _DitherMaskLOD; 82 | struct v2f 83 | { 84 | V2F_SHADOW_CASTER; 85 | float3 worldPos : TEXCOORD1; 86 | float3 worldNormal : TEXCOORD2; 87 | UNITY_VERTEX_INPUT_INSTANCE_ID 88 | UNITY_VERTEX_OUTPUT_STEREO 89 | }; 90 | v2f vert( appdata_full v ) 91 | { 92 | v2f o; 93 | UNITY_SETUP_INSTANCE_ID( v ); 94 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 95 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 96 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 97 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 98 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 99 | o.worldNormal = worldNormal; 100 | o.worldPos = worldPos; 101 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 102 | return o; 103 | } 104 | half4 frag( v2f IN 105 | #if !defined( CAN_SKIP_VPOS ) 106 | , UNITY_VPOS_TYPE vpos : VPOS 107 | #endif 108 | ) : SV_Target 109 | { 110 | UNITY_SETUP_INSTANCE_ID( IN ); 111 | Input surfIN; 112 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 113 | float3 worldPos = IN.worldPos; 114 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 115 | surfIN.worldPos = worldPos; 116 | surfIN.worldNormal = IN.worldNormal; 117 | SurfaceOutputStandard o; 118 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 119 | surf( surfIN, o ); 120 | #if defined( CAN_SKIP_VPOS ) 121 | float2 vpos = IN.pos; 122 | #endif 123 | half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a; 124 | clip( alphaRef - 0.01 ); 125 | SHADOW_CASTER_FRAGMENT( IN ) 126 | } 127 | ENDCG 128 | } 129 | } 130 | Fallback "Diffuse" 131 | CustomEditor "ASEMaterialInspector" 132 | } 133 | /*ASEBEGIN 134 | Version=18800 135 | 0;0;1920;1011;1417.883;302.9449;1.16001;True;True 136 | Node;AmplifyShaderEditor.CommentaryNode;2;-1040.094,326.0886;Inherit;False;1008.021;385.7784;;8;19;30;14;11;8;7;4;5;Fresnel;1,1,1,1;0;0 137 | Node;AmplifyShaderEditor.RangedFloatNode;5;-990.0938,513.0885;Inherit;False;Property;_FresnelPower;Fresnel Power;6;0;Create;True;0;0;0;False;0;False;4;4;0;0;0;1;FLOAT;0 138 | Node;AmplifyShaderEditor.RangedFloatNode;4;-986.0938,444.0884;Inherit;False;Property;_FresnelScale;Fresnel Scale;5;0;Create;True;0;0;0;False;0;False;5;5;0;0;0;1;FLOAT;0 139 | Node;AmplifyShaderEditor.RangedFloatNode;7;-982.0938,376.0886;Inherit;False;Property;_FresnelBias;Fresnel Bias;4;1;[Header];Create;True;1;Fresnel;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 140 | Node;AmplifyShaderEditor.ColorNode;8;-738.0931,538.0885;Inherit;False;Property;_FresnelColor;Fresnel Color;7;0;Create;True;0;0;0;False;0;False;0,0.9882353,1,0.4470588;1,0.09197852,0,0.254902;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 141 | Node;AmplifyShaderEditor.FresnelNode;11;-759.093,377.0887;Inherit;False;Standard;TangentNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 142 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;14;-493.0938,390.0886;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 143 | Node;AmplifyShaderEditor.CommentaryNode;9;-923.0063,-30.18737;Inherit;False;595.5677;333;;4;15;27;23;24;Emission;1,1,1,1;0;0 144 | Node;AmplifyShaderEditor.ColorNode;15;-889.0071,83.81275;Inherit;False;Property;_EmissionColor;Emission Color;1;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,1;0.1462264,0,0.01880055,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 145 | Node;AmplifyShaderEditor.CommentaryNode;13;-651.7604,-302.7281;Inherit;False;573.5676;261.8499;;3;26;18;25;Albedo;1,1,1,1;0;0 146 | Node;AmplifyShaderEditor.RegisterLocalVarNode;19;-213.7331,384.9287;Inherit;False;Fresnel;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 147 | Node;AmplifyShaderEditor.GetLocalVarNode;24;-655.4385,183.6625;Inherit;False;19;Fresnel;1;0;OBJECT;;False;1;COLOR;0 148 | Node;AmplifyShaderEditor.ColorNode;18;-630.7604,-236.7283;Inherit;False;Property;_BaseColor;Base Color;0;0;Create;True;0;0;0;False;0;False;0,0.9529412,1,0.3490196;1,0,0.0111661,0.0627451;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 149 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-582.0052,90.81275;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 150 | Node;AmplifyShaderEditor.GetLocalVarNode;25;-427.1823,-140.6896;Inherit;False;19;Fresnel;1;0;OBJECT;;False;1;COLOR;0 151 | Node;AmplifyShaderEditor.RangedFloatNode;28;-288.0667,119.388;Inherit;False;Property;_Smoothness;Smoothness;2;0;Create;True;0;0;0;False;0;False;1;1;0;1;0;1;FLOAT;0 152 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;30;-348.6735,389.5809;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 153 | Node;AmplifyShaderEditor.SimpleAddOpNode;27;-449.4367,118.6624;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 154 | Node;AmplifyShaderEditor.SimpleAddOpNode;26;-197.1938,-165.8785;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 155 | Node;AmplifyShaderEditor.RangedFloatNode;29;-287.0667,51.38802;Inherit;False;Property;_Metallic;Metallic;3;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 156 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Orton/Fresnel Transparent;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Transparent;0.5;True;True;0;False;Transparent;;Transparent;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 157 | WireConnection;11;1;7;0 158 | WireConnection;11;2;4;0 159 | WireConnection;11;3;5;0 160 | WireConnection;14;0;11;0 161 | WireConnection;14;1;8;0 162 | WireConnection;19;0;14;0 163 | WireConnection;23;0;15;0 164 | WireConnection;23;1;15;4 165 | WireConnection;30;0;14;0 166 | WireConnection;30;1;8;4 167 | WireConnection;27;0;23;0 168 | WireConnection;27;1;24;0 169 | WireConnection;26;0;18;0 170 | WireConnection;26;1;25;0 171 | WireConnection;0;0;26;0 172 | WireConnection;0;2;27;0 173 | WireConnection;0;3;29;0 174 | WireConnection;0;4;28;0 175 | WireConnection;0;9;18;4 176 | ASEEND*/ 177 | //CHKSM=390A5CE98B362D061AFF814B001FE2B7DE8C4C7C -------------------------------------------------------------------------------- /Shaders/Fresnel Transparent.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13569510c54e2db4fb13b4b44281dbeb 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Hurtable_Hurtable Alpha Clip.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Hurtable/Hurtable Alpha Clip" 4 | { 5 | Properties 6 | { 7 | _Cutoff( "Mask Clip Value", Float ) = 0.15 8 | _ColorOverlay("Color Overlay", Color) = (1,0,0,0) 9 | _ColorOverlayAmount("Color Overlay Amount", Range( 0 , 1)) = 0 10 | [Header(Albedo)][SingleLineTexture]_AlbedoTexture("Albedo Texture", 2D) = "white" {} 11 | _AlbedoColor("Albedo Color", Color) = (1,1,1,0) 12 | [Header(Normal)][SingleLineTexture]_NormalTexture("Normal Texture", 2D) = "bump" {} 13 | _NormalStrength("Normal Strength", Range( -5 , 5)) = 0 14 | [Header(Metallic)][SingleLineTexture]_MetallicTexture("Metallic Texture", 2D) = "white" {} 15 | _Metallic("Metallic", Range( 0 , 1)) = 0 16 | [Header(Smoothness)][SingleLineTexture]_SmoothnessTexture("Smoothness Texture", 2D) = "white" {} 17 | _Smoothness("Smoothness", Range( 0 , 1)) = 0 18 | [Header(Tiling)]_TilingX("Tiling X", Float) = 1 19 | _TilingY("Tiling Y", Float) = 1 20 | [Header(Offset)]_OffsetX("Offset X", Float) = 1 21 | _OffsetY("Offset Y", Float) = 1 22 | [Header(Emission)][SingleLineTexture]_EmissionTexture("Emission Texture", 2D) = "white" {} 23 | [HDR]_EmissionColor("Emission Color", Color) = (0,0,0,1) 24 | [Header(Fresnel)]_FresnelAmount("Fresnel Amount", Range( 0 , 1)) = 0 25 | _FresnelScale("FresnelScale", Float) = 0 26 | _FresnelPower("FresnelPower", Float) = 0 27 | _FresnelBias("FresnelBias", Float) = 0 28 | _FresnelColor("FresnelColor", Color) = (0,0,0,0) 29 | _FresnelEmission("Fresnel Emission", Range( 0 , 1)) = 0 30 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 31 | [HideInInspector] __dirty( "", Int ) = 1 32 | } 33 | 34 | SubShader 35 | { 36 | Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" "IgnoreProjector" = "True" "IsEmissive" = "true" } 37 | Cull Back 38 | AlphaToMask On 39 | CGINCLUDE 40 | #include "UnityStandardUtils.cginc" 41 | #include "UnityPBSLighting.cginc" 42 | #include "Lighting.cginc" 43 | #pragma target 3.0 44 | #ifdef UNITY_PASS_SHADOWCASTER 45 | #undef INTERNAL_DATA 46 | #undef WorldReflectionVector 47 | #undef WorldNormalVector 48 | #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; 49 | #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) 50 | #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) 51 | #endif 52 | struct Input 53 | { 54 | float2 uv_texcoord; 55 | float3 worldPos; 56 | INTERNAL_DATA 57 | float3 worldNormal; 58 | }; 59 | 60 | uniform sampler2D _NormalTexture; 61 | uniform float _TilingX; 62 | uniform float _TilingY; 63 | uniform float _OffsetX; 64 | uniform float _OffsetY; 65 | uniform float _NormalStrength; 66 | uniform float _ColorOverlayAmount; 67 | uniform float4 _ColorOverlay; 68 | uniform float _FresnelBias; 69 | uniform float _FresnelScale; 70 | uniform float _FresnelPower; 71 | uniform float4 _FresnelColor; 72 | uniform float _FresnelAmount; 73 | uniform float4 _AlbedoColor; 74 | uniform sampler2D _AlbedoTexture; 75 | uniform float _FresnelEmission; 76 | uniform sampler2D _EmissionTexture; 77 | uniform float4 _EmissionColor; 78 | uniform float _Metallic; 79 | uniform sampler2D _MetallicTexture; 80 | uniform half _Smoothness; 81 | uniform sampler2D _SmoothnessTexture; 82 | uniform float _Cutoff = 0.15; 83 | 84 | void surf( Input i , inout SurfaceOutputStandard o ) 85 | { 86 | float2 appendResult8 = (float2(_TilingX , _TilingY)); 87 | float2 appendResult9 = (float2(( _OffsetX - 1.0 ) , ( _OffsetY - 1.0 ))); 88 | float2 uv_TexCoord10 = i.uv_texcoord * appendResult8 + appendResult9; 89 | float2 TilingOffset12 = uv_TexCoord10; 90 | float3 tex2DNode16 = UnpackScaleNormal( tex2D( _NormalTexture, TilingOffset12 ), _NormalStrength ); 91 | o.Normal = tex2DNode16; 92 | float4 temp_output_45_0 = ( _ColorOverlayAmount * _ColorOverlay ); 93 | float3 ase_worldPos = i.worldPos; 94 | float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); 95 | float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); 96 | float3 ase_worldTangent = WorldNormalVector( i, float3( 1, 0, 0 ) ); 97 | float3 ase_worldBitangent = WorldNormalVector( i, float3( 0, 1, 0 ) ); 98 | float3x3 ase_tangentToWorldFast = float3x3(ase_worldTangent.x,ase_worldBitangent.x,ase_worldNormal.x,ase_worldTangent.y,ase_worldBitangent.y,ase_worldNormal.y,ase_worldTangent.z,ase_worldBitangent.z,ase_worldNormal.z); 99 | float fresnelNdotV20 = dot( mul(ase_tangentToWorldFast,tex2DNode16), ase_worldViewDir ); 100 | float fresnelNode20 = ( _FresnelBias + _FresnelScale * pow( 1.0 - fresnelNdotV20, _FresnelPower ) ); 101 | float clampResult22 = clamp( fresnelNode20 , 0.0 , 1.0 ); 102 | float4 temp_output_28_0 = ( ( clampResult22 * _FresnelColor ) * _FresnelAmount ); 103 | float4 tex2DNode37 = tex2D( _AlbedoTexture, TilingOffset12 ); 104 | o.Albedo = ( temp_output_45_0 + ( temp_output_28_0 + ( _AlbedoColor * tex2DNode37 ) ) ).rgb; 105 | o.Emission = ( ( temp_output_45_0 + ( ( _FresnelEmission * temp_output_28_0 ) + float4( 0,0,0,0 ) ) ) + ( ( tex2D( _EmissionTexture, TilingOffset12 ) * _EmissionColor ) * _EmissionColor.a ) ).rgb; 106 | o.Metallic = ( _Metallic * tex2D( _MetallicTexture, TilingOffset12 ) ).r; 107 | o.Smoothness = ( _Smoothness * tex2D( _SmoothnessTexture, TilingOffset12 ) ).r; 108 | o.Alpha = 1; 109 | clip( tex2DNode37.a - _Cutoff ); 110 | } 111 | 112 | ENDCG 113 | CGPROGRAM 114 | #pragma surface surf Standard keepalpha fullforwardshadows 115 | 116 | ENDCG 117 | Pass 118 | { 119 | Name "ShadowCaster" 120 | Tags{ "LightMode" = "ShadowCaster" } 121 | ZWrite On 122 | AlphaToMask Off 123 | CGPROGRAM 124 | #pragma vertex vert 125 | #pragma fragment frag 126 | #pragma target 3.0 127 | #pragma multi_compile_shadowcaster 128 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 129 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 130 | #include "HLSLSupport.cginc" 131 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 132 | #define CAN_SKIP_VPOS 133 | #endif 134 | #include "UnityCG.cginc" 135 | #include "Lighting.cginc" 136 | #include "UnityPBSLighting.cginc" 137 | struct v2f 138 | { 139 | V2F_SHADOW_CASTER; 140 | float2 customPack1 : TEXCOORD1; 141 | float4 tSpace0 : TEXCOORD2; 142 | float4 tSpace1 : TEXCOORD3; 143 | float4 tSpace2 : TEXCOORD4; 144 | UNITY_VERTEX_INPUT_INSTANCE_ID 145 | UNITY_VERTEX_OUTPUT_STEREO 146 | }; 147 | v2f vert( appdata_full v ) 148 | { 149 | v2f o; 150 | UNITY_SETUP_INSTANCE_ID( v ); 151 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 152 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 153 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 154 | Input customInputData; 155 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 156 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 157 | half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 158 | half tangentSign = v.tangent.w * unity_WorldTransformParams.w; 159 | half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 160 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 161 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 162 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 163 | o.customPack1.xy = customInputData.uv_texcoord; 164 | o.customPack1.xy = v.texcoord; 165 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 166 | return o; 167 | } 168 | half4 frag( v2f IN 169 | #if !defined( CAN_SKIP_VPOS ) 170 | , UNITY_VPOS_TYPE vpos : VPOS 171 | #endif 172 | ) : SV_Target 173 | { 174 | UNITY_SETUP_INSTANCE_ID( IN ); 175 | Input surfIN; 176 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 177 | surfIN.uv_texcoord = IN.customPack1.xy; 178 | float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); 179 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 180 | surfIN.worldPos = worldPos; 181 | surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); 182 | surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; 183 | surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; 184 | surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; 185 | SurfaceOutputStandard o; 186 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 187 | surf( surfIN, o ); 188 | #if defined( CAN_SKIP_VPOS ) 189 | float2 vpos = IN.pos; 190 | #endif 191 | SHADOW_CASTER_FRAGMENT( IN ) 192 | } 193 | ENDCG 194 | } 195 | } 196 | Fallback "Diffuse" 197 | CustomEditor "ASEMaterialInspector" 198 | } 199 | /*ASEBEGIN 200 | Version=18800 201 | 0;0;1920;1011;1849.525;814.7916;1.464149;True;True 202 | Node;AmplifyShaderEditor.CommentaryNode;1;-2785.269,236.9098;Inherit;False;969.5999;401.2864;;10;12;10;9;8;7;6;5;4;3;2;Tiling/Offset;1,1,1,1;0;0 203 | Node;AmplifyShaderEditor.RangedFloatNode;2;-2733.567,529.2766;Inherit;False;Property;_OffsetY;Offset Y;14;0;Create;True;0;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 204 | Node;AmplifyShaderEditor.RangedFloatNode;3;-2733.567,453.6234;Inherit;False;Property;_OffsetX;Offset X;13;1;[Header];Create;True;1;Offset;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 205 | Node;AmplifyShaderEditor.RangedFloatNode;4;-2735.269,286.9099;Inherit;False;Property;_TilingX;Tiling X;11;1;[Header];Create;True;1;Tiling;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 206 | Node;AmplifyShaderEditor.RangedFloatNode;5;-2734.567,360.2661;Inherit;False;Property;_TilingY;Tiling Y;12;0;Create;True;0;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 207 | Node;AmplifyShaderEditor.SimpleSubtractOpNode;6;-2558.577,530.942;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 208 | Node;AmplifyShaderEditor.SimpleSubtractOpNode;7;-2558.598,438.0038;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 209 | Node;AmplifyShaderEditor.DynamicAppendNode;8;-2566.577,319.9832;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 210 | Node;AmplifyShaderEditor.DynamicAppendNode;9;-2400.579,470.9832;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 211 | Node;AmplifyShaderEditor.TextureCoordinatesNode;10;-2254.16,363.2242;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 212 | Node;AmplifyShaderEditor.CommentaryNode;11;-2208.329,-608.928;Inherit;False;762.0719;293.3044;;4;55;16;15;13;Normal;1,1,1,1;0;0 213 | Node;AmplifyShaderEditor.RegisterLocalVarNode;12;-2031.863,357.9704;Inherit;False;TilingOffset;-1;True;1;0;FLOAT2;0,0;False;1;FLOAT2;0 214 | Node;AmplifyShaderEditor.RangedFloatNode;13;-2158.329,-477.7242;Float;False;Property;_NormalStrength;Normal Strength;6;0;Create;True;0;0;0;False;0;False;0;0;-5;5;0;1;FLOAT;0 215 | Node;AmplifyShaderEditor.CommentaryNode;14;-1734.623,230.8074;Inherit;False;1520.278;418.2269;;13;48;44;34;29;28;24;23;22;21;20;19;18;17;Fresnel;1,1,1,1;0;0 216 | Node;AmplifyShaderEditor.GetLocalVarNode;15;-1997.577,-558.928;Inherit;False;12;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 217 | Node;AmplifyShaderEditor.SamplerNode;16;-1766.257,-545.6238;Inherit;True;Property;_NormalTexture;Normal Texture;5;2;[Header];[SingleLineTexture];Create;True;1;Normal;0;0;False;0;False;-1;None;None;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 218 | Node;AmplifyShaderEditor.RangedFloatNode;18;-1660.823,374.5351;Inherit;False;Property;_FresnelScale;FresnelScale;18;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 219 | Node;AmplifyShaderEditor.RangedFloatNode;17;-1660.023,294.8352;Inherit;False;Property;_FresnelBias;FresnelBias;20;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 220 | Node;AmplifyShaderEditor.RangedFloatNode;19;-1662.788,454.6349;Inherit;False;Property;_FresnelPower;FresnelPower;19;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 221 | Node;AmplifyShaderEditor.FresnelNode;20;-1414.623,280.8074;Inherit;False;Standard;TangentNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 222 | Node;AmplifyShaderEditor.ColorNode;21;-1425.981,462.9588;Inherit;False;Property;_FresnelColor;FresnelColor;21;0;Create;True;0;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 223 | Node;AmplifyShaderEditor.ClampOpNode;22;-1204.756,304.0645;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 224 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;23;-1070.858,384.6272;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 225 | Node;AmplifyShaderEditor.RangedFloatNode;24;-1192.431,529.6126;Inherit;False;Property;_FresnelAmount;Fresnel Amount;17;1;[Header];Create;True;1;Fresnel;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 226 | Node;AmplifyShaderEditor.CommentaryNode;25;-1182.588,705.077;Inherit;False;1055.422;491.5441;;5;47;46;33;32;31;Emission;1,1,1,1;0;0 227 | Node;AmplifyShaderEditor.CommentaryNode;26;-1423.383,-890.7755;Inherit;False;1158.863;484.2018;;6;58;51;43;39;37;30;Albedo;1,1,1,1;0;0 228 | Node;AmplifyShaderEditor.GetLocalVarNode;31;-1132.588,809.0961;Inherit;False;12;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 229 | Node;AmplifyShaderEditor.RangedFloatNode;29;-927.7765,340.4091;Inherit;False;Property;_FresnelEmission;Fresnel Emission;22;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 230 | Node;AmplifyShaderEditor.GetLocalVarNode;30;-1381.376,-603.7397;Inherit;False;12;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 231 | Node;AmplifyShaderEditor.CommentaryNode;27;-761.2446,-286.0049;Inherit;False;551.7241;338.3878;;3;45;40;35;Color Overlay;1,1,1,1;0;0 232 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;-928.4671,439.9489;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 233 | Node;AmplifyShaderEditor.ColorNode;32;-895.5123,984.621;Inherit;False;Property;_EmissionColor;Emission Color;16;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,1;0,0,0,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 234 | Node;AmplifyShaderEditor.ColorNode;40;-668.2727,-159.6172;Inherit;False;Property;_ColorOverlay;Color Overlay;1;0;Create;True;0;0;0;False;0;False;1,0,0,0;1,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 235 | Node;AmplifyShaderEditor.CommentaryNode;38;-2205.339,-266.9965;Inherit;False;679.6741;368.0007;;4;56;50;49;41;Metallic;1,1,1,1;0;0 236 | Node;AmplifyShaderEditor.ColorNode;39;-1141.087,-818.4922;Inherit;False;Property;_AlbedoColor;Albedo Color;4;0;Create;True;0;0;0;False;0;False;1,1,1,0;1,1,1,0.2901961;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 237 | Node;AmplifyShaderEditor.RangedFloatNode;35;-711.2447,-236.005;Float;False;Property;_ColorOverlayAmount;Color Overlay Amount;2;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 238 | Node;AmplifyShaderEditor.SamplerNode;33;-940.8801,774.394;Inherit;True;Property;_EmissionTexture;Emission Texture;15;2;[Header];[SingleLineTexture];Create;True;1;Emission;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 239 | Node;AmplifyShaderEditor.SamplerNode;37;-1196.584,-636.5735;Inherit;True;Property;_AlbedoTexture;Albedo Texture;3;2;[Header];[SingleLineTexture];Create;True;1;Albedo;0;0;False;0;False;-1;None;8e1289b12af44ea409a01c7b878dfc5c;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 240 | Node;AmplifyShaderEditor.CommentaryNode;36;-1485.291,-277.3578;Inherit;False;687.3959;385.6776;;4;54;53;52;42;Smoothness;1,1,1,1;0;0 241 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;34;-666.692,389.9707;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 242 | Node;AmplifyShaderEditor.GetLocalVarNode;41;-2155.339,-208.6903;Inherit;False;12;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 243 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;45;-371.5206,-157.4628;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 244 | Node;AmplifyShaderEditor.GetLocalVarNode;42;-1435.291,-226.1338;Inherit;False;12;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 245 | Node;AmplifyShaderEditor.SimpleAddOpNode;44;-515.5392,398.7614;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 246 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;43;-786.5859,-681.5735;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 247 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;46;-539.6733,755.077;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 248 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;47;-289.1664,965.053;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 249 | Node;AmplifyShaderEditor.SimpleAddOpNode;48;-338.8976,364.284;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 250 | Node;AmplifyShaderEditor.RangedFloatNode;49;-1956.917,-216.9965;Float;False;Property;_Metallic;Metallic;8;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 251 | Node;AmplifyShaderEditor.SamplerNode;53;-1254.851,-121.6802;Inherit;True;Property;_SmoothnessTexture;Smoothness Texture;9;2;[Header];[SingleLineTexture];Create;True;1;Smoothness;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 252 | Node;AmplifyShaderEditor.RangedFloatNode;52;-1247.683,-227.3578;Half;False;Property;_Smoothness;Smoothness;10;0;Create;True;0;0;0;False;0;False;0;1;0;1;0;1;FLOAT;0 253 | Node;AmplifyShaderEditor.SamplerNode;50;-1976.187,-128.9958;Inherit;True;Property;_MetallicTexture;Metallic Texture;7;2;[Header];[SingleLineTexture];Create;True;1;Metallic;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 254 | Node;AmplifyShaderEditor.SimpleAddOpNode;51;-624.4827,-676.201;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 255 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;54;-959.8953,-194.143;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 256 | Node;AmplifyShaderEditor.SimpleAddOpNode;58;-413.8569,-783.5812;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 257 | Node;AmplifyShaderEditor.SimpleAddOpNode;57;-142.2287,363.9153;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 258 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;56;-1687.666,-149.2335;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 259 | Node;AmplifyShaderEditor.SimpleAddOpNode;55;-1891.466,-409.673;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 260 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;59;-44.22876,-548.3159;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 261 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Orton/Hurtable Alpha Clip;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.15;True;True;0;True;Opaque;;AlphaTest;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;0;-1;-1;-1;0;True;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 262 | WireConnection;6;0;2;0 263 | WireConnection;7;0;3;0 264 | WireConnection;8;0;4;0 265 | WireConnection;8;1;5;0 266 | WireConnection;9;0;7;0 267 | WireConnection;9;1;6;0 268 | WireConnection;10;0;8;0 269 | WireConnection;10;1;9;0 270 | WireConnection;12;0;10;0 271 | WireConnection;16;1;15;0 272 | WireConnection;16;5;13;0 273 | WireConnection;20;0;16;0 274 | WireConnection;20;1;17;0 275 | WireConnection;20;2;18;0 276 | WireConnection;20;3;19;0 277 | WireConnection;22;0;20;0 278 | WireConnection;23;0;22;0 279 | WireConnection;23;1;21;0 280 | WireConnection;28;0;23;0 281 | WireConnection;28;1;24;0 282 | WireConnection;33;1;31;0 283 | WireConnection;37;1;30;0 284 | WireConnection;34;0;29;0 285 | WireConnection;34;1;28;0 286 | WireConnection;45;0;35;0 287 | WireConnection;45;1;40;0 288 | WireConnection;44;0;34;0 289 | WireConnection;43;0;39;0 290 | WireConnection;43;1;37;0 291 | WireConnection;46;0;33;0 292 | WireConnection;46;1;32;0 293 | WireConnection;47;0;46;0 294 | WireConnection;47;1;32;4 295 | WireConnection;48;0;45;0 296 | WireConnection;48;1;44;0 297 | WireConnection;53;1;42;0 298 | WireConnection;50;1;41;0 299 | WireConnection;51;0;28;0 300 | WireConnection;51;1;43;0 301 | WireConnection;54;0;52;0 302 | WireConnection;54;1;53;0 303 | WireConnection;58;0;45;0 304 | WireConnection;58;1;51;0 305 | WireConnection;57;0;48;0 306 | WireConnection;57;1;47;0 307 | WireConnection;56;0;49;0 308 | WireConnection;56;1;50;0 309 | WireConnection;55;0;13;0 310 | WireConnection;59;0;39;4 311 | WireConnection;59;1;37;4 312 | WireConnection;0;0;58;0 313 | WireConnection;0;1;16;0 314 | WireConnection;0;2;57;0 315 | WireConnection;0;3;56;0 316 | WireConnection;0;4;54;0 317 | WireConnection;0;10;37;4 318 | ASEEND*/ 319 | //CHKSM=11C8EE7B41C2B776435050CFB835BAED85E016D1 -------------------------------------------------------------------------------- /Shaders/Hurtable_Hurtable Alpha Clip.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c18a3bbede0e2ef4693c265c7a078d52 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Hurtable_Hurtable.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Hurtable/Hurtable" 4 | { 5 | Properties 6 | { 7 | _ColorOverlay("Color Overlay", Color) = (1,0,0,0) 8 | _ColorOverlayAmount("Color Overlay Amount", Range( 0 , 1)) = 0 9 | [Header(Albedo)][SingleLineTexture]_AlbedoTexture("Albedo Texture", 2D) = "white" {} 10 | _AlbedoColor("Albedo Color", Color) = (1,1,1,0) 11 | [Header(Normal)][SingleLineTexture]_NormalTexture("Normal Texture", 2D) = "bump" {} 12 | _NormalStrength("Normal Strength", Range( -5 , 5)) = 0 13 | [Header(Metallic)][SingleLineTexture]_MetallicTexture("Metallic Texture", 2D) = "white" {} 14 | _Metallic("Metallic", Range( 0 , 1)) = 0 15 | [Header(Smoothness)][SingleLineTexture]_SmoothnessTexture("Smoothness Texture", 2D) = "white" {} 16 | _Smoothness("Smoothness", Range( 0 , 1)) = 0 17 | [Header(Tiling)]_TilingX("Tiling X", Float) = 1 18 | _TilingY("Tiling Y", Float) = 1 19 | [Header(Offset)]_OffsetX("Offset X", Float) = 1 20 | _OffsetY("Offset Y", Float) = 1 21 | [Header(Emission)][SingleLineTexture]_EmissionTexture("Emission Texture", 2D) = "white" {} 22 | [HDR]_EmissionColor("Emission Color", Color) = (0,0,0,1) 23 | [Header(Fresnel)]_FresnelAmount("Fresnel Amount", Range( 0 , 1)) = 0 24 | _FresnelScale("FresnelScale", Float) = 0 25 | _FresnelPower("FresnelPower", Float) = 0 26 | _FresnelBias("FresnelBias", Float) = 0 27 | _FresnelColor("FresnelColor", Color) = (0,0,0,0) 28 | _FresnelEmission("Fresnel Emission", Range( 0 , 1)) = 0 29 | [HideInInspector] _texcoord( "", 2D ) = "white" {} 30 | [HideInInspector] __dirty( "", Int ) = 1 31 | } 32 | 33 | SubShader 34 | { 35 | Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" } 36 | Cull Back 37 | CGINCLUDE 38 | #include "UnityStandardUtils.cginc" 39 | #include "UnityPBSLighting.cginc" 40 | #include "Lighting.cginc" 41 | #pragma target 3.0 42 | #ifdef UNITY_PASS_SHADOWCASTER 43 | #undef INTERNAL_DATA 44 | #undef WorldReflectionVector 45 | #undef WorldNormalVector 46 | #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; 47 | #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) 48 | #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) 49 | #endif 50 | struct Input 51 | { 52 | float2 uv_texcoord; 53 | float3 worldPos; 54 | INTERNAL_DATA 55 | float3 worldNormal; 56 | }; 57 | 58 | uniform sampler2D _NormalTexture; 59 | uniform float _TilingX; 60 | uniform float _TilingY; 61 | uniform float _OffsetX; 62 | uniform float _OffsetY; 63 | uniform float _NormalStrength; 64 | uniform float _ColorOverlayAmount; 65 | uniform float4 _ColorOverlay; 66 | uniform float _FresnelBias; 67 | uniform float _FresnelScale; 68 | uniform float _FresnelPower; 69 | uniform float4 _FresnelColor; 70 | uniform float _FresnelAmount; 71 | uniform float4 _AlbedoColor; 72 | uniform sampler2D _AlbedoTexture; 73 | uniform float _FresnelEmission; 74 | uniform sampler2D _EmissionTexture; 75 | uniform float4 _EmissionColor; 76 | uniform float _Metallic; 77 | uniform sampler2D _MetallicTexture; 78 | uniform half _Smoothness; 79 | uniform sampler2D _SmoothnessTexture; 80 | 81 | void surf( Input i , inout SurfaceOutputStandard o ) 82 | { 83 | float2 appendResult45 = (float2(_TilingX , _TilingY)); 84 | float2 appendResult46 = (float2(( _OffsetX - 1.0 ) , ( _OffsetY - 1.0 ))); 85 | float2 uv_TexCoord43 = i.uv_texcoord * appendResult45 + appendResult46; 86 | float2 TilingOffset51 = uv_TexCoord43; 87 | float3 tex2DNode15 = UnpackScaleNormal( tex2D( _NormalTexture, TilingOffset51 ), _NormalStrength ); 88 | o.Normal = tex2DNode15; 89 | float4 temp_output_20_0 = ( _ColorOverlayAmount * _ColorOverlay ); 90 | float3 ase_worldPos = i.worldPos; 91 | float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); 92 | float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) ); 93 | float3 ase_worldTangent = WorldNormalVector( i, float3( 1, 0, 0 ) ); 94 | float3 ase_worldBitangent = WorldNormalVector( i, float3( 0, 1, 0 ) ); 95 | float3x3 ase_tangentToWorldFast = float3x3(ase_worldTangent.x,ase_worldBitangent.x,ase_worldNormal.x,ase_worldTangent.y,ase_worldBitangent.y,ase_worldNormal.y,ase_worldTangent.z,ase_worldBitangent.z,ase_worldNormal.z); 96 | float fresnelNdotV1 = dot( mul(ase_tangentToWorldFast,tex2DNode15), ase_worldViewDir ); 97 | float fresnelNode1 = ( _FresnelBias + _FresnelScale * pow( 1.0 - fresnelNdotV1, _FresnelPower ) ); 98 | float clampResult36 = clamp( fresnelNode1 , 0.0 , 1.0 ); 99 | float4 temp_output_29_0 = ( ( clampResult36 * _FresnelColor ) * _FresnelAmount ); 100 | o.Albedo = ( temp_output_20_0 + ( temp_output_29_0 + ( _AlbedoColor * tex2D( _AlbedoTexture, TilingOffset51 ) ) ) ).rgb; 101 | o.Emission = ( ( temp_output_20_0 + ( ( _FresnelEmission * temp_output_29_0 ) + float4( 0,0,0,0 ) ) ) + ( ( tex2D( _EmissionTexture, TilingOffset51 ) * _EmissionColor ) * _EmissionColor.a ) ).rgb; 102 | o.Metallic = ( _Metallic * tex2D( _MetallicTexture, TilingOffset51 ) ).r; 103 | o.Smoothness = ( _Smoothness * tex2D( _SmoothnessTexture, TilingOffset51 ) ).r; 104 | o.Alpha = 1; 105 | } 106 | 107 | ENDCG 108 | CGPROGRAM 109 | #pragma surface surf Standard keepalpha fullforwardshadows 110 | 111 | ENDCG 112 | Pass 113 | { 114 | Name "ShadowCaster" 115 | Tags{ "LightMode" = "ShadowCaster" } 116 | ZWrite On 117 | CGPROGRAM 118 | #pragma vertex vert 119 | #pragma fragment frag 120 | #pragma target 3.0 121 | #pragma multi_compile_shadowcaster 122 | #pragma multi_compile UNITY_PASS_SHADOWCASTER 123 | #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 124 | #include "HLSLSupport.cginc" 125 | #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) 126 | #define CAN_SKIP_VPOS 127 | #endif 128 | #include "UnityCG.cginc" 129 | #include "Lighting.cginc" 130 | #include "UnityPBSLighting.cginc" 131 | struct v2f 132 | { 133 | V2F_SHADOW_CASTER; 134 | float2 customPack1 : TEXCOORD1; 135 | float4 tSpace0 : TEXCOORD2; 136 | float4 tSpace1 : TEXCOORD3; 137 | float4 tSpace2 : TEXCOORD4; 138 | UNITY_VERTEX_INPUT_INSTANCE_ID 139 | UNITY_VERTEX_OUTPUT_STEREO 140 | }; 141 | v2f vert( appdata_full v ) 142 | { 143 | v2f o; 144 | UNITY_SETUP_INSTANCE_ID( v ); 145 | UNITY_INITIALIZE_OUTPUT( v2f, o ); 146 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); 147 | UNITY_TRANSFER_INSTANCE_ID( v, o ); 148 | Input customInputData; 149 | float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; 150 | half3 worldNormal = UnityObjectToWorldNormal( v.normal ); 151 | half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); 152 | half tangentSign = v.tangent.w * unity_WorldTransformParams.w; 153 | half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; 154 | o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); 155 | o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); 156 | o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); 157 | o.customPack1.xy = customInputData.uv_texcoord; 158 | o.customPack1.xy = v.texcoord; 159 | TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) 160 | return o; 161 | } 162 | half4 frag( v2f IN 163 | #if !defined( CAN_SKIP_VPOS ) 164 | , UNITY_VPOS_TYPE vpos : VPOS 165 | #endif 166 | ) : SV_Target 167 | { 168 | UNITY_SETUP_INSTANCE_ID( IN ); 169 | Input surfIN; 170 | UNITY_INITIALIZE_OUTPUT( Input, surfIN ); 171 | surfIN.uv_texcoord = IN.customPack1.xy; 172 | float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); 173 | half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); 174 | surfIN.worldPos = worldPos; 175 | surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); 176 | surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; 177 | surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; 178 | surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; 179 | SurfaceOutputStandard o; 180 | UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o ) 181 | surf( surfIN, o ); 182 | #if defined( CAN_SKIP_VPOS ) 183 | float2 vpos = IN.pos; 184 | #endif 185 | SHADOW_CASTER_FRAGMENT( IN ) 186 | } 187 | ENDCG 188 | } 189 | } 190 | Fallback "Diffuse" 191 | CustomEditor "ASEMaterialInspector" 192 | } 193 | /*ASEBEGIN 194 | Version=18800 195 | 0;0;1920;1011;2626.526;656.4497;1;True;True 196 | Node;AmplifyShaderEditor.CommentaryNode;50;-2750.525,607.2338;Inherit;False;969.5999;401.2864;;10;51;43;45;42;39;40;41;48;46;49;Tiling/Offset;1,1,1,1;0;0 197 | Node;AmplifyShaderEditor.RangedFloatNode;42;-2698.823,899.6005;Inherit;False;Property;_OffsetY;Offset Y;13;0;Create;True;0;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 198 | Node;AmplifyShaderEditor.RangedFloatNode;41;-2698.823,823.9473;Inherit;False;Property;_OffsetX;Offset X;12;1;[Header];Create;True;1;Offset;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 199 | Node;AmplifyShaderEditor.RangedFloatNode;39;-2700.525,657.2338;Inherit;False;Property;_TilingX;Tiling X;10;1;[Header];Create;True;1;Tiling;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 200 | Node;AmplifyShaderEditor.RangedFloatNode;40;-2699.823,730.5901;Inherit;False;Property;_TilingY;Tiling Y;11;0;Create;True;0;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 201 | Node;AmplifyShaderEditor.SimpleSubtractOpNode;49;-2523.833,901.2659;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 202 | Node;AmplifyShaderEditor.SimpleSubtractOpNode;48;-2523.854,808.3278;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 203 | Node;AmplifyShaderEditor.DynamicAppendNode;45;-2531.833,690.3071;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 204 | Node;AmplifyShaderEditor.DynamicAppendNode;46;-2365.835,841.3071;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 205 | Node;AmplifyShaderEditor.TextureCoordinatesNode;43;-2219.416,733.5482;Inherit;False;0;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 206 | Node;AmplifyShaderEditor.CommentaryNode;64;-2173.585,-238.6041;Inherit;False;762.0719;293.3044;;4;5;61;55;15;Normal;1,1,1,1;0;0 207 | Node;AmplifyShaderEditor.RegisterLocalVarNode;51;-1997.119,728.2944;Inherit;False;TilingOffset;-1;True;1;0;FLOAT2;0,0;False;1;FLOAT2;0 208 | Node;AmplifyShaderEditor.RangedFloatNode;5;-2123.585,-107.4002;Float;False;Property;_NormalStrength;Normal Strength;5;0;Create;True;0;0;0;False;0;False;0;-0.5;-5;5;0;1;FLOAT;0 209 | Node;AmplifyShaderEditor.CommentaryNode;38;-1699.879,601.1314;Inherit;False;1520.278;418.2269;;12;23;25;24;35;28;29;26;27;3;36;2;1;Fresnel;1,1,1,1;0;0 210 | Node;AmplifyShaderEditor.GetLocalVarNode;55;-1962.833,-188.6041;Inherit;False;51;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 211 | Node;AmplifyShaderEditor.SamplerNode;15;-1731.513,-175.2998;Inherit;True;Property;_NormalTexture;Normal Texture;4;2;[Header];[SingleLineTexture];Create;True;1;Normal;0;0;False;0;False;-1;None;24d0b17c5bc396c4ba4451deaad2ec9c;True;0;True;bump;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 212 | Node;AmplifyShaderEditor.RangedFloatNode;23;-1625.279,665.1592;Inherit;False;Property;_FresnelBias;FresnelBias;19;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0 213 | Node;AmplifyShaderEditor.RangedFloatNode;24;-1626.079,744.8591;Inherit;False;Property;_FresnelScale;FresnelScale;17;0;Create;True;0;0;0;False;0;False;0;21.14;0;0;0;1;FLOAT;0 214 | Node;AmplifyShaderEditor.RangedFloatNode;25;-1628.044,824.9589;Inherit;False;Property;_FresnelPower;FresnelPower;18;0;Create;True;0;0;0;False;0;False;0;9.83;0;0;0;1;FLOAT;0 215 | Node;AmplifyShaderEditor.FresnelNode;1;-1379.879,651.1314;Inherit;False;Standard;TangentNormal;ViewDir;False;False;5;0;FLOAT3;0,0,1;False;4;FLOAT3;0,0,0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;5;False;1;FLOAT;0 216 | Node;AmplifyShaderEditor.ColorNode;2;-1391.237,833.2828;Inherit;False;Property;_FresnelColor;FresnelColor;20;0;Create;True;0;0;0;False;0;False;0,0,0,0;0.05724907,0,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 217 | Node;AmplifyShaderEditor.ClampOpNode;36;-1170.012,674.3884;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 218 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;3;-1036.114,754.9512;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 219 | Node;AmplifyShaderEditor.RangedFloatNode;27;-1157.687,899.9366;Inherit;False;Property;_FresnelAmount;Fresnel Amount;16;1;[Header];Create;True;1;Fresnel;0;0;False;0;False;0;0.576;0;1;0;1;FLOAT;0 220 | Node;AmplifyShaderEditor.CommentaryNode;70;-1147.844,1075.401;Inherit;False;1055.422;491.5441;;5;56;33;31;34;68;Emission;1,1,1,1;0;0 221 | Node;AmplifyShaderEditor.CommentaryNode;57;-1388.639,-520.4515;Inherit;False;1158.863;484.2018;;6;22;30;7;8;17;54;Albedo;1,1,1,1;0;0 222 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;29;-893.7227,810.2728;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 223 | Node;AmplifyShaderEditor.GetLocalVarNode;54;-1346.632,-233.4157;Inherit;False;51;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 224 | Node;AmplifyShaderEditor.CommentaryNode;67;-726.5002,84.31904;Inherit;False;551.7241;338.3878;;3;16;20;6;Color Overlay;1,1,1,1;0;0 225 | Node;AmplifyShaderEditor.GetLocalVarNode;56;-1097.844,1179.42;Inherit;False;51;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 226 | Node;AmplifyShaderEditor.RangedFloatNode;26;-893.0321,710.7331;Inherit;False;Property;_FresnelEmission;Fresnel Emission;21;0;Create;True;0;0;0;False;0;False;0;0.396;0;1;0;1;FLOAT;0 227 | Node;AmplifyShaderEditor.ColorNode;31;-860.7679,1354.945;Inherit;False;Property;_EmissionColor;Emission Color;15;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,1;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 228 | Node;AmplifyShaderEditor.SamplerNode;33;-906.1357,1144.718;Inherit;True;Property;_EmissionTexture;Emission Texture;14;2;[Header];[SingleLineTexture];Create;True;1;Emission;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 229 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;28;-631.9476,760.2947;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 230 | Node;AmplifyShaderEditor.RangedFloatNode;6;-676.5003,134.319;Float;False;Property;_ColorOverlayAmount;Color Overlay Amount;1;0;Create;True;0;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0 231 | Node;AmplifyShaderEditor.CommentaryNode;62;-1450.547,92.9662;Inherit;False;687.3959;385.6776;;4;53;9;19;10;Smoothness;1,1,1,1;0;0 232 | Node;AmplifyShaderEditor.SamplerNode;8;-1161.84,-266.2496;Inherit;True;Property;_AlbedoTexture;Albedo Texture;2;2;[Header];[SingleLineTexture];Create;True;1;Albedo;0;0;False;0;False;-1;None;eabea3aa18fab8a47bfdf8b590346c0f;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 233 | Node;AmplifyShaderEditor.CommentaryNode;63;-2170.595,103.3275;Inherit;False;679.6741;368.0007;;4;52;18;4;11;Metallic;1,1,1,1;0;0 234 | Node;AmplifyShaderEditor.ColorNode;17;-1106.343,-448.1682;Inherit;False;Property;_AlbedoColor;Albedo Color;3;0;Create;True;0;0;0;False;0;False;1,1,1,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 235 | Node;AmplifyShaderEditor.ColorNode;16;-633.5283,210.7068;Inherit;False;Property;_ColorOverlay;Color Overlay;0;0;Create;True;0;0;0;False;0;False;1,0,0,0;1,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 236 | Node;AmplifyShaderEditor.GetLocalVarNode;53;-1400.547,144.1902;Inherit;False;51;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 237 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;7;-751.8415,-311.2495;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 238 | Node;AmplifyShaderEditor.GetLocalVarNode;52;-2120.595,161.6337;Inherit;False;51;TilingOffset;1;0;OBJECT;;False;1;FLOAT2;0 239 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;34;-504.929,1125.401;Inherit;True;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 240 | Node;AmplifyShaderEditor.SimpleAddOpNode;35;-480.7948,769.0853;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 241 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;20;-336.7762,212.8612;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 242 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;68;-254.422,1335.377;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;1;COLOR;0 243 | Node;AmplifyShaderEditor.SimpleAddOpNode;65;-304.1532,734.608;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 244 | Node;AmplifyShaderEditor.RangedFloatNode;4;-1922.173,153.3275;Float;False;Property;_Metallic;Metallic;7;0;Create;True;0;0;0;False;0;False;0;1;0;1;0;1;FLOAT;0 245 | Node;AmplifyShaderEditor.SamplerNode;18;-1941.443,241.3282;Inherit;True;Property;_MetallicTexture;Metallic Texture;6;2;[Header];[SingleLineTexture];Create;True;1;Metallic;0;0;False;0;False;-1;None;9bd1179d3835d3846b7d65e4ec02163d;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 246 | Node;AmplifyShaderEditor.SimpleAddOpNode;30;-589.7383,-305.877;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 247 | Node;AmplifyShaderEditor.RangedFloatNode;9;-1212.939,142.9662;Half;False;Property;_Smoothness;Smoothness;9;0;Create;True;0;0;0;False;0;False;0;0.505;0;1;0;1;FLOAT;0 248 | Node;AmplifyShaderEditor.SamplerNode;19;-1220.107,248.6438;Inherit;True;Property;_SmoothnessTexture;Smoothness Texture;8;2;[Header];[SingleLineTexture];Create;True;1;Smoothness;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 249 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;10;-925.1509,176.181;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 250 | Node;AmplifyShaderEditor.SimpleAddOpNode;22;-379.1125,-413.2572;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 251 | Node;AmplifyShaderEditor.SimpleAddOpNode;61;-1856.722,-39.34904;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 252 | Node;AmplifyShaderEditor.SimpleAddOpNode;69;-107.4844,734.2393;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 253 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;11;-1652.922,221.0905;Inherit;False;2;2;0;FLOAT;0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 254 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Orton/Hurtable;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;Diffuse;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 255 | WireConnection;49;0;42;0 256 | WireConnection;48;0;41;0 257 | WireConnection;45;0;39;0 258 | WireConnection;45;1;40;0 259 | WireConnection;46;0;48;0 260 | WireConnection;46;1;49;0 261 | WireConnection;43;0;45;0 262 | WireConnection;43;1;46;0 263 | WireConnection;51;0;43;0 264 | WireConnection;15;1;55;0 265 | WireConnection;15;5;5;0 266 | WireConnection;1;0;15;0 267 | WireConnection;1;1;23;0 268 | WireConnection;1;2;24;0 269 | WireConnection;1;3;25;0 270 | WireConnection;36;0;1;0 271 | WireConnection;3;0;36;0 272 | WireConnection;3;1;2;0 273 | WireConnection;29;0;3;0 274 | WireConnection;29;1;27;0 275 | WireConnection;33;1;56;0 276 | WireConnection;28;0;26;0 277 | WireConnection;28;1;29;0 278 | WireConnection;8;1;54;0 279 | WireConnection;7;0;17;0 280 | WireConnection;7;1;8;0 281 | WireConnection;34;0;33;0 282 | WireConnection;34;1;31;0 283 | WireConnection;35;0;28;0 284 | WireConnection;20;0;6;0 285 | WireConnection;20;1;16;0 286 | WireConnection;68;0;34;0 287 | WireConnection;68;1;31;4 288 | WireConnection;65;0;20;0 289 | WireConnection;65;1;35;0 290 | WireConnection;18;1;52;0 291 | WireConnection;30;0;29;0 292 | WireConnection;30;1;7;0 293 | WireConnection;19;1;53;0 294 | WireConnection;10;0;9;0 295 | WireConnection;10;1;19;0 296 | WireConnection;22;0;20;0 297 | WireConnection;22;1;30;0 298 | WireConnection;61;0;5;0 299 | WireConnection;69;0;65;0 300 | WireConnection;69;1;68;0 301 | WireConnection;11;0;4;0 302 | WireConnection;11;1;18;0 303 | WireConnection;0;0;22;0 304 | WireConnection;0;1;15;0 305 | WireConnection;0;2;69;0 306 | WireConnection;0;3;11;0 307 | WireConnection;0;4;10;0 308 | ASEEND*/ 309 | //CHKSM=23FEE18413C9F0A5C971E99F46163434CCD6F205 -------------------------------------------------------------------------------- /Shaders/Hurtable_Hurtable.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04851af34eed2a24490ea2a0e70d502b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/Lava.shader: -------------------------------------------------------------------------------- 1 | Shader "Patcher/Lava" { 2 | Properties { 3 | _DiscortScale ("DiscortScale", Float) = 1 4 | _Scale ("Scale", Float) = 1 5 | [SingleLineTexture] _Distort ("Distort", 2D) = "white" {} 6 | [SingleLineTexture] _Tex ("Tex", 2D) = "white" {} 7 | _DistortScroll ("DistortScroll", Vector) = (0,0,0,0) 8 | _Scroll ("Scroll", Vector) = (0,0,0,0) 9 | _DistortStr ("DistortStr", Float) = 0 10 | [HDR] _Color1 ("Color 1", Vector) = (0,0,0,0) 11 | [HDR] _Color2 ("Color 2", Vector) = (1,1,1,0) 12 | [HDR] _EdgeColor ("EdgeColor", Vector) = (0,0,0,0) 13 | _EdgeWidth ("EdgeWidth", Float) = 0.2 14 | [HideInInspector] __dirty ("", Float) = 1 15 | } 16 | SubShader{ 17 | Tags { "RenderType" = "Opaque" } 18 | LOD 200 19 | CGPROGRAM 20 | #pragma surface surf Standard 21 | #pragma target 3.0 22 | 23 | sampler2D _Tex; 24 | float3 _Color1; 25 | float3 _Color2; 26 | float4 _Scroll; 27 | 28 | struct Input 29 | { 30 | float2 uv_Tex; 31 | }; 32 | 33 | void surf(Input IN, inout SurfaceOutputStandard o) 34 | { 35 | float2 uv = IN.uv_Tex + _Scroll * _Time; 36 | 37 | float4 value = tex2D(_Tex, uv); 38 | float3 color = lerp(_Color1, _Color2, value); 39 | 40 | o.Albedo = color; 41 | o.Alpha = value.a; 42 | } 43 | ENDCG 44 | } 45 | Fallback "Diffuse" 46 | } -------------------------------------------------------------------------------- /Shaders/Lava.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1f59851608942a747bab49503d67adec 3 | timeCreated: 1741420062 -------------------------------------------------------------------------------- /Shaders/Shader Graphs_World Space Floor.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/Shader Graph/World Space Floor" 4 | { 5 | Properties 6 | { 7 | _Normal("Normal", 2D) = "white" {} 8 | _Tiling("Tiling", Vector) = (0,0,0,0) 9 | _NormalStrength("NormalStrength", Float) = 1 10 | _RotationDegrees("RotationDegrees", Range( 0 , 360)) = 0 11 | _Smoothness("Smoothness", Float) = 0.5 12 | _Albedo("Albedo", 2D) = "white" {} 13 | [HideInInspector] __dirty( "", Int ) = 1 14 | } 15 | 16 | SubShader 17 | { 18 | Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" } 19 | Cull Back 20 | CGPROGRAM 21 | #include "UnityStandardUtils.cginc" 22 | #pragma target 3.0 23 | #pragma surface surf Standard keepalpha addshadow fullforwardshadows 24 | struct Input 25 | { 26 | float3 worldPos; 27 | }; 28 | 29 | uniform sampler2D _Normal; 30 | uniform float2 _Tiling; 31 | uniform float _RotationDegrees; 32 | uniform float _NormalStrength; 33 | uniform sampler2D _Albedo; 34 | uniform float _Smoothness; 35 | 36 | void surf( Input i , inout SurfaceOutputStandard o ) 37 | { 38 | float3 ase_worldPos = i.worldPos; 39 | float2 appendResult21 = (float2(ase_worldPos.x , ase_worldPos.z)); 40 | float cos12 = cos( radians( _RotationDegrees ) ); 41 | float sin12 = sin( radians( _RotationDegrees ) ); 42 | float2 rotator12 = mul( ( appendResult21 * _Tiling ) - float2( 0.5,0.5 ) , float2x2( cos12 , -sin12 , sin12 , cos12 )) + float2( 0.5,0.5 ); 43 | o.Normal = UnpackScaleNormal( tex2D( _Normal, rotator12 ), _NormalStrength ); 44 | o.Albedo = tex2D( _Albedo, rotator12 ).rgb; 45 | o.Smoothness = _Smoothness; 46 | o.Alpha = 1; 47 | } 48 | 49 | ENDCG 50 | } 51 | Fallback "Diffuse" 52 | CustomEditor "ASEMaterialInspector" 53 | } 54 | /*ASEBEGIN 55 | Version=18800 56 | 7;6;1906;1005;1728.759;524.586;1.360984;True;True 57 | Node;AmplifyShaderEditor.CommentaryNode;27;-1459.505,-288.5754;Inherit;False;817.6512;391.2888;Comment;7;25;21;2;8;12;6;18;World Space Pos + Tiling + Rotation;1,1,1,1;0;0 58 | Node;AmplifyShaderEditor.WorldPosInputsNode;8;-1409.505,-238.5754;Inherit;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 59 | Node;AmplifyShaderEditor.DynamicAppendNode;21;-1209.397,-192.4836;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 60 | Node;AmplifyShaderEditor.Vector2Node;2;-1208.844,-100.95;Inherit;False;Property;_Tiling;Tiling;1;0;Create;True;0;0;0;False;0;False;0,0;0.5,0.5;0;3;FLOAT2;0;FLOAT;1;FLOAT;2 61 | Node;AmplifyShaderEditor.RangedFloatNode;6;-1074.728,-13.53173;Inherit;False;Property;_RotationDegrees;RotationDegrees;3;0;Create;True;0;0;0;False;0;False;0;0;0;360;0;1;FLOAT;0 62 | Node;AmplifyShaderEditor.CommentaryNode;28;-744.9333,189.7604;Inherit;False;589.1127;280;;2;3;4;Normal;1,1,1,1;0;0 63 | Node;AmplifyShaderEditor.SimpleMultiplyOpNode;25;-1038.316,-139.0159;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 64 | Node;AmplifyShaderEditor.RadiansOpNode;18;-801.8542,-8.286445;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 65 | Node;AmplifyShaderEditor.RotatorNode;12;-868.2501,-144.8793;Inherit;False;3;0;FLOAT2;0,0;False;1;FLOAT2;0.5,0.5;False;2;FLOAT;1;False;1;FLOAT2;0 66 | Node;AmplifyShaderEditor.RangedFloatNode;4;-694.9333,343.038;Inherit;False;Property;_NormalStrength;NormalStrength;2;0;Create;True;0;0;0;False;0;False;1;1;0;0;0;1;FLOAT;0 67 | Node;AmplifyShaderEditor.RangedFloatNode;5;-169.8125,92.50854;Inherit;False;Property;_Smoothness;Smoothness;4;0;Create;True;0;0;0;False;0;False;0.5;0.3;0;0;0;1;FLOAT;0 68 | Node;AmplifyShaderEditor.SamplerNode;3;-475.8203,239.7604;Inherit;True;Property;_Normal;Normal;0;0;Create;True;0;0;0;False;0;False;-1;None;d5993bd4127a4d24a83649d86ccf4898;True;0;True;white;Auto;True;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 69 | Node;AmplifyShaderEditor.SamplerNode;24;-516.4335,-175.0455;Inherit;True;Property;_Albedo;Albedo;5;0;Create;True;0;0;0;False;0;False;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;8;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;6;FLOAT;0;False;7;SAMPLERSTATE;;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 70 | Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;Orton/World Space Floor;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 71 | WireConnection;21;0;8;1 72 | WireConnection;21;1;8;3 73 | WireConnection;25;0;21;0 74 | WireConnection;25;1;2;0 75 | WireConnection;18;0;6;0 76 | WireConnection;12;0;25;0 77 | WireConnection;12;2;18;0 78 | WireConnection;3;1;12;0 79 | WireConnection;3;5;4;0 80 | WireConnection;24;1;12;0 81 | WireConnection;0;0;24;0 82 | WireConnection;0;1;3;0 83 | WireConnection;0;4;5;0 84 | ASEEND*/ 85 | //CHKSM=6BAF2C93641B0B87082BE3673A566D3AB49C7D14 -------------------------------------------------------------------------------- /Shaders/Shader Graphs_World Space Floor.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6bcf99420a3dab4e95e24b50113c3db 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Shaders/UI Overlay.shader: -------------------------------------------------------------------------------- 1 | // Made with Amplify Shader Editor 2 | // Available at the Unity Asset Store - http://u3d.as/y3X 3 | Shader "Patcher/UI Overlay" 4 | { 5 | Properties 6 | { 7 | _TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5) 8 | _MainTex ("Particle Texture", 2D) = "white" {} 9 | _InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0 10 | 11 | } 12 | 13 | 14 | Category 15 | { 16 | SubShader 17 | { 18 | LOD 0 19 | 20 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } 21 | Blend SrcAlpha OneMinusSrcAlpha 22 | ColorMask RGB 23 | Cull Off 24 | Lighting Off 25 | ZWrite Off 26 | ZTest LEqual 27 | 28 | Pass { 29 | 30 | CGPROGRAM 31 | 32 | #ifndef UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX 33 | #define UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input) 34 | #endif 35 | 36 | #pragma vertex vert 37 | #pragma fragment frag 38 | #pragma target 2.0 39 | #pragma multi_compile_instancing 40 | #pragma multi_compile_particles 41 | #pragma multi_compile_fog 42 | 43 | 44 | #include "UnityCG.cginc" 45 | 46 | struct appdata_t 47 | { 48 | float4 vertex : POSITION; 49 | fixed4 color : COLOR; 50 | float4 texcoord : TEXCOORD0; 51 | UNITY_VERTEX_INPUT_INSTANCE_ID 52 | 53 | }; 54 | 55 | struct v2f 56 | { 57 | float4 vertex : SV_POSITION; 58 | fixed4 color : COLOR; 59 | float4 texcoord : TEXCOORD0; 60 | UNITY_FOG_COORDS(1) 61 | #ifdef SOFTPARTICLES_ON 62 | float4 projPos : TEXCOORD2; 63 | #endif 64 | UNITY_VERTEX_INPUT_INSTANCE_ID 65 | UNITY_VERTEX_OUTPUT_STEREO 66 | 67 | }; 68 | 69 | 70 | #if UNITY_VERSION >= 560 71 | UNITY_DECLARE_DEPTH_TEXTURE( _CameraDepthTexture ); 72 | #else 73 | uniform sampler2D_float _CameraDepthTexture; 74 | #endif 75 | 76 | //Don't delete this comment 77 | // uniform sampler2D_float _CameraDepthTexture; 78 | 79 | uniform sampler2D _MainTex; 80 | uniform fixed4 _TintColor; 81 | uniform float4 _MainTex_ST; 82 | uniform float _InvFade; 83 | 84 | 85 | v2f vert ( appdata_t v ) 86 | { 87 | v2f o; 88 | UNITY_SETUP_INSTANCE_ID(v); 89 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 90 | UNITY_TRANSFER_INSTANCE_ID(v, o); 91 | 92 | 93 | v.vertex.xyz += float3( 0, 0, 0 ) ; 94 | o.vertex = UnityObjectToClipPos(v.vertex); 95 | #ifdef SOFTPARTICLES_ON 96 | o.projPos = ComputeScreenPos (o.vertex); 97 | COMPUTE_EYEDEPTH(o.projPos.z); 98 | #endif 99 | o.color = v.color; 100 | o.texcoord = v.texcoord; 101 | UNITY_TRANSFER_FOG(o,o.vertex); 102 | return o; 103 | } 104 | 105 | fixed4 frag ( v2f i ) : SV_Target 106 | { 107 | UNITY_SETUP_INSTANCE_ID( i ); 108 | UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( i ); 109 | 110 | #ifdef SOFTPARTICLES_ON 111 | float sceneZ = LinearEyeDepth (SAMPLE_DEPTH_TEXTURE_PROJ(_CameraDepthTexture, UNITY_PROJ_COORD(i.projPos))); 112 | float partZ = i.projPos.z; 113 | float fade = saturate (_InvFade * (sceneZ-partZ)); 114 | i.color.a *= fade; 115 | #endif 116 | 117 | 118 | 119 | fixed4 col = 2.0f * i.color * _TintColor * tex2D(_MainTex, i.texcoord.xy*_MainTex_ST.xy + _MainTex_ST.zw ); 120 | UNITY_APPLY_FOG(i.fogCoord, col); 121 | return col; 122 | } 123 | ENDCG 124 | } 125 | } 126 | } 127 | CustomEditor "ASEMaterialInspector" 128 | 129 | 130 | } 131 | /*ASEBEGIN 132 | Version=18800 133 | 0;0;1920;1011;1796.111;487.0193;1.3;True;True 134 | Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;9;0,0;Float;False;True;-1;2;ASEMaterialInspector;0;7;Orton/UI Overlay;0b6a9f8b4f707c74ca64c0be8e590de0;True;SubShader 0 Pass 0;0;0;SubShader 0 Pass 0;2;True;2;5;False;-1;10;False;-1;0;1;False;-1;0;False;-1;False;False;False;False;False;False;False;False;True;2;False;-1;True;True;True;True;False;0;False;-1;False;False;False;False;True;2;False;-1;True;3;False;-1;False;True;4;Queue=Transparent=Queue=0;IgnoreProjector=True;RenderType=Transparent=RenderType;PreviewType=Plane;False;0;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;0;0;;0;0;Standard;0;0;1;True;False;;False;0 135 | ASEEND*/ 136 | //CHKSM=04159D4A508DCB1BC366F311097E3D341C027DD7 -------------------------------------------------------------------------------- /Shaders/UI Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2364bce6cf0c09e46b1f4c5a20a8286b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8e8e7d968f841ba9b02e6d8f62bb34b 3 | timeCreated: 1741355681 -------------------------------------------------------------------------------- /images/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kesomannen/unity-repo-project-patcher/f88f7a5657b5f2f5a834bb98059c60aba3fd3e5e/images/banner.jpg -------------------------------------------------------------------------------- /images/banner.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bf086c018a519049bcba49d82e646e1 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 12 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | flipGreenChannel: 0 24 | isReadable: 0 25 | streamingMipmaps: 0 26 | streamingMipmapsPriority: 0 27 | vTOnly: 0 28 | ignoreMipmapLimit: 0 29 | grayScaleToAlpha: 0 30 | generateCubemap: 6 31 | cubemapConvolution: 0 32 | seamlessCubemap: 0 33 | textureFormat: 1 34 | maxTextureSize: 2048 35 | textureSettings: 36 | serializedVersion: 2 37 | filterMode: 1 38 | aniso: 1 39 | mipBias: 0 40 | wrapU: 0 41 | wrapV: 0 42 | wrapW: 0 43 | nPOTScale: 1 44 | lightmap: 0 45 | compressionQuality: 50 46 | spriteMode: 0 47 | spriteExtrude: 1 48 | spriteMeshType: 1 49 | alignment: 0 50 | spritePivot: {x: 0.5, y: 0.5} 51 | spritePixelsToUnits: 100 52 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 53 | spriteGenerateFallbackPhysicsShape: 1 54 | alphaUsage: 1 55 | alphaIsTransparency: 0 56 | spriteTessellationDetail: -1 57 | textureType: 0 58 | textureShape: 1 59 | singleChannelComponent: 0 60 | flipbookRows: 1 61 | flipbookColumns: 1 62 | maxTextureSizeSet: 0 63 | compressionQualitySet: 0 64 | textureFormatSet: 0 65 | ignorePngGamma: 0 66 | applyGammaDecoding: 0 67 | swizzle: 50462976 68 | cookieLightType: 0 69 | platformSettings: 70 | - serializedVersion: 3 71 | buildTarget: DefaultTexturePlatform 72 | maxTextureSize: 2048 73 | resizeAlgorithm: 0 74 | textureFormat: -1 75 | textureCompression: 1 76 | compressionQuality: 50 77 | crunchedCompression: 0 78 | allowsAlphaSplitting: 0 79 | overridden: 0 80 | ignorePlatformSupport: 0 81 | androidETC2FallbackOverride: 0 82 | forceMaximumCompressionQuality_BC6H_BC7: 0 83 | - serializedVersion: 3 84 | buildTarget: Standalone 85 | maxTextureSize: 2048 86 | resizeAlgorithm: 0 87 | textureFormat: -1 88 | textureCompression: 1 89 | compressionQuality: 50 90 | crunchedCompression: 0 91 | allowsAlphaSplitting: 0 92 | overridden: 0 93 | ignorePlatformSupport: 0 94 | androidETC2FallbackOverride: 0 95 | forceMaximumCompressionQuality_BC6H_BC7: 0 96 | spriteSheet: 97 | serializedVersion: 2 98 | sprites: [] 99 | outline: [] 100 | physicsShape: [] 101 | bones: [] 102 | spriteID: 103 | internalID: 0 104 | vertices: [] 105 | indices: 106 | edges: [] 107 | weights: [] 108 | secondaryTextures: [] 109 | nameFileIdTable: {} 110 | mipmapLimitGroupName: 111 | pSDRemoveMatte: 0 112 | userData: 113 | assetBundleName: 114 | assetBundleVariant: 115 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.kesomannen.unity-repo-project-patcher", 3 | "version": "0.2.0", 4 | "displayName": "REPO Project Patcher", 5 | "description": "A game wrapper that generates a Unity project from R.E.P.O's build that can be playable in-editor", 6 | "unity": "2022.3", 7 | "unityRelease": "21f1", 8 | "licensesUrl": "https://choosealicense.com/licenses/gpl-3.0/", 9 | "dependencies": {}, 10 | "devDependencies": {}, 11 | "samples": [], 12 | "author": { 13 | "name": "Kesomannen", 14 | "email": "", 15 | "url": "https://kesomannen.com" 16 | }, 17 | "type": "library" 18 | } -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ff638aa962db5a408a4013d278eb81f 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------