├── .gitignore ├── Assets ├── CameraReplacementShader_BiRP │ ├── TestReplacementShader.cs │ └── TestReplacementShader.shader ├── Editor.meta ├── Editor │ ├── AnimationPreviewTool.cs │ ├── AnimationPreviewTool.cs.meta │ ├── AsyncShaderCompilingTool.cs │ ├── AsyncShaderCompilingTool.cs.meta │ ├── AvailableProfilerMarkersAndSamplers.cs │ ├── EditorTime.cs │ ├── EditorTime.cs.meta │ ├── PlaceObjectsTool.cs │ ├── PlaceObjectsTool.cs.meta │ ├── Read_Compiled_Shader_Tool.meta │ ├── Read_Compiled_Shader_Tool │ │ ├── README.md │ │ ├── README.md.meta │ │ ├── ReadCompiledShaderTool.JPG │ │ ├── ReadCompiledShaderTool.JPG.meta │ │ ├── ReadCompiledShaderTool.cs │ │ └── ReadCompiledShaderTool.cs.meta │ ├── RenameObjectsTool.cs │ ├── RenameObjectsTool.cs.meta │ ├── SaveObjectAndNullPathImage.cs │ ├── ScenesThatContainThis.cs │ ├── ScenesThatContainThis.cs.meta │ ├── ScreenCaptureEditorTool.cs │ ├── ScreenCaptureEditorTool.cs.meta │ ├── ShaderVariantTool.meta │ ├── ShaderVariantTool │ │ ├── README.md │ │ └── README.md.meta │ ├── StrippingExample_Shader.cs │ └── StrippingExample_Shader.cs.meta ├── FrameRenderingTime.cs ├── SimpleSceneSwitch.cs ├── SimpleSceneSwitch.cs.meta ├── UsefulResource.meta ├── UsefulResource │ ├── CubeBlend.fbx │ ├── CubeBlend.fbx.meta │ ├── CubeSkinned.FBX │ ├── CubeSkinned.FBX.meta │ ├── CubeSkinnedMAX.max │ ├── CubeSkinnedMAX.max.meta │ ├── UsefulResource.unity │ ├── UsefulResource.unity.meta │ ├── normalEXR.exr │ ├── normalEXR.exr.meta │ ├── normalEXR.mat │ ├── normalEXR.mat.meta │ ├── normalPNG.mat │ ├── normalPNG.mat.meta │ ├── normalPNG.png │ └── normalPNG.png.meta ├── _Temp.meta └── _Temp │ ├── Animation.unity │ ├── Animation.unity.meta │ ├── CubeAnimator.controller │ ├── CubeAnimator.controller.meta │ ├── Jump01.anim │ └── Jump01.anim.meta ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── XRSettings.asset ├── README.md └── READMEImages ├── AnimationPreviewTool.JPG ├── AsyncShaderCompilingTool.JPG ├── EditorTime.JPG ├── PlaceObjectsTool.JPG ├── RenameObjectsTool.JPG ├── ScreenCaptureEditorTool.JPG └── SimpleSceneSwitch.JPG /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Asset meta data should only be ignored when the corresponding asset is also ignored 14 | !/[Aa]ssets/**/*.meta 15 | 16 | # Uncomment this line if you wish to ignore the asset store tools plugin 17 | # /[Aa]ssets/AssetStoreTools* 18 | 19 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Gradle cache directory 26 | .gradle/ 27 | 28 | # Autogenerated VS/MD/Consulo solution and project files 29 | ExportedObj/ 30 | .consulo/ 31 | *.csproj 32 | *.unityproj 33 | *.sln 34 | *.suo 35 | *.tmp 36 | *.user 37 | *.userprefs 38 | *.pidb 39 | *.booproj 40 | *.svd 41 | *.pdb 42 | *.mdb 43 | *.opendb 44 | *.VC.db 45 | 46 | # Unity3D generated meta files 47 | *.pidb.meta 48 | *.pdb.meta 49 | *.mdb.meta 50 | 51 | # Unity3D generated file on crash reports 52 | sysinfo.txt 53 | 54 | # Builds 55 | *.apk 56 | *.unitypackage 57 | 58 | # Crashlytics generated file 59 | crashlytics-build.properties 60 | 61 | .vscode/settings.json 62 | -------------------------------------------------------------------------------- /Assets/CameraReplacementShader_BiRP/TestReplacementShader.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | // BuiltinRP only 4 | // https://docs.unity3d.com/Manual/SL-ShaderReplacement.html 5 | public class TestReplacementShader : MonoBehaviour 6 | { 7 | public Camera cam; 8 | public Shader replaceShader; 9 | 10 | public enum RenderTypes 11 | { 12 | All, 13 | RenderType, 14 | } 15 | 16 | public RenderTypes renderType = RenderTypes.RenderType; 17 | 18 | void OnEnable() 19 | { 20 | Setup(); 21 | } 22 | 23 | void OnValidate() 24 | { 25 | Setup(); 26 | } 27 | 28 | void OnDisable() 29 | { 30 | Cleanup(); 31 | } 32 | 33 | void OnDestroy() 34 | { 35 | Cleanup(); 36 | } 37 | 38 | private void Setup() 39 | { 40 | string renderTypeStr = ""; 41 | if (renderType != RenderTypes.All) 42 | { 43 | renderTypeStr = renderType.ToString(); 44 | } 45 | cam.SetReplacementShader (replaceShader, renderTypeStr); 46 | 47 | Debug.Log("Configured Replacement Shader."); 48 | } 49 | 50 | private void Cleanup() 51 | { 52 | cam.ResetReplacementShader(); 53 | 54 | Debug.Log("Reset Replacement Shader."); 55 | } 56 | } 57 | 58 | -------------------------------------------------------------------------------- /Assets/CameraReplacementShader_BiRP/TestReplacementShader.shader: -------------------------------------------------------------------------------- 1 | Shader "Test Replacement Shader" 2 | { 3 | Properties 4 | { 5 | _Color ("Main Color", Color) = (1,1,1,1) 6 | _MainTex ("_MainTex (RGBA)", 2D) = "white" {} 7 | } 8 | 9 | CGINCLUDE 10 | 11 | #include "UnityCG.cginc" 12 | 13 | struct appdata 14 | { 15 | float4 vertex : POSITION; 16 | float2 uv : TEXCOORD0; 17 | }; 18 | 19 | struct v2f 20 | { 21 | float2 uv : TEXCOORD0; 22 | float4 vertex : SV_POSITION; 23 | }; 24 | 25 | sampler2D _MainTex; 26 | float4 _MainTex_ST; 27 | 28 | float4 _Color; 29 | 30 | v2f vert (appdata v) 31 | { 32 | v2f o; 33 | o.vertex = UnityObjectToClipPos(v.vertex); 34 | o.uv = TRANSFORM_TEX(v.uv, _MainTex); 35 | return o; 36 | } 37 | 38 | ENDCG 39 | 40 | SubShader // Opaque = Red 41 | { 42 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Opaque" } 43 | Cull Off Lighting Off ZWrite Off 44 | Blend SrcAlpha OneMinusSrcAlpha 45 | 46 | Pass 47 | { 48 | CGPROGRAM 49 | #pragma vertex vert 50 | #pragma fragment frag 51 | 52 | fixed4 frag (v2f i) : SV_Target 53 | { 54 | return float4(1,0,0,0.1); 55 | } 56 | 57 | ENDCG 58 | } 59 | } 60 | SubShader // Transparent = Green 61 | { 62 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } 63 | Cull Off Lighting Off ZWrite Off 64 | Blend SrcAlpha OneMinusSrcAlpha 65 | 66 | Pass 67 | { 68 | CGPROGRAM 69 | #pragma vertex vert 70 | #pragma fragment frag 71 | 72 | fixed4 frag (v2f i) : SV_Target 73 | { 74 | return float4(0,1,0,0.1); 75 | } 76 | 77 | ENDCG 78 | } 79 | } 80 | SubShader // Background = Cyan 81 | { 82 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Background" } 83 | Cull Off Lighting Off ZWrite Off 84 | Blend SrcAlpha OneMinusSrcAlpha 85 | 86 | Pass 87 | { 88 | CGPROGRAM 89 | #pragma vertex vert 90 | #pragma fragment frag 91 | 92 | fixed4 frag (v2f i) : SV_Target 93 | { 94 | return float4(0,1,1,0.1); 95 | } 96 | 97 | ENDCG 98 | } 99 | } 100 | SubShader // Overlay = Yellow 101 | { 102 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Overlay" } 103 | Cull Off Lighting Off ZWrite Off 104 | Blend SrcAlpha OneMinusSrcAlpha 105 | 106 | Pass 107 | { 108 | CGPROGRAM 109 | #pragma vertex vert 110 | #pragma fragment frag 111 | 112 | fixed4 frag (v2f i) : SV_Target 113 | { 114 | return float4(1,1,0,0.1); 115 | } 116 | 117 | ENDCG 118 | } 119 | } 120 | } 121 | -------------------------------------------------------------------------------- /Assets/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f334ca9ddda5124e9f0296e9ce9889b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Editor/AnimationPreviewTool.cs: -------------------------------------------------------------------------------- 1 | //By Ming Wai Chan 2 | // 3 | //What is this: 4 | //It lists out all Animators, AnimationStates, and AnimationClips in the scene, or in a specific gameObject 5 | //In play mode, you can trigger these animations to play and no need to write scripts to trigger them manually. 6 | // 7 | //How to use: 8 | //1. Put this script in an Editor folder 9 | //2. Top Menu->Window->AnimationPreviewTool 10 | //3. Go into play mode 11 | //4. Click update list on the tool 12 | //5. Click on checkbox to trigger to play an animation 13 | // 14 | using UnityEngine; 15 | using System.Collections; 16 | using System.Collections.Generic; 17 | using UnityEngine.UI; 18 | #if UNITY_EDITOR 19 | using UnityEditor; 20 | #endif 21 | 22 | public class AnimationPreviewTool : EditorWindow 23 | { 24 | #if UNITY_EDITOR 25 | 26 | Vector2 scrollPosition; 27 | public GameObject pa; 28 | private myAni[] allanimators; 29 | public bool allobject = true; 30 | public bool include_disabled = false; 31 | 32 | [MenuItem("Window/AnimationPreviewTool")] 33 | public static void ShowWindow () 34 | { 35 | // Show existing window instance. If one doesn't exist, make one. 36 | EditorWindow.GetWindow (typeof(AnimationPreviewTool)); 37 | } 38 | 39 | void OnGUI () 40 | { 41 | scrollPosition = GUILayout.BeginScrollView(scrollPosition,GUILayout.Width(0),GUILayout.Height(0)); 42 | 43 | AnimationPreviewTool myTarget = this; 44 | 45 | // Show the basic public variables 46 | GUILayout.Label ("This tool shows all animator and animations in Scene, hit Play and click on check box to preview them : )", EditorStyles.wordWrappedMiniLabel); 47 | EditorGUILayout.Space (); 48 | allobject = EditorGUILayout.ToggleLeft("All GameObjects on scene?",allobject); 49 | if (!allobject) 50 | { 51 | GUILayout.Label ("Assign the GameObject that you want to check", EditorStyles.boldLabel); 52 | pa = (GameObject)EditorGUILayout.ObjectField (pa, typeof(GameObject), true); 53 | } 54 | include_disabled = EditorGUILayout.ToggleLeft("Include disabled objects?",include_disabled); 55 | 56 | 57 | if (GUILayout.Button ("Update Animation List", EditorStyles.miniButton)) 58 | { 59 | myTarget.initializelist (); 60 | } 61 | 62 | EditorGUILayout.Space(); 63 | EditorGUILayout.Separator (); 64 | 65 | // Show the Animators and Animation Lists 66 | if (myTarget.allanimators != null && myTarget.allanimators.Length>0) 67 | { 68 | 69 | for (int i = 0; i < myTarget.allanimators.Length; i++) 70 | { 71 | if (myTarget.allanimators [i].ac != null) 72 | { 73 | string objstatus=""; 74 | if (!myTarget.allanimators [i].animator.gameObject.activeSelf) 75 | { 76 | objstatus = " (disabled)"; 77 | } 78 | if (GUILayout.Button (myTarget.allanimators [i].animator.name+objstatus, EditorStyles.miniButton)) 79 | { 80 | EditorApplication.ExecuteMenuItem ("Window/General/Hierarchy"); 81 | Selection.activeGameObject = myTarget.allanimators [i].animator.gameObject; 82 | } 83 | 84 | float Twidth = EditorGUIUtility.currentViewWidth; 85 | 86 | //Horizontal Group 87 | GUIStyle myStyle_g = new GUIStyle(); 88 | myStyle_g.onHover.textColor = GUI.color-Color.cyan; 89 | myStyle_g.hover.textColor = GUI.color-Color.cyan; 90 | //Horizontal Group 91 | 92 | GUILayoutOption myStyle1 = GUILayout.Width(15); 93 | 94 | GUIStyle myStyle2 = new GUIStyle(EditorStyles.label); 95 | myStyle2.fontStyle = FontStyle.Bold; 96 | myStyle2.fixedWidth = (Twidth-1)*0.4f; 97 | 98 | GUIStyle myStyle3 = new GUIStyle(EditorStyles.label); 99 | myStyle3.fontStyle = FontStyle.Bold; 100 | myStyle3.alignment = TextAnchor.MiddleRight; 101 | 102 | //GUILayoutOption options0 = GUILayout.Width(15); 103 | 104 | GUILayout.BeginHorizontal(myStyle_g); 105 | GUILayout.Label("",myStyle1); 106 | GUILayout.Label("State",myStyle2); 107 | GUILayout.Label("Clip",myStyle2); 108 | GUILayout.Label("Sec",myStyle3); 109 | GUILayout.EndHorizontal(); 110 | 111 | if (myTarget.allanimators [i].mylistbool != null) 112 | { 113 | for (int j = 0; j < myTarget.allanimators [i].mylistbool.Length; j++) 114 | { 115 | string title = myTarget.allanimators [i].mylist [j]; 116 | float seconds = myTarget.allanimators [i].mylistduration [j]; 117 | int dur_sec = Mathf.FloorToInt (seconds); 118 | float dur_msec = seconds-dur_sec; 119 | dur_msec = Mathf.Round(dur_msec*10f); 120 | 121 | GUILayout.BeginHorizontal(myStyle_g); 122 | 123 | myStyle2.fontStyle = FontStyle.Normal; 124 | myStyle3.fontStyle = FontStyle.Normal; 125 | 126 | myTarget.allanimators [i].mylistbool [j] = EditorGUILayout.ToggleLeft("", myTarget.allanimators [i].mylistbool [j],myStyle1); 127 | 128 | //Bold the current playing statename 129 | if (myTarget.allanimators [i].isCurrentPlayingState (title)) 130 | { 131 | myStyle2.fontStyle = FontStyle.BoldAndItalic; 132 | 133 | if (myTarget.allanimators [i].myclips [j] != null) 134 | title = title + " Frame:" + ShowCurrentFrame(myTarget.allanimators [i].animator, myTarget.allanimators [i].myclips [j]); 135 | } 136 | 137 | GUILayout.Label (title, myStyle2); 138 | 139 | string clipname = ""; 140 | if (myTarget.allanimators [i].myclips [j] != null) 141 | { 142 | clipname = myTarget.allanimators [i].myclips [j].name; 143 | } 144 | GUILayout.Label(clipname,myStyle2); 145 | GUILayout.Label(dur_sec+"."+dur_msec,myStyle3); 146 | 147 | GUILayout.EndHorizontal(); 148 | } 149 | myTarget.allanimators [i].playtheList (0); 150 | EditorGUILayout.Space (); 151 | } 152 | } 153 | }Repaint (); 154 | } 155 | 156 | //*************** 157 | GUILayout.Space (70); 158 | GUILayout.EndScrollView(); 159 | //*************** 160 | 161 | } 162 | 163 | private void initializelist() 164 | { 165 | Animator[] templist; 166 | 167 | if (allobject) 168 | { 169 | if (include_disabled) 170 | { 171 | templist = GetAllObjectsInScene ().ToArray (); 172 | } 173 | else 174 | { 175 | templist = UnityEngine.Object.FindObjectsOfType (); 176 | } 177 | } 178 | else 179 | { 180 | templist = pa.GetComponentsInChildren (include_disabled); 181 | } 182 | 183 | //Assign List 184 | allanimators = new myAni[templist.Length]; 185 | int i = 0; 186 | foreach (Animator ani in templist) 187 | { 188 | allanimators [i] = new myAni (ani); 189 | i++; 190 | } 191 | } 192 | 193 | List GetAllObjectsInScene() 194 | { 195 | List objectsInScene = new List(); 196 | 197 | foreach (Animator go in Resources.FindObjectsOfTypeAll(typeof(Animator)) as Animator[]) 198 | { 199 | if (go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave) 200 | continue; 201 | 202 | if (!EditorUtility.IsPersistent(go.transform.root.gameObject)) 203 | continue; 204 | 205 | objectsInScene.Add(go); 206 | } 207 | 208 | return objectsInScene; 209 | } 210 | 211 | private string ShowCurrentFrame(Animator anicon, AnimationClip aniclip) 212 | { 213 | float length = aniclip.length; 214 | float fps = aniclip.frameRate; 215 | float progress = anicon.GetCurrentAnimatorStateInfo (0).normalizedTime; 216 | 217 | progress = progress - Mathf.Floor (progress); 218 | 219 | float totalframe = length * fps; 220 | float currentframe = totalframe * progress; 221 | 222 | 223 | ///new 224 | return currentframe.ToString("0.00") + "/" + totalframe; 225 | } 226 | 227 | 228 | #endif 229 | } 230 | //================================================================================================================= 231 | public class myAni 232 | { 233 | #if UNITY_EDITOR 234 | public Animator animator; 235 | public string[] mylist; 236 | public float[] mylistduration; 237 | public bool[] mylistbool; 238 | public AnimationClip[] myclips; 239 | public UnityEditor.Animations.AnimatorController ac; 240 | public int lengthOfList = 0; 241 | 242 | // Constructor, assign all properties 243 | public myAni(Animator ani) 244 | { 245 | animator = ani; 246 | Debug.Log (animator.name + " initializing "); 247 | if (animator.runtimeAnimatorController == null) 248 | { 249 | ac = null; 250 | return; 251 | } 252 | ac = animator.runtimeAnimatorController as UnityEditor.Animations.AnimatorController; 253 | 254 | Debug.Log("No. of Layers in **"+ac.name+"** is "+ac.layers.Length); 255 | for (int h = 0; h < ac.layers.Length; h++) 256 | { 257 | lengthOfList += ac.layers [h].stateMachine.states.Length; 258 | } 259 | 260 | if (ani != null && ac != null) 261 | { 262 | mylist = new string[lengthOfList]; 263 | mylistduration = new float[lengthOfList]; 264 | myclips = new AnimationClip[lengthOfList]; 265 | int i = 0; 266 | 267 | for (int h = 0; h < ac.layers.Length; h++) 268 | { 269 | foreach (UnityEditor.Animations.ChildAnimatorState st in ac.layers[h].stateMachine.states) 270 | { 271 | mylist [i] = st.state.name; 272 | 273 | //duration 274 | for (int k = 0; k < ac.layers[h].stateMachine.states.Length; k++) 275 | { 276 | UnityEditor.Animations.AnimatorState state = ac.layers [h].stateMachine.states [k].state; 277 | if (state.name == mylist [i]) 278 | { 279 | AnimationClip clip = state.motion as AnimationClip; 280 | if (clip != null) 281 | { 282 | mylistduration [i] = clip.length; 283 | myclips [i] = clip; 284 | } 285 | } 286 | } 287 | // 288 | i++; 289 | } 290 | } 291 | mylistbool = new bool[lengthOfList]; 292 | for (int j = 0; j < lengthOfList; j++) 293 | { 294 | mylistbool [j] = false; 295 | } 296 | } 297 | } 298 | 299 | // Play an animation 300 | public void playtheList(float myAniSample) 301 | { 302 | for(int i=0; i materials; 15 | bool forceSync = false; 16 | bool allowAsyncCompilation = true; 17 | bool anythingCompiling = false; 18 | 19 | [MenuItem("Window/AsyncShaderCompiling Tool")] 20 | public static void ShowWindow () 21 | { 22 | EditorWindow.GetWindow (typeof(AsyncShaderCompilingTool)); 23 | } 24 | 25 | public void Update() 26 | { 27 | Repaint(); 28 | } 29 | 30 | void OnGUI () 31 | { 32 | //*************** 33 | scrollPosition = GUILayout.BeginScrollView(scrollPosition,GUILayout.Width(0),GUILayout.Height(0)); 34 | //*************** 35 | 36 | GUIStyle style = new GUIStyle(GUI.skin.label); 37 | style.richText = true; 38 | 39 | if(materials == null) materials = new List(); 40 | 41 | //Status - Anything Compiling 42 | GUILayout.Label ("Status", EditorStyles.boldLabel); 43 | anythingCompiling = ShaderUtil.anythingCompiling; 44 | GUI.color = anythingCompiling? Color.magenta : Color.green; 45 | GUILayout.Label ("Anything compiling : "+anythingCompiling); 46 | GUI.color = Color.white; 47 | GUILayout.Space (10); 48 | 49 | //General settings - Allow Async Compilation 50 | GUILayout.Label ("General", EditorStyles.boldLabel); 51 | allowAsyncCompilation = EditorGUILayout.Toggle("Allow Async Compilation?",allowAsyncCompilation); 52 | GUILayout.Space (10); 53 | 54 | //Set Material settings - Force Sync / Pass Index / isPassCompiled 55 | GUILayout.Label ("Per Material", EditorStyles.boldLabel); 56 | forceSync = EditorGUILayout.Toggle("Force sync?",forceSync); 57 | //passIndexMax = EditorGUILayout.IntField("Pass Index Max.",passIndexMax); 58 | 59 | //Buttons 60 | GUILayout.Space (10); 61 | EditorGUILayout.BeginHorizontal(); 62 | if (GUILayout.Button ("Update Selection")) UpdateSelection(); 63 | if (GUILayout.Button ("Update & Compile all passes")) Apply(); 64 | EditorGUILayout.EndHorizontal(); 65 | 66 | //Show selected material 67 | GUILayout.Label ("Materials:", EditorStyles.boldLabel); 68 | if(materials.Count <= 0) 69 | { 70 | GUI.color = Color.cyan; 71 | GUILayout.Label ("Select material(s) in ProjectView and click Update Selection"); 72 | GUI.color = Color.white; 73 | } 74 | else 75 | { 76 | GUI.color = Color.cyan; 77 | GUILayout.Label ("Selected "+materials.Count+" material(s)"); 78 | GUI.color = Color.white; 79 | } 80 | 81 | //Material list header 82 | EditorGUILayout.BeginHorizontal(); 83 | GUILayout.Label ("Id",style); 84 | GUILayout.Label ("Material Name",style); 85 | GUILayout.Label ("Pass compilation status",style); 86 | EditorGUILayout.EndHorizontal(); 87 | 88 | //Display each selected material isPassCompiled status 89 | for(int i = 0; i < materials.Count; i++) 90 | { 91 | if(materials[i] != null) 92 | { 93 | EditorGUILayout.BeginHorizontal(); 94 | 95 | //id 96 | GUILayout.Label (i.ToString(),style); 97 | 98 | //name 99 | GUILayout.Label (""+materials[i].name+"",style); 100 | 101 | //status 102 | string text = ""; 103 | for(int j=0; j0 ) 128 | { 129 | for(int i = 0; i < objects.Length; i++) 130 | { 131 | Material mat = objects[i] as Material; 132 | if(mat != null) 133 | { 134 | materials.Add(mat); 135 | } 136 | } 137 | } 138 | } 139 | 140 | void Apply() 141 | { 142 | UpdateSelection(); 143 | 144 | bool previousState = ShaderUtil.allowAsyncCompilation; 145 | 146 | ShaderUtil.allowAsyncCompilation = allowAsyncCompilation; 147 | 148 | for(int i = 0; i < materials.Count; i++) 149 | { 150 | if(materials[i] != null) 151 | { 152 | for(int j=0; j(); 23 | ProfilerRecorderHandle.GetAvailable(availableStatHandles); 24 | 25 | var availableStats = new List(availableStatHandles.Count); 26 | foreach (var h in availableStatHandles) 27 | { 28 | var statDesc = ProfilerRecorderHandle.GetDescription(h); 29 | var statInfo = new StatInfo() 30 | { 31 | Cat = statDesc.Category, 32 | Name = statDesc.Name, 33 | Unit = statDesc.UnitType 34 | }; 35 | availableStats.Add(statInfo); 36 | } 37 | availableStats.Sort((a, b) => 38 | { 39 | var result = string.Compare(a.Cat.ToString(), b.Cat.ToString()); 40 | if (result != 0) 41 | return result; 42 | 43 | return string.Compare(a.Name, b.Name); 44 | }); 45 | 46 | var sb = new StringBuilder("Available stats:"+" "+availableStats.Count+"\n"); 47 | foreach (var s in availableStats) 48 | { 49 | sb.AppendLine($"{(int)s.Cat}\t\t - {s.Name}\t\t - {s.Unit}"); 50 | } 51 | 52 | string filePath = Application.dataPath+"/AvailableProfilerMarkers.txt"; 53 | using (System.IO.StreamWriter file = new System.IO.StreamWriter(filePath)) 54 | { 55 | file.WriteLine(sb.ToString()); 56 | } 57 | 58 | Debug.Log("saved_to: "+filePath); 59 | 60 | AssetDatabase.Refresh(); 61 | } 62 | 63 | [MenuItem("Test/GetAvailableSamplers")] 64 | static unsafe void EnumerateSamplers() 65 | { 66 | List names = new List(); 67 | UnityEngine.Profiling.Sampler.GetNames(names); 68 | 69 | var sb = new StringBuilder("Active Samplers:"+" "+names.Count+"\n"); 70 | foreach (var n in names) 71 | { 72 | sb.AppendLine(n); 73 | } 74 | 75 | string filePath = Application.dataPath+"/AvailableSamplers.txt"; 76 | using (System.IO.StreamWriter file = new System.IO.StreamWriter(filePath)) 77 | { 78 | file.WriteLine(sb.ToString()); 79 | } 80 | 81 | Debug.Log("saved_to: "+filePath); 82 | 83 | AssetDatabase.Refresh(); 84 | } 85 | } -------------------------------------------------------------------------------- /Assets/Editor/EditorTime.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using System; 4 | 5 | public class EditorTime : EditorWindow 6 | { 7 | Vector2 scrollPosition; 8 | float threshold = 0.17f; 9 | double prevtime = 0; 10 | 11 | [MenuItem("Window/EditorTime")] 12 | public static void ShowWindow () 13 | { 14 | GetWindow(typeof(EditorTime)); 15 | } 16 | 17 | void Update() 18 | { 19 | Repaint(); 20 | 21 | // double dt = Time.unscaledDeltaTime; 22 | double dt = EditorApplication.timeSinceStartup - prevtime; 23 | if (dt <= threshold ) 24 | { 25 | Debug.Log("Update Unscaled Delta Time : Below threshold " + threshold + ""); 26 | } 27 | else 28 | { 29 | Debug.Log("Update Unscaled Delta Time : " + dt.ToString("0.000") + " seconds at "+ DateTime.Now); 30 | } 31 | prevtime = EditorApplication.timeSinceStartup; 32 | EditorUtility.SetDirty(this); 33 | } 34 | 35 | void OnGUI () 36 | { 37 | //*************** 38 | scrollPosition = GUILayout.BeginScrollView(scrollPosition,GUILayout.Width(0),GUILayout.Height(0)); 39 | //*************** 40 | 41 | GUI.color = Color.cyan; 42 | GUILayout.Label ("Editor Delta Time", EditorStyles.boldLabel); 43 | EditorGUILayout.LabelField("See result in Console", EditorStyles.miniLabel); 44 | GUI.color = Color.white; 45 | GUILayout.Space(15); 46 | threshold = EditorGUILayout.FloatField("Threshold", threshold); 47 | 48 | //*************** 49 | GUILayout.EndScrollView(); 50 | //*************** 51 | } 52 | 53 | } -------------------------------------------------------------------------------- /Assets/Editor/EditorTime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b39f1136f138924289ae76748251897 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/PlaceObjectsTool.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | public class PlaceObjectsTool : EditorWindow 5 | { 6 | Vector2 scrollPosition; 7 | 8 | //Selections 9 | Transform[] objs; 10 | bool isParentGameObject = false; 11 | int selectedCount = 0; 12 | int childCount = 0; 13 | 14 | //CopyPasteTransform 15 | Transform copyFromTrans; 16 | 17 | //ReplaceGameObject 18 | GameObject replaceSrc; 19 | 20 | //Toggles 21 | bool tg_distrbute = false; 22 | bool tg_ran = false; 23 | bool tg_ran_pos = false; 24 | bool tg_ran_rot = false; 25 | bool tg_ran_sca = false; 26 | bool tg_ran_scaUniform = false; 27 | bool tg_ranSphere = false; 28 | 29 | //Distribute evenly 30 | Vector3 spacing = Vector3.one; //-1 means no limit 31 | Vector3Int amount = new Vector3Int(10,10,10); 32 | 33 | //Align 34 | int align = 1; 35 | string[] alignList = new string[] 36 | { 37 | "-X", //0 38 | "+X", //1 39 | "-Y", //2 40 | "+Y", //3 41 | "-Z", //4 42 | "+Z", //5 43 | }; 44 | 45 | //Random 46 | Vector3 ran_pos_min = Vector3.zero; 47 | Vector3 ran_pos_max = Vector3.zero; 48 | Vector3 ran_rot_min = Vector3.zero; 49 | Vector3 ran_rot_max = Vector3.zero; 50 | Vector3 ran_sca_min = Vector3.one; 51 | Vector3 ran_sca_max = Vector3.one; 52 | private float tg_ranSphere_radius = 1f; 53 | 54 | [MenuItem("Window/Place Objects Tool")] 55 | public static void ShowWindow () 56 | { 57 | EditorWindow.GetWindow (typeof(PlaceObjectsTool)); 58 | } 59 | 60 | public void Update() 61 | { 62 | Repaint(); 63 | } 64 | 65 | void OnGUI () 66 | { 67 | //*************** 68 | scrollPosition = GUILayout.BeginScrollView(scrollPosition,GUILayout.Width(0),GUILayout.Height(0)); 69 | //*************** 70 | 71 | //Selection 72 | GUILayout.Space(10); 73 | GUILayout.Label ("Select objects OR select 1 parent object in Hierarchy", EditorStyles.wordWrappedLabel); 74 | UpdateSelectionStatus(); 75 | if(childCount == 0 && selectedCount == 0) 76 | { 77 | EditorGUILayout.HelpBox("No object is selected in Hierarchy", MessageType.Error); 78 | } 79 | else 80 | { 81 | GUI.color = Color.cyan; 82 | GUILayout.Label("Objects Selected : " + (isParentGameObject? ""+childCount : ""+selectedCount) ); 83 | GUI.color = Color.white; 84 | } 85 | EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); 86 | 87 | //Distribute Evenly 88 | tg_distrbute = EditorGUILayout.BeginToggleGroup ("Distribute Evenly", tg_distrbute); // Untick for free random 89 | EditorGUI.indentLevel++; 90 | spacing = EditorGUILayout.Vector3Field("Spacing", spacing); 91 | amount = EditorGUILayout.Vector3IntField("Amount", amount); 92 | if ( amount.x <= 0 || amount.y <= 0 || amount.z <= 0 ) 93 | { 94 | EditorGUILayout.HelpBox("Please put positive integer number for Amount", MessageType.Error); 95 | } 96 | EditorGUI.indentLevel--; 97 | EditorGUILayout.EndToggleGroup(); 98 | GUILayout.Space(15); 99 | 100 | //Random title 101 | tg_ran = EditorGUILayout.BeginToggleGroup ("Random", tg_ran); // Untick for free random 102 | if (GUILayout.Button("Reset Random Numbers")) ResetRandom(); 103 | //Random Position 104 | tg_ran_pos = EditorGUILayout.Foldout(tg_ran_pos, "Random Position"); 105 | if(tg_ran_pos) 106 | { 107 | ran_pos_min = EditorGUILayout.Vector3Field("Min", ran_pos_min); 108 | ran_pos_max = EditorGUILayout.Vector3Field("Max", ran_pos_max); 109 | } 110 | //Random Rotation 111 | tg_ran_rot = EditorGUILayout.Foldout (tg_ran_rot, "Random Rotation"); 112 | if(tg_ran_rot) 113 | { 114 | ran_rot_min = EditorGUILayout.Vector3Field("Min", ran_rot_min); 115 | ran_rot_max = EditorGUILayout.Vector3Field("Max", ran_rot_max); 116 | } 117 | //Random Scale 118 | tg_ran_sca = EditorGUILayout.Foldout (tg_ran_sca, "Random Scale"); 119 | if(tg_ran_sca) 120 | { 121 | tg_ran_scaUniform = EditorGUILayout.Toggle("Uniform Scale", tg_ran_scaUniform); 122 | if (tg_ran_scaUniform) 123 | { 124 | ran_sca_min.x = EditorGUILayout.FloatField("Min", ran_sca_min.x); 125 | ran_sca_max.x = EditorGUILayout.FloatField("Max", ran_sca_max.x); 126 | } 127 | else 128 | { 129 | ran_sca_min = EditorGUILayout.Vector3Field("Min", ran_sca_min); 130 | ran_sca_max = EditorGUILayout.Vector3Field("Max", ran_sca_max); 131 | } 132 | } 133 | EditorGUILayout.EndToggleGroup(); 134 | GUILayout.Space(15); 135 | 136 | //Random title 137 | tg_ranSphere = EditorGUILayout.BeginToggleGroup ("Random In Sphere", tg_ranSphere); 138 | tg_ranSphere_radius = EditorGUILayout.FloatField("Radius", tg_ranSphere_radius); 139 | EditorGUILayout.EndToggleGroup(); 140 | GUILayout.Space(15); 141 | 142 | //Buttons 143 | Color original = GUI.backgroundColor; 144 | EditorGUILayout.BeginHorizontal(); 145 | GUI.backgroundColor = Color.cyan; 146 | if (GUILayout.Button ("Place Objects")) PlaceObjects(); 147 | GUI.backgroundColor = original; 148 | if (GUILayout.Button("Reset Object Transforms")) ResetTransform(); 149 | EditorGUILayout.EndHorizontal(); 150 | 151 | EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); 152 | 153 | //Align Objects 154 | EditorGUILayout.BeginHorizontal(); 155 | align = EditorGUILayout.Popup("Align to", align, alignList); 156 | if (GUILayout.Button ("Align Objects")) AlignObjects(); 157 | EditorGUILayout.EndHorizontal(); 158 | 159 | EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); 160 | 161 | //Place Objects to Ground 162 | EditorGUILayout.BeginHorizontal(); 163 | if (GUILayout.Button ("Move Objects to Ground")) MoveObjectToGround(); 164 | EditorGUILayout.EndHorizontal(); 165 | 166 | EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); 167 | 168 | //Copy paste object transform 169 | copyFromTrans = (Transform)EditorGUILayout.ObjectField("Copy transform from",copyFromTrans, typeof(Transform), true); 170 | EditorGUILayout.BeginHorizontal(); 171 | GUI.backgroundColor = Color.cyan; 172 | if (GUILayout.Button ("Paste Transform")) CopyPasteTransform(0); 173 | GUI.backgroundColor = original; 174 | if (GUILayout.Button ("Paste Position")) CopyPasteTransform(1); 175 | if (GUILayout.Button ("Paste Rotation")) CopyPasteTransform(2); 176 | if (GUILayout.Button ("Paste Scale")) CopyPasteTransform(3); 177 | EditorGUILayout.EndHorizontal(); 178 | 179 | EditorGUILayout.LabelField("", GUI.skin.horizontalSlider); 180 | 181 | //Replace GameObject 182 | GUILayout.Label("Replace scene object by object", EditorStyles.boldLabel); 183 | EditorGUILayout.BeginHorizontal(); 184 | replaceSrc = (GameObject)EditorGUILayout.ObjectField("Source",replaceSrc, typeof(GameObject), true); 185 | GUI.backgroundColor = Color.cyan; 186 | if (GUILayout.Button ("Replace objects")) ReplaceObjects(); 187 | GUI.backgroundColor = original; 188 | EditorGUILayout.EndHorizontal(); 189 | EditorGUILayout.HelpBox("Cannot undo", MessageType.Warning); 190 | 191 | 192 | //*************** 193 | GUILayout.EndScrollView(); 194 | //*************** 195 | } 196 | 197 | void UpdateSelectionStatus() 198 | { 199 | if (Selection.activeTransform != null) 200 | { 201 | selectedCount = Selection.gameObjects.Length; 202 | childCount = Selection.activeTransform.childCount; 203 | isParentGameObject = selectedCount == 1 && childCount > 0 ? true : false; 204 | } 205 | else 206 | { 207 | selectedCount = 0; 208 | childCount = 0; 209 | } 210 | } 211 | 212 | void SetSelectionObjects() 213 | { 214 | objs = null; 215 | if (Selection.activeTransform == null) 216 | { 217 | selectedCount = 0; 218 | childCount = 0; 219 | return; 220 | } 221 | 222 | UpdateSelectionStatus(); 223 | 224 | if(!isParentGameObject) 225 | { 226 | int size = selectedCount; 227 | objs = new Transform[size]; 228 | for(int i=0; i(); 240 | for(int i=0; i Windows > ReadCompiledShaderTool 9 | 3. See steps on the tool. 10 | \ 11 | \ 12 | ![](ReadCompiledShaderTool.JPG) -------------------------------------------------------------------------------- /Assets/Editor/Read_Compiled_Shader_Tool/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f7c06d3866d297478624f749c136a4f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Editor/Read_Compiled_Shader_Tool/ReadCompiledShaderTool.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/Assets/Editor/Read_Compiled_Shader_Tool/ReadCompiledShaderTool.JPG -------------------------------------------------------------------------------- /Assets/Editor/Read_Compiled_Shader_Tool/ReadCompiledShaderTool.JPG.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd6b7c87105cf684fa3c9d2101ae3e95 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 | androidETC2FallbackOverride: 0 81 | forceMaximumCompressionQuality_BC6H_BC7: 0 82 | - serializedVersion: 3 83 | buildTarget: Standalone 84 | maxTextureSize: 2048 85 | resizeAlgorithm: 0 86 | textureFormat: -1 87 | textureCompression: 1 88 | compressionQuality: 50 89 | crunchedCompression: 0 90 | allowsAlphaSplitting: 0 91 | overridden: 0 92 | androidETC2FallbackOverride: 0 93 | forceMaximumCompressionQuality_BC6H_BC7: 0 94 | - serializedVersion: 3 95 | buildTarget: Server 96 | maxTextureSize: 2048 97 | resizeAlgorithm: 0 98 | textureFormat: -1 99 | textureCompression: 1 100 | compressionQuality: 50 101 | crunchedCompression: 0 102 | allowsAlphaSplitting: 0 103 | overridden: 0 104 | androidETC2FallbackOverride: 0 105 | forceMaximumCompressionQuality_BC6H_BC7: 0 106 | - serializedVersion: 3 107 | buildTarget: Android 108 | maxTextureSize: 2048 109 | resizeAlgorithm: 0 110 | textureFormat: -1 111 | textureCompression: 1 112 | compressionQuality: 50 113 | crunchedCompression: 0 114 | allowsAlphaSplitting: 0 115 | overridden: 0 116 | androidETC2FallbackOverride: 0 117 | forceMaximumCompressionQuality_BC6H_BC7: 0 118 | spriteSheet: 119 | serializedVersion: 2 120 | sprites: [] 121 | outline: [] 122 | physicsShape: [] 123 | bones: [] 124 | spriteID: 125 | internalID: 0 126 | vertices: [] 127 | indices: 128 | edges: [] 129 | weights: [] 130 | secondaryTextures: [] 131 | nameFileIdTable: {} 132 | mipmapLimitGroupName: 133 | pSDRemoveMatte: 0 134 | userData: 135 | assetBundleName: 136 | assetBundleVariant: 137 | -------------------------------------------------------------------------------- /Assets/Editor/Read_Compiled_Shader_Tool/ReadCompiledShaderTool.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System.IO; 6 | using System.Reflection; 7 | using UnityEditor.Rendering; 8 | using System.Text; 9 | 10 | namespace GfxQA.ReadCompiledShaderTool 11 | { 12 | public class ReadCompiledShaderTool : EditorWindow 13 | { 14 | public string path = "";//"C:\\Users\\XYZ\\Documents\\Compiled-ABC.shader"; 15 | public Shader shader; 16 | private bool includeAllVariants = true; 17 | 18 | //Variant Data 19 | private List sList = new List(); 20 | struct VariantCompileStat 21 | { 22 | public int subshaderID; 23 | public int passID; 24 | public string passName; 25 | public string variant; 26 | 27 | public int countMath; 28 | public int countTmpReg; 29 | public int countBranches; 30 | public int countTextures; 31 | } 32 | 33 | //For menu selection 34 | private int selectedSubShaderPass = 0; 35 | private List pList = new List(); 36 | private List pListMenu = new List(); 37 | struct SubShaderPass 38 | { 39 | public int subshaderID; 40 | public int passID; 41 | public string passName; 42 | public string summary; 43 | } 44 | 45 | [MenuItem("Window/ReadCompiledShaderTool")] 46 | public static void ShowWindow () 47 | { 48 | var window = EditorWindow.GetWindow (typeof(ReadCompiledShaderTool)); 49 | window.name = "ReadCompiledShaderTool"; 50 | window.titleContent = new GUIContent("ReadCompiledShaderTool"); 51 | } 52 | 53 | void Awake() 54 | { 55 | 56 | } 57 | 58 | void OnGUI () 59 | { 60 | Color originalBackgroundColor = GUI.backgroundColor; 61 | 62 | //Title 63 | GUI.color = Color.yellow; 64 | GUILayout.Label ( 65 | //"How to use: \n"+ 66 | // "1. Select a shader, on Inspector, click on the little triangle next to Compile and Show Code \n"+ 67 | // "2. Select only D3D on the list \n"+ 68 | // "3. If you want all the variants (i.e. even unused ones), untick Skip unused shader_features \n"+ 69 | // "4. Click Compile and Show Code. It will take awhile depends on how big your shader is \n"+ 70 | // "5. After the compiled shader code is opened, save the file to somewhere, copy the path of the file \n"+ 71 | // " e.g. C:\\Users\\XYZ\\Documents\\Compiled-ABC.shader \n"+ 72 | // "6. Paste the path into box below" 73 | "This only works for showing D3D compiler math numbers. \n"+ 74 | "If you select include all variants, avoid shaders with a lot of keywords. \n" 75 | ); 76 | //GUILayout.Space(10); 77 | GUI.color = Color.white; 78 | 79 | //path 80 | //path = GUILayout.TextField(path); 81 | 82 | //shader file 83 | shader = (Shader)EditorGUILayout.ObjectField(shader, typeof(Shader), true); 84 | if (shader != null) 85 | { 86 | includeAllVariants = GUILayout.Toggle (includeAllVariants, "Include all variants?"); 87 | if(GUILayout.Button ("Compile shader",GUILayout.Width(200))) 88 | { 89 | path = ""; 90 | CleanUpData(); 91 | CompileShader(); 92 | } 93 | } 94 | 95 | //open compiled shader file 96 | if (path != "" ) 97 | { 98 | GUI.color = Color.green; 99 | GUILayout.Label ("Compiled: "+path , EditorStyles.wordWrappedLabel); 100 | GUI.color = Color.white; 101 | if(GUILayout.Button ("Open Compiled shader File",GUILayout.Width(200))) 102 | { 103 | Application.OpenURL (path); 104 | } 105 | } 106 | 107 | //read data 108 | // if (path != "" && GUILayout.Button ("Read data",GUILayout.Width(200))) 109 | // { 110 | // ReadCompiledD3DShader(path); 111 | // } 112 | 113 | GUILayout.Space(20); 114 | 115 | //Subshader Pass selection 116 | if(pList.Count>0) 117 | { 118 | selectedSubShaderPass = EditorGUILayout.Popup("Select Subshader / Pass", selectedSubShaderPass, pListMenu.ToArray()); 119 | GUILayout.Space(10); 120 | ShowData(); 121 | } 122 | 123 | //End Window 124 | GUILayout.FlexibleSpace(); 125 | EditorGUILayout.Separator(); 126 | } 127 | 128 | private void CompileShader() 129 | { 130 | // Editor/Mono/ShaderUtil.bindings.cs 131 | // extern internal static void OpenCompiledShader(Shader shader, int mode, int externPlatformsMask, bool includeAllVariants, bool preprocessOnly, bool stripLineDirectives); 132 | // extern internal static void CompileShaderForTargetCompilerPlatform(Shader shader, ShaderCompilerPlatform platform); 133 | 134 | System.Type t = typeof(ShaderUtil); 135 | MethodInfo dynMethod = t.GetMethod("OpenCompiledShader", BindingFlags.NonPublic | BindingFlags.Static); 136 | int defaultMask = (1 << System.Enum.GetNames(typeof(UnityEditor.Rendering.ShaderCompilerPlatform)).Length - 1); 137 | dynMethod.Invoke(null, new object[] { shader, 1, defaultMask, includeAllVariants, false, true}); 138 | 139 | //This does not generate the compiled file 140 | // System.Type t = typeof(ShaderUtil); 141 | // MethodInfo dynMethod = t.GetMethod("CompileShaderForTargetCompilerPlatform", BindingFlags.NonPublic | BindingFlags.Static); 142 | // dynMethod.Invoke(null, new object[] { shader, ShaderCompilerPlatform.D3D}); 143 | 144 | //Compiled shader file stored in project Temp folder, with name e.g. Compiled-Unlit-NewUnlitShader.shader 145 | path = Application.dataPath.Replace("Assets","Temp")+"/Compiled-"+shader.name.Replace("/","-")+".shader"; 146 | Debug.Log("Compiled Shader : "+path); 147 | 148 | ReadCompiledD3DShader(path); 149 | } 150 | 151 | private void ShowData() 152 | { 153 | SubShaderPass selected = pList[selectedSubShaderPass]; 154 | 155 | //Results Sum 156 | int r_countVariant_sum = 0; 157 | int r_countMath_sum = 0; 158 | int r_countTmpReg_sum = 0; 159 | int r_countBranches_sum = 0; 160 | int r_countTextures_sum = 0; 161 | 162 | //Results Avg 163 | int r_countMath_avg = 0; 164 | int r_countTmpReg_avg = 0; 165 | int r_countBranches_avg = 0; 166 | int r_countTextures_avg = 0; 167 | 168 | //Results Max 169 | int r_countMath_max = 0; 170 | int r_countTmpReg_max = 0; 171 | int r_countBranches_max = 0; 172 | int r_countTextures_max = 0; 173 | 174 | //The king sList IDs 175 | int countMath_king = 0; 176 | int countTmpReg_king = 0; 177 | int countBranches_king = 0; 178 | int countTextures_king = 0; 179 | 180 | for(int i=0; i sList[countMath_king].countMath ) countMath_king = i; 207 | if( sList[i].countTmpReg > sList[countTmpReg_king].countTmpReg ) countTmpReg_king = i; 208 | if( sList[i].countBranches > sList[countBranches_king].countBranches ) countBranches_king = i; 209 | if( sList[i].countTextures > sList[countTextures_king].countTextures ) countTextures_king = i; 210 | } 211 | } 212 | 213 | if(r_countVariant_sum > 0) 214 | { 215 | //Avg 216 | r_countMath_avg = r_countMath_sum / r_countVariant_sum; 217 | r_countTmpReg_avg = r_countTmpReg_sum / r_countVariant_sum; 218 | r_countBranches_avg = r_countBranches_sum / r_countVariant_sum; 219 | r_countTextures_avg = r_countTextures_sum / r_countVariant_sum; 220 | 221 | //Max 222 | r_countMath_max = sList[countMath_king].countMath; 223 | r_countTmpReg_max = sList[countTmpReg_king].countTmpReg; 224 | r_countBranches_max = sList[countBranches_king].countBranches; 225 | r_countTextures_max = sList[countTextures_king].countTextures; 226 | } 227 | 228 | //Width for the columns & style 229 | float currentSize = this.position.width; 230 | float[] columnWidth = new float[] 231 | { 232 | 0.5f, 233 | 0.3f, 234 | 0.3f, 235 | 0.3f, 236 | 2f 237 | }; 238 | float widthForEach = currentSize / columnWidth.Length; 239 | GUILayoutOption[] columnLayoutOption = new GUILayoutOption[columnWidth.Length]; 240 | for(int i=0; i 0 ? sList[countMath_king].variant : ""; 308 | if(GUILayout.Button(kingText,kingButtonStyle,columnLayoutOption[layoutID])) 309 | { 310 | GUIUtility.systemCopyBuffer = kingText; 311 | } 312 | 313 | kingText = countTmpReg_king > 0 ? sList[countTmpReg_king].variant : ""; 314 | if(GUILayout.Button(kingText,kingButtonStyle,columnLayoutOption[layoutID])) 315 | { 316 | GUIUtility.systemCopyBuffer = kingText; 317 | } 318 | 319 | kingText = countBranches_king > 0 ? sList[countBranches_king].variant : ""; 320 | if(GUILayout.Button(kingText,kingButtonStyle,columnLayoutOption[layoutID])) 321 | { 322 | GUIUtility.systemCopyBuffer = kingText; 323 | } 324 | 325 | kingText = countTextures_king > 0 ? sList[countTextures_king].variant : ""; 326 | if(GUILayout.Button(kingText,kingButtonStyle,columnLayoutOption[layoutID])) 327 | { 328 | GUIUtility.systemCopyBuffer = kingText; 329 | } 330 | 331 | GUILayout.EndVertical(); 332 | 333 | GUILayout.EndHorizontal(); 334 | 335 | } 336 | 337 | private void CleanUpData() 338 | { 339 | sList.Clear(); 340 | pList.Clear(); 341 | pListMenu.Clear(); 342 | } 343 | 344 | private void ReadCompiledD3DShader(string path) 345 | { 346 | FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 347 | 348 | //For iteration of file texts 349 | bool variantstart = false; 350 | string keywordsText = ""; 351 | 352 | //Data for packing into VariantCompileStat 353 | int data_subshaderID = -1; 354 | int data_passID = -1; 355 | string data_passName = ""; 356 | string data_variant = ""; 357 | int data_countMath = 0; 358 | int data_countTmpReg = 0; 359 | int data_countBranches = 0; 360 | int data_countTextures = 0; 361 | 362 | //CleanUp 363 | CleanUpData(); 364 | 365 | using (StreamReader sr = new StreamReader(fs)) 366 | { 367 | string currentLine = ""; 368 | while(currentLine != null) //while(!sr.EndOfStream) does not work 369 | { 370 | currentLine = sr.ReadLine(); 371 | if(currentLine != null) 372 | { 373 | //SUBSHADER 374 | if(currentLine.Contains("SubShader { ")) 375 | { 376 | data_subshaderID ++; 377 | data_passID = -1; 378 | 379 | //Pack into struct 380 | SubShaderPass newData = new SubShaderPass(); 381 | newData.subshaderID = data_subshaderID; 382 | newData.passID = -1; 383 | newData.passName = ""; 384 | pList.Add(newData); 385 | } 386 | 387 | //PASS 388 | else if(currentLine.Contains(" Name "+'"')) 389 | { 390 | data_passID ++; 391 | data_passName = currentLine.Replace(" Name ", ""); 392 | 393 | //Pack into struct 394 | SubShaderPass newData = new SubShaderPass(); 395 | newData.subshaderID = data_subshaderID; 396 | newData.passID = data_passID; 397 | newData.passName = data_passName; 398 | pList.Add(newData); 399 | } 400 | 401 | //VARIANT START 402 | else if(currentLine.Contains("Keywords: ")) 403 | { 404 | keywordsText = currentLine.Replace("Keywords: ",""); 405 | variantstart = true; 406 | } 407 | 408 | //STATS for VARIANT 409 | else if(currentLine.Contains("// Stats: ")) 410 | { 411 | //VARIANT 412 | if(variantstart) 413 | { 414 | data_variant = keywordsText; 415 | keywordsText = ""; 416 | variantstart = false; 417 | } 418 | 419 | /* 420 | math -> temp registers -> textures -> branches 421 | // Stats: 79 math, 7 temp registers, 33 branches 422 | // Stats: 0 math, 1 textures 423 | // Stats: 2 math, 2 temp registers, 1 textures 424 | // Stats: 98 math, 11 temp registers, 1 textures, 6 branches 425 | */ 426 | 427 | //DATA 428 | string data = currentLine; 429 | data = data.Replace("// Stats: ",""); 430 | 431 | //math count 432 | string temp = ExtractString(data, ""," math",true); 433 | data_countMath = int.Parse(temp); 434 | data = data.Replace(data_countMath+" math, ",""); 435 | 436 | //register count 437 | if(data.Contains("temp registers")) 438 | { 439 | temp = ExtractString(data, ""," temp registers",true); 440 | data_countTmpReg = int.Parse(temp); 441 | data = data.Replace(data_countTmpReg+" temp registers, ",""); 442 | } 443 | 444 | //textures count 445 | if(data.Contains("textures")) 446 | { 447 | temp = ExtractString(data, ""," textures",true); 448 | data_countTextures = int.Parse(temp); 449 | data = data.Replace(data_countTextures+" textures, ",""); 450 | } 451 | 452 | //branch count 453 | if(data.Contains("branches")) 454 | { 455 | temp = ExtractString(data, ""," branches",true); 456 | data_countBranches = int.Parse(temp); 457 | } 458 | 459 | //Pack into struct 460 | VariantCompileStat newData = new VariantCompileStat(); 461 | newData.subshaderID = data_subshaderID; 462 | newData.passID = data_passID; 463 | newData.passName = data_passName; 464 | newData.variant = data_variant; 465 | newData.countMath = data_countMath; 466 | newData.countTmpReg = data_countTmpReg; 467 | newData.countBranches = data_countBranches; 468 | newData.countTextures = data_countTextures; 469 | sList.Add(newData); 470 | } 471 | 472 | //STATS for PASS (SUMMARY OF PASS) 473 | else if(currentLine.Contains("// Stats for ")) 474 | { 475 | // Stats for Vertex shader: 476 | // d3d11: 9 math 477 | // Stats for Fragment shader: 478 | // d3d11: 0 math, 1 texture 479 | 480 | string summary = ""; 481 | summary += currentLine + "\n"; 482 | currentLine = sr.ReadLine(); 483 | summary += currentLine + "\n"; 484 | 485 | //Summary comes before the pass, i.e. Subshader > summary > Pass, so this ID is offset by 1. 486 | //Offset compensates in ShowData() 487 | int pListID = pList.Count-1; 488 | var temp = pList[pListID]; 489 | temp.summary += summary; 490 | pList[pListID] = temp; 491 | } 492 | } 493 | } 494 | } 495 | 496 | //Add options to Subshader/Pass menu list 497 | foreach(SubShaderPass pData in pList) 498 | { 499 | if(pData.passID == -1) 500 | { 501 | //Subshader 502 | pListMenu.Add("Subshader: "+pData.subshaderID); 503 | } 504 | else 505 | { 506 | //Pass 507 | pListMenu.Add("Subshader: "+pData.subshaderID+" > Pass: "+pData.passName); 508 | } 509 | } 510 | } 511 | 512 | //==========HELPER=========== 513 | private static string ExtractString(string line, string from, string to, bool takeLastIndexOfTo = true) 514 | { 515 | int pFrom = 0; 516 | if(from != "") 517 | { 518 | int index = line.IndexOf(from); 519 | if(index >= 0) pFrom = index + from.Length; 520 | } 521 | 522 | int pTo = line.Length; 523 | if(to != "") 524 | { 525 | int index = line.LastIndexOf(to); 526 | if(!takeLastIndexOfTo) 527 | { 528 | index = line.IndexOf(to); 529 | } 530 | 531 | if(index >= 0) pTo = index; 532 | } 533 | 534 | return line.Substring(pFrom, pTo - pFrom); 535 | } 536 | } 537 | } 538 | 539 | 540 | 541 | -------------------------------------------------------------------------------- /Assets/Editor/Read_Compiled_Shader_Tool/ReadCompiledShaderTool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9190b198980a22645941ce3e9c572535 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/RenameObjectsTool.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using System; 4 | 5 | public class RenameObjectsTool : EditorWindow 6 | { 7 | Vector2 scrollPosition; 8 | 9 | string prefix; 10 | string suffix; 11 | string replace; 12 | string replace_By; 13 | string insert_Before; 14 | string insert_Before_Word; 15 | string insert_After; 16 | string insert_After_Word; 17 | 18 | [MenuItem("Window/RenameObjectsTool")] 19 | public static void ShowWindow () 20 | { 21 | GetWindow(typeof(RenameObjectsTool)); 22 | } 23 | 24 | void OnGUI () 25 | { 26 | //*************** 27 | scrollPosition = GUILayout.BeginScrollView(scrollPosition,GUILayout.Width(0),GUILayout.Height(0)); 28 | //*************** 29 | 30 | //Title 31 | GUI.color = Color.cyan; 32 | GUILayout.Label ("RenameObjectsTool", EditorStyles.boldLabel); 33 | EditorGUILayout.LabelField("Select objects in Hierarchy or ProjectView", EditorStyles.miniLabel); 34 | GUI.color = Color.white; 35 | 36 | //Body 37 | prefix = EditorGUILayout.TextField("Add Prefix", prefix); 38 | suffix = EditorGUILayout.TextField("Add Suffix", suffix); 39 | GUILayout.Space (10); 40 | replace = EditorGUILayout.TextField("Replace Text", replace); 41 | replace_By = EditorGUILayout.TextField("Replace By", replace_By); 42 | GUILayout.Space (10); 43 | insert_Before = EditorGUILayout.TextField("Insert Before Text", insert_Before); 44 | insert_Before_Word = EditorGUILayout.TextField("Insert Before By", insert_Before_Word); 45 | GUILayout.Space (10); 46 | insert_After = EditorGUILayout.TextField("Insert After Text", insert_After); 47 | insert_After_Word = EditorGUILayout.TextField("Insert After By", insert_After_Word); 48 | GUILayout.Space (10); 49 | if (GUILayout.Button ("Change Names")) 50 | ChangeObjNames(); 51 | GUILayout.Space (30); 52 | 53 | //*************** 54 | GUILayout.EndScrollView(); 55 | //*************** 56 | } 57 | 58 | void ChangeObjNames() 59 | { 60 | UnityEngine.Object[] list = Selection.objects; 61 | Debug.Log("Selected" + list.Length); 62 | foreach (UnityEngine.Object go in list) 63 | { 64 | string newName = Rename(go.name); 65 | go.name = newName; //This will work for hierarchy objects 66 | string path = AssetDatabase.GetAssetPath(go); 67 | AssetDatabase.RenameAsset(path,newName); //This will work for ProjectView files 68 | } 69 | AssetDatabase.Refresh(); 70 | } 71 | 72 | private string Rename(string input) 73 | { 74 | string output = input; 75 | output = prefix+output+suffix; 76 | if(replace != null && replace != "") output = output.Replace(replace,replace_By); 77 | if(insert_Before != null && insert_Before != "") output = output.Insert(output.IndexOf(insert_Before),insert_Before_Word); 78 | if(insert_After != null && insert_After != "") output = output.Insert(output.IndexOf(insert_After)+insert_After.Length,insert_After_Word); 79 | 80 | return output; 81 | } 82 | 83 | } -------------------------------------------------------------------------------- /Assets/Editor/RenameObjectsTool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82815006cbca74742b67de00addcdefb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/SaveObjectAndNullPathImage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | #if UNITY_EDITOR 4 | using UnityEditor; 5 | using UnityEngine.UI; 6 | #endif 7 | using UnityEngine; 8 | 9 | // Use this tool to save a prefab to Asset folder together 10 | // with the images that is loaded on UI Image/RawImage components, 11 | // which the images are downloaded that they only exist in memory. 12 | 13 | // This is useful if you want to isolate some assets for debugging purposes, 14 | // that you don't want to complicate the project with setting up the downloading of the images 15 | // just for reproduce an unrelated bug. 16 | 17 | public class SaveObjectAndNullPathImage 18 | { 19 | #if UNITY_EDITOR 20 | [MenuItem("Test/SaveAsset")] 21 | public static void SaveAsset() 22 | { 23 | var selected = Selection.activeObject as GameObject; 24 | 25 | var allImage = selected.GetComponentsInChildren(); 26 | foreach (var img in allImage) 27 | { 28 | if (img.sprite != null) 29 | { 30 | string path = AssetDatabase.GetAssetPath(img.sprite); 31 | if (path == "") 32 | { 33 | AssetDatabase.CreateAsset(img.sprite, "Assets/_CMWTest/SaveAsset/" + img.sprite.name + ".asset"); 34 | } 35 | } 36 | } 37 | 38 | var allRawImage = selected.GetComponentsInChildren(); 39 | foreach (var img in allRawImage) 40 | { 41 | if (img.texture != null) 42 | { 43 | string path = AssetDatabase.GetAssetPath(img.texture); 44 | if (path == "") 45 | { 46 | AssetDatabase.CreateAsset(img.texture, "Assets/_CMWTest/SaveAsset/" + img.texture.name + ".asset"); 47 | } 48 | } 49 | } 50 | 51 | Debug.Log(selected.name); 52 | bool prefabSuccess; 53 | string localPath = "Assets/_CMWTest/SaveAsset/" + selected.name + ".prefab"; 54 | PrefabUtility.SaveAsPrefabAsset(selected, localPath, out prefabSuccess); 55 | Debug.Log(localPath+ " = " +prefabSuccess); 56 | } 57 | #endif 58 | 59 | } 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /Assets/Editor/ScenesThatContainThis.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | using UnityEngine.SceneManagement; 4 | using System.Collections.Generic; 5 | using System; 6 | using Object = UnityEngine.Object; 7 | using System.Linq; 8 | using UnityEditor.SceneManagement; 9 | 10 | public class ScenesThatContainThis : EditorWindow 11 | { 12 | private string msg = ""; 13 | private MonoScript searchType; 14 | private Dictionary result = new Dictionary(); 15 | 16 | [MenuItem("Window/ScenesThatContainThis")] 17 | public static void ShowWindow () 18 | { 19 | EditorWindow.GetWindow (typeof(ScenesThatContainThis)); 20 | } 21 | 22 | public void Update() 23 | { 24 | Repaint(); 25 | } 26 | 27 | void OnGUI () 28 | { 29 | GUIStyle labelStyle = new GUIStyle(GUI.skin.label); 30 | labelStyle.wordWrap = true; 31 | labelStyle.richText = true; 32 | 33 | GUIStyle buttonStyle = new GUIStyle(GUI.skin.button); 34 | buttonStyle.wordWrap = true; 35 | buttonStyle.richText = true; 36 | buttonStyle.alignment = TextAnchor.MiddleLeft; 37 | 38 | GUI.color = Color.cyan; 39 | GUILayout.Label ("Scenes that contain objects that are using this script:", EditorStyles.boldLabel); 40 | 41 | searchType = (MonoScript)EditorGUILayout.ObjectField("Assign a script",searchType, typeof(MonoScript), false); 42 | 43 | GUI.color = Color.white; 44 | GUILayout.Space(15); 45 | 46 | //Button 47 | if (GUILayout.Button ("Let's check") && searchType != null) DoJob(); 48 | 49 | GUILayout.Space(15); 50 | 51 | //Result 52 | GUILayout.Label (msg, labelStyle); 53 | if(result.Count>0) 54 | { 55 | for( int i=0; i"+objcount + " objects"+"",buttonStyle)) 61 | { 62 | OpenScene(scenepath); 63 | } 64 | } 65 | GUI.color = Color.cyan; 66 | if (GUILayout.Button ("Remove component from all the scenes")) RemoveComponent(); 67 | GUI.color = Color.white; 68 | } 69 | 70 | GUILayout.Space(15); 71 | } 72 | 73 | void DoJob() 74 | { 75 | GUI.color = Color.white; 76 | msg = "Search for : "+searchType.GetClass().ToString()+""+"\n"; 77 | 78 | //Get all the scenes in project 79 | var scenesGUIDs = AssetDatabase.FindAssets("t:Scene",new[] {"Assets/"}); 80 | msg += "Search in : "+scenesGUIDs.Length+" scenes"+"\n"; 81 | 82 | if(result == null) result = new Dictionary(); 83 | result.Clear(); 84 | for(int i=0; i 0) 95 | { 96 | result.Add(scenePath,subsceneObjs.Length); 97 | } 98 | } 99 | 100 | msg += "Result : "+result.Count+" scenes"+"\n"; 101 | msg +="\n"; 102 | } 103 | 104 | void RemoveComponent() 105 | { 106 | for( int i=0; i"; 58 | } 59 | 60 | } -------------------------------------------------------------------------------- /Assets/Editor/ScreenCaptureEditorTool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d5d78369adc0a0498eb6ac030dc5af6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Editor/ShaderVariantTool.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b7066f5a5c983c841bd8f56163aee2f2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Editor/ShaderVariantTool/README.md: -------------------------------------------------------------------------------- 1 | # ShaderVariantTool 2 | Tool is moved to a new repo: https://github.com/cinight/ShaderVariantTool 3 | -------------------------------------------------------------------------------- /Assets/Editor/ShaderVariantTool/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63d73fcd3309bbc45b52ec908b0d7495 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Editor/StrippingExample_Shader.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEditor.Build; 3 | using UnityEditor.Rendering; 4 | using UnityEngine; 5 | using UnityEngine.Rendering; 6 | 7 | class StrippingExample_Shader : IPreprocessShaders 8 | { 9 | public StrippingExample_Shader() 10 | { 11 | 12 | } 13 | 14 | public int callbackOrder { get { return 0; } } 15 | public void OnProcessShader(Shader shader, ShaderSnippetData snippet, IList data) 16 | { 17 | for (int i = 0; i < data.Count; ++i) 18 | { 19 | //Get a string of keywords 20 | string variantText = ""; 21 | foreach(ShaderKeyword s in data[i].shaderKeywordSet.GetShaderKeywords()) 22 | { 23 | variantText += " " +s.name; 24 | } 25 | 26 | bool wantToStrip = false; 27 | 28 | //Only stripping specific shader's specific keyword 29 | if( 30 | shader.name == "Test/MyShader" && variantText.Contains("_USELESSKEYWORD") 31 | ) 32 | { 33 | wantToStrip = true; 34 | } 35 | 36 | if ( wantToStrip ) 37 | { 38 | //Strip the variant 39 | data.RemoveAt(i); 40 | --i; 41 | } 42 | } 43 | } 44 | } 45 | 46 | //============================== 47 | 48 | class StrippingExample_ComputeShader : IPreprocessComputeShaders 49 | { 50 | public StrippingExample_ComputeShader() 51 | { 52 | 53 | } 54 | 55 | public int callbackOrder { get { return 0; } } 56 | public void OnProcessComputeShader(ComputeShader shader, string kernelName, IList data) 57 | { 58 | for (int i = 0; i < data.Count; ++i) 59 | { 60 | //Get a string of keywords 61 | string variantText = ""; 62 | foreach(ShaderKeyword s in data[i].shaderKeywordSet.GetShaderKeywords()) 63 | { 64 | variantText += " " +s.name; 65 | } 66 | 67 | bool wantToStrip = false; 68 | 69 | //Only stripping specific shader's specific keyword 70 | if( 71 | shader.name == "Test/MyShader" && variantText.Contains("_USELESSKEYWORD") 72 | ) 73 | { 74 | wantToStrip = true; 75 | } 76 | 77 | if ( wantToStrip ) 78 | { 79 | //Strip the variant 80 | data.RemoveAt(i); 81 | --i; 82 | } 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /Assets/Editor/StrippingExample_Shader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad5abeeea4415ea42a84adbda01fd452 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/FrameRenderingTime.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEngine.Rendering; 3 | 4 | public class FrameRenderingTime : MonoBehaviour 5 | { 6 | private double time = 0; 7 | 8 | void Start() 9 | { 10 | RenderPipelineManager.beginFrameRendering += OnBeginFrameRendering; 11 | RenderPipelineManager.endFrameRendering += OnEndFrameRendering; 12 | } 13 | 14 | void OnBeginFrameRendering(ScriptableRenderContext context, Camera[] cameras) 15 | { 16 | time = Time.realtimeSinceStartupAsDouble; 17 | } 18 | 19 | void OnEndFrameRendering(ScriptableRenderContext context, Camera[] cameras) 20 | { 21 | double renderFrameTime = Time.realtimeSinceStartupAsDouble - time; 22 | 23 | renderFrameTime *= 1000.0f; //ms 24 | string fst = System.String.Format("{0:F2}ms / " , renderFrameTime); 25 | Debug.Log("renderFrameTime: "+fst+" realtimeSinceStartupAsDouble "+time); 26 | } 27 | 28 | void OnDestroy() 29 | { 30 | RenderPipelineManager.beginFrameRendering -= OnBeginFrameRendering; 31 | RenderPipelineManager.endFrameRendering -= OnEndFrameRendering; 32 | } 33 | } -------------------------------------------------------------------------------- /Assets/SimpleSceneSwitch.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEngine.SceneManagement; 5 | 6 | public class SimpleSceneSwitch : MonoBehaviour 7 | { 8 | public float scale = 1f; 9 | 10 | private int fontSize = 16; 11 | private GUIStyle customButton; 12 | private float w = 0; 13 | private float h = 0; 14 | 15 | public void Awake() 16 | { 17 | DontDestroyOnLoad(this.gameObject); 18 | } 19 | 20 | public void Start() 21 | { 22 | //Setup styles 23 | fontSize = Mathf.RoundToInt ( 16 * scale ); 24 | customButton = new GUIStyle("button"); 25 | customButton.fontSize = fontSize; 26 | w = 410 * scale; 27 | h = 90 * scale; 28 | 29 | NextScene(); 30 | } 31 | 32 | public void Update() 33 | { 34 | if (Input.GetKeyUp(KeyCode.PageUp)) 35 | { 36 | NextScene(); 37 | } 38 | else if (Input.GetKeyUp(KeyCode.PageDown)) 39 | { 40 | PrevScene(); 41 | } 42 | } 43 | 44 | void OnGUI() 45 | { 46 | GUI.skin.label.fontSize = fontSize; 47 | GUI.color = new Color(1, 1, 1, 1); 48 | GUILayout.BeginArea(new Rect(Screen.width - w -5, Screen.height - h -5, w, h), GUI.skin.box); 49 | 50 | GUILayout.BeginHorizontal(); 51 | if(GUILayout.Button("\n Prev \n",customButton,GUILayout.Width(200 * scale), GUILayout.Height(50 * scale))) PrevScene(); 52 | if(GUILayout.Button("\n Next \n",customButton,GUILayout.Width(200 * scale), GUILayout.Height(50 * scale))) NextScene(); 53 | GUILayout.EndHorizontal(); 54 | 55 | int currentpage = SceneManager.GetActiveScene().buildIndex; 56 | int totalpages = SceneManager.sceneCountInBuildSettings-1; 57 | GUILayout.Label( currentpage + " / " + totalpages + " " + SceneManager.GetActiveScene().name ); 58 | 59 | GUILayout.EndArea(); 60 | } 61 | 62 | public void NextScene() 63 | { 64 | int sceneIndex = SceneManager.GetActiveScene().buildIndex; 65 | 66 | if (sceneIndex < SceneManager.sceneCountInBuildSettings - 1) 67 | SceneManager.LoadScene(sceneIndex + 1); 68 | else 69 | SceneManager.LoadScene(1); 70 | } 71 | 72 | public void PrevScene() 73 | { 74 | int sceneIndex = SceneManager.GetActiveScene().buildIndex; 75 | 76 | if (sceneIndex > 1) 77 | SceneManager.LoadScene(sceneIndex - 1); 78 | else 79 | SceneManager.LoadScene(SceneManager.sceneCountInBuildSettings - 1); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /Assets/SimpleSceneSwitch.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8c3d04ff6c78e54dbd8b312313c0e5c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/UsefulResource.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eab98c64b40768847a5031e3ea8104c9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UsefulResource/CubeBlend.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/Assets/UsefulResource/CubeBlend.fbx -------------------------------------------------------------------------------- /Assets/UsefulResource/CubeBlend.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 984f3cd550320f845a97bb04c2373300 3 | ModelImporter: 4 | serializedVersion: 19300 5 | internalIDToNameTable: [] 6 | externalObjects: {} 7 | materials: 8 | materialImportMode: 1 9 | materialName: 0 10 | materialSearch: 1 11 | materialLocation: 1 12 | animations: 13 | legacyGenerateAnimations: 4 14 | bakeSimulation: 0 15 | resampleCurves: 1 16 | optimizeGameObjects: 0 17 | motionNodeName: 18 | rigImportErrors: 19 | rigImportWarnings: 20 | animationImportErrors: 21 | animationImportWarnings: 22 | animationRetargetingWarnings: 23 | animationDoRetargetingWarnings: 0 24 | importAnimatedCustomProperties: 0 25 | importConstraints: 0 26 | animationCompression: 1 27 | animationRotationError: 0.5 28 | animationPositionError: 0.5 29 | animationScaleError: 0.5 30 | animationWrapMode: 0 31 | extraExposedTransformPaths: [] 32 | extraUserProperties: [] 33 | clipAnimations: [] 34 | isReadable: 0 35 | meshes: 36 | lODScreenPercentages: [] 37 | globalScale: 1 38 | meshCompression: 0 39 | addColliders: 0 40 | useSRGBMaterialColor: 1 41 | sortHierarchyByName: 1 42 | importVisibility: 1 43 | importBlendShapes: 1 44 | importCameras: 1 45 | importLights: 1 46 | swapUVChannels: 0 47 | generateSecondaryUV: 0 48 | useFileUnits: 1 49 | keepQuads: 0 50 | weldVertices: 1 51 | preserveHierarchy: 0 52 | skinWeightsMode: 0 53 | maxBonesPerVertex: 4 54 | minBoneWeight: 0.001 55 | meshOptimizationFlags: -1 56 | indexFormat: 0 57 | secondaryUVAngleDistortion: 8 58 | secondaryUVAreaDistortion: 15.000001 59 | secondaryUVHardAngle: 88 60 | secondaryUVPackMargin: 4 61 | useFileScale: 1 62 | tangentSpace: 63 | normalSmoothAngle: 60 64 | normalImportMode: 0 65 | tangentImportMode: 3 66 | normalCalculationMode: 4 67 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 68 | blendShapeNormalImportMode: 1 69 | normalSmoothingSource: 0 70 | referencedClips: [] 71 | importAnimation: 1 72 | humanDescription: 73 | serializedVersion: 3 74 | human: [] 75 | skeleton: [] 76 | armTwist: 0.5 77 | foreArmTwist: 0.5 78 | upperLegTwist: 0.5 79 | legTwist: 0.5 80 | armStretch: 0.05 81 | legStretch: 0.05 82 | feetSpacing: 0 83 | globalScale: 1 84 | rootMotionBoneName: 85 | hasTranslationDoF: 0 86 | hasExtraRoot: 0 87 | skeletonHasParents: 1 88 | lastHumanDescriptionAvatarSource: {instanceID: 0} 89 | autoGenerateAvatarMappingIfUnspecified: 1 90 | animationType: 2 91 | humanoidOversampling: 1 92 | avatarSetup: 0 93 | additionalBone: 0 94 | userData: 95 | assetBundleName: 96 | assetBundleVariant: 97 | -------------------------------------------------------------------------------- /Assets/UsefulResource/CubeSkinned.FBX: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/Assets/UsefulResource/CubeSkinned.FBX -------------------------------------------------------------------------------- /Assets/UsefulResource/CubeSkinned.FBX.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9b768d508745c304f9e7e6dea9d5882b 3 | ModelImporter: 4 | serializedVersion: 19300 5 | internalIDToNameTable: [] 6 | externalObjects: {} 7 | materials: 8 | materialImportMode: 1 9 | materialName: 0 10 | materialSearch: 1 11 | materialLocation: 1 12 | animations: 13 | legacyGenerateAnimations: 4 14 | bakeSimulation: 0 15 | resampleCurves: 1 16 | optimizeGameObjects: 0 17 | motionNodeName: 18 | rigImportErrors: 19 | rigImportWarnings: 20 | animationImportErrors: 21 | animationImportWarnings: 22 | animationRetargetingWarnings: 23 | animationDoRetargetingWarnings: 0 24 | importAnimatedCustomProperties: 0 25 | importConstraints: 0 26 | animationCompression: 3 27 | animationRotationError: 0.5 28 | animationPositionError: 0.5 29 | animationScaleError: 0.5 30 | animationWrapMode: 0 31 | extraExposedTransformPaths: [] 32 | extraUserProperties: [] 33 | clipAnimations: [] 34 | isReadable: 0 35 | meshes: 36 | lODScreenPercentages: [] 37 | globalScale: 1 38 | meshCompression: 0 39 | addColliders: 0 40 | useSRGBMaterialColor: 1 41 | sortHierarchyByName: 1 42 | importVisibility: 1 43 | importBlendShapes: 1 44 | importCameras: 1 45 | importLights: 1 46 | swapUVChannels: 0 47 | generateSecondaryUV: 0 48 | useFileUnits: 1 49 | keepQuads: 0 50 | weldVertices: 1 51 | preserveHierarchy: 0 52 | skinWeightsMode: 0 53 | maxBonesPerVertex: 4 54 | minBoneWeight: 0.001 55 | meshOptimizationFlags: -1 56 | indexFormat: 0 57 | secondaryUVAngleDistortion: 8 58 | secondaryUVAreaDistortion: 15.000001 59 | secondaryUVHardAngle: 88 60 | secondaryUVPackMargin: 4 61 | useFileScale: 1 62 | tangentSpace: 63 | normalSmoothAngle: 60 64 | normalImportMode: 0 65 | tangentImportMode: 3 66 | normalCalculationMode: 4 67 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 68 | blendShapeNormalImportMode: 1 69 | normalSmoothingSource: 0 70 | referencedClips: [] 71 | importAnimation: 1 72 | humanDescription: 73 | serializedVersion: 3 74 | human: [] 75 | skeleton: 76 | - name: CubeSkinned(Clone) 77 | parentName: 78 | position: {x: 0, y: 0, z: 0} 79 | rotation: {x: 0, y: 0, z: 0, w: 1} 80 | scale: {x: 1, y: 1, z: 1} 81 | - name: Box001 82 | parentName: CubeSkinned(Clone) 83 | position: {x: -0, y: 0, z: 0} 84 | rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} 85 | scale: {x: 1, y: 1, z: 1} 86 | - name: Bone001 87 | parentName: CubeSkinned(Clone) 88 | position: {x: -0, y: 0, z: 0} 89 | rotation: {x: -0.7071068, y: -0.00000012363449, z: -1.244678e-21, w: 0.7071068} 90 | scale: {x: 1, y: 1, z: 1} 91 | armTwist: 0.5 92 | foreArmTwist: 0.5 93 | upperLegTwist: 0.5 94 | legTwist: 0.5 95 | armStretch: 0.05 96 | legStretch: 0.05 97 | feetSpacing: 0 98 | globalScale: 1 99 | rootMotionBoneName: 100 | hasTranslationDoF: 0 101 | hasExtraRoot: 1 102 | skeletonHasParents: 1 103 | lastHumanDescriptionAvatarSource: {instanceID: 0} 104 | autoGenerateAvatarMappingIfUnspecified: 1 105 | animationType: 2 106 | humanoidOversampling: 1 107 | avatarSetup: 0 108 | additionalBone: 0 109 | userData: 110 | assetBundleName: 111 | assetBundleVariant: 112 | -------------------------------------------------------------------------------- /Assets/UsefulResource/CubeSkinnedMAX.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/Assets/UsefulResource/CubeSkinnedMAX.max -------------------------------------------------------------------------------- /Assets/UsefulResource/CubeSkinnedMAX.max.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5e3bcd8f2860924ea6956aba9b402d1 3 | ModelImporter: 4 | serializedVersion: 19300 5 | internalIDToNameTable: [] 6 | externalObjects: {} 7 | materials: 8 | materialImportMode: 1 9 | materialName: 0 10 | materialSearch: 1 11 | materialLocation: 1 12 | animations: 13 | legacyGenerateAnimations: 4 14 | bakeSimulation: 0 15 | resampleCurves: 1 16 | optimizeGameObjects: 0 17 | motionNodeName: 18 | rigImportErrors: 19 | rigImportWarnings: 20 | animationImportErrors: 21 | animationImportWarnings: 22 | animationRetargetingWarnings: 23 | animationDoRetargetingWarnings: 0 24 | importAnimatedCustomProperties: 0 25 | importConstraints: 0 26 | animationCompression: 1 27 | animationRotationError: 0.5 28 | animationPositionError: 0.5 29 | animationScaleError: 0.5 30 | animationWrapMode: 0 31 | extraExposedTransformPaths: [] 32 | extraUserProperties: [] 33 | clipAnimations: [] 34 | isReadable: 0 35 | meshes: 36 | lODScreenPercentages: [] 37 | globalScale: 1 38 | meshCompression: 0 39 | addColliders: 0 40 | useSRGBMaterialColor: 1 41 | sortHierarchyByName: 1 42 | importVisibility: 1 43 | importBlendShapes: 1 44 | importCameras: 1 45 | importLights: 1 46 | swapUVChannels: 0 47 | generateSecondaryUV: 0 48 | useFileUnits: 1 49 | keepQuads: 0 50 | weldVertices: 1 51 | preserveHierarchy: 0 52 | skinWeightsMode: 0 53 | maxBonesPerVertex: 4 54 | minBoneWeight: 0.001 55 | meshOptimizationFlags: -1 56 | indexFormat: 0 57 | secondaryUVAngleDistortion: 8 58 | secondaryUVAreaDistortion: 15.000001 59 | secondaryUVHardAngle: 88 60 | secondaryUVPackMargin: 4 61 | useFileScale: 1 62 | tangentSpace: 63 | normalSmoothAngle: 60 64 | normalImportMode: 0 65 | tangentImportMode: 3 66 | normalCalculationMode: 4 67 | legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 68 | blendShapeNormalImportMode: 1 69 | normalSmoothingSource: 0 70 | referencedClips: [] 71 | importAnimation: 1 72 | humanDescription: 73 | serializedVersion: 3 74 | human: [] 75 | skeleton: [] 76 | armTwist: 0.5 77 | foreArmTwist: 0.5 78 | upperLegTwist: 0.5 79 | legTwist: 0.5 80 | armStretch: 0.05 81 | legStretch: 0.05 82 | feetSpacing: 0 83 | globalScale: 1 84 | rootMotionBoneName: 85 | hasTranslationDoF: 0 86 | hasExtraRoot: 0 87 | skeletonHasParents: 1 88 | lastHumanDescriptionAvatarSource: {instanceID: 0} 89 | autoGenerateAvatarMappingIfUnspecified: 1 90 | animationType: 2 91 | humanoidOversampling: 1 92 | avatarSetup: 0 93 | additionalBone: 0 94 | userData: 95 | assetBundleName: 96 | assetBundleVariant: 97 | -------------------------------------------------------------------------------- /Assets/UsefulResource/UsefulResource.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a5d91a6d8400e0140b84dec148da8e22 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/UsefulResource/normalEXR.exr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/Assets/UsefulResource/normalEXR.exr -------------------------------------------------------------------------------- /Assets/UsefulResource/normalEXR.exr.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c00bf685d22728a4c8cc6d69694f525c 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 0 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 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: 1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 1 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | - serializedVersion: 3 74 | buildTarget: Standalone 75 | maxTextureSize: 2048 76 | resizeAlgorithm: 0 77 | textureFormat: -1 78 | textureCompression: 0 79 | compressionQuality: 50 80 | crunchedCompression: 0 81 | allowsAlphaSplitting: 0 82 | overridden: 0 83 | androidETC2FallbackOverride: 0 84 | forceMaximumCompressionQuality_BC6H_BC7: 0 85 | spriteSheet: 86 | serializedVersion: 2 87 | sprites: [] 88 | outline: [] 89 | physicsShape: [] 90 | bones: [] 91 | spriteID: 92 | internalID: 0 93 | vertices: [] 94 | indices: 95 | edges: [] 96 | weights: [] 97 | secondaryTextures: [] 98 | spritePackingTag: 99 | pSDRemoveMatte: 0 100 | pSDShowRemoveMatteOption: 0 101 | userData: 102 | assetBundleName: 103 | assetBundleVariant: 104 | -------------------------------------------------------------------------------- /Assets/UsefulResource/normalEXR.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: normalEXR 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _NORMALMAP 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 2800000, guid: c00bf685d22728a4c8cc6d69694f525c, type: 3} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/UsefulResource/normalEXR.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9e574fe828fbae418eb81f649b86123 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UsefulResource/normalPNG.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: normalPNG 11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 12 | m_ShaderKeywords: _NORMALMAP 13 | m_LightmapFlags: 4 14 | m_EnableInstancingVariants: 0 15 | m_DoubleSidedGI: 0 16 | m_CustomRenderQueue: -1 17 | stringTagMap: {} 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 2800000, guid: 299ecbeed6aaec946a76405094cf1f25, type: 3} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | m_Floats: 59 | - _BumpScale: 1 60 | - _Cutoff: 0.5 61 | - _DetailNormalMapScale: 1 62 | - _DstBlend: 0 63 | - _GlossMapScale: 1 64 | - _Glossiness: 0.5 65 | - _GlossyReflections: 1 66 | - _Metallic: 0 67 | - _Mode: 0 68 | - _OcclusionStrength: 1 69 | - _Parallax: 0.02 70 | - _SmoothnessTextureChannel: 0 71 | - _SpecularHighlights: 1 72 | - _SrcBlend: 1 73 | - _UVSec: 0 74 | - _ZWrite: 1 75 | m_Colors: 76 | - _Color: {r: 1, g: 1, b: 1, a: 1} 77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 78 | -------------------------------------------------------------------------------- /Assets/UsefulResource/normalPNG.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1029017813717644681643fa1349b3fe 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/UsefulResource/normalPNG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/Assets/UsefulResource/normalPNG.png -------------------------------------------------------------------------------- /Assets/UsefulResource/normalPNG.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 299ecbeed6aaec946a76405094cf1f25 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 0 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 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 1 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 0 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | - serializedVersion: 3 74 | buildTarget: Standalone 75 | maxTextureSize: 2048 76 | resizeAlgorithm: 0 77 | textureFormat: -1 78 | textureCompression: 0 79 | compressionQuality: 50 80 | crunchedCompression: 0 81 | allowsAlphaSplitting: 0 82 | overridden: 0 83 | androidETC2FallbackOverride: 0 84 | forceMaximumCompressionQuality_BC6H_BC7: 0 85 | spriteSheet: 86 | serializedVersion: 2 87 | sprites: [] 88 | outline: [] 89 | physicsShape: [] 90 | bones: [] 91 | spriteID: 92 | internalID: 0 93 | vertices: [] 94 | indices: 95 | edges: [] 96 | weights: [] 97 | secondaryTextures: [] 98 | spritePackingTag: 99 | pSDRemoveMatte: 0 100 | pSDShowRemoveMatteOption: 0 101 | userData: 102 | assetBundleName: 103 | assetBundleVariant: 104 | -------------------------------------------------------------------------------- /Assets/_Temp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c68f3a6a411f1a43b610eb033bd7c6b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/_Temp/Animation.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &3 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 11 47 | m_GIWorkflowMode: 1 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 0 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 1 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 1 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 512 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 256 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 1 83 | m_PVRDenoiserTypeDirect: 1 84 | m_PVRDenoiserTypeIndirect: 1 85 | m_PVRDenoiserTypeAO: 1 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 1 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ExportTrainingData: 0 98 | m_TrainingDataDestination: TrainingData 99 | m_LightProbeSampleCountMultiplier: 4 100 | m_LightingDataAsset: {fileID: 0} 101 | m_UseShadowmask: 1 102 | --- !u!196 &4 103 | NavMeshSettings: 104 | serializedVersion: 2 105 | m_ObjectHideFlags: 0 106 | m_BuildSettings: 107 | serializedVersion: 2 108 | agentTypeID: 0 109 | agentRadius: 0.5 110 | agentHeight: 2 111 | agentSlope: 45 112 | agentClimb: 0.4 113 | ledgeDropHeight: 0 114 | maxJumpAcrossDistance: 0 115 | minRegionArea: 2 116 | manualCellSize: 0 117 | cellSize: 0.16666667 118 | manualTileSize: 0 119 | tileSize: 256 120 | accuratePlacement: 0 121 | debug: 122 | m_Flags: 0 123 | m_NavMeshData: {fileID: 0} 124 | --- !u!1 &107093222 125 | GameObject: 126 | m_ObjectHideFlags: 0 127 | m_CorrespondingSourceObject: {fileID: 0} 128 | m_PrefabInstance: {fileID: 0} 129 | m_PrefabAsset: {fileID: 0} 130 | serializedVersion: 6 131 | m_Component: 132 | - component: {fileID: 107093225} 133 | - component: {fileID: 107093224} 134 | - component: {fileID: 107093223} 135 | m_Layer: 0 136 | m_Name: Main Camera 137 | m_TagString: MainCamera 138 | m_Icon: {fileID: 0} 139 | m_NavMeshLayer: 0 140 | m_StaticEditorFlags: 0 141 | m_IsActive: 1 142 | --- !u!81 &107093223 143 | AudioListener: 144 | m_ObjectHideFlags: 0 145 | m_CorrespondingSourceObject: {fileID: 0} 146 | m_PrefabInstance: {fileID: 0} 147 | m_PrefabAsset: {fileID: 0} 148 | m_GameObject: {fileID: 107093222} 149 | m_Enabled: 1 150 | --- !u!20 &107093224 151 | Camera: 152 | m_ObjectHideFlags: 0 153 | m_CorrespondingSourceObject: {fileID: 0} 154 | m_PrefabInstance: {fileID: 0} 155 | m_PrefabAsset: {fileID: 0} 156 | m_GameObject: {fileID: 107093222} 157 | m_Enabled: 1 158 | serializedVersion: 2 159 | m_ClearFlags: 1 160 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 161 | m_projectionMatrixMode: 1 162 | m_GateFitMode: 2 163 | m_FOVAxisMode: 0 164 | m_SensorSize: {x: 36, y: 24} 165 | m_LensShift: {x: 0, y: 0} 166 | m_FocalLength: 50 167 | m_NormalizedViewPortRect: 168 | serializedVersion: 2 169 | x: 0 170 | y: 0 171 | width: 1 172 | height: 1 173 | near clip plane: 0.3 174 | far clip plane: 1000 175 | field of view: 60 176 | orthographic: 0 177 | orthographic size: 5 178 | m_Depth: -1 179 | m_CullingMask: 180 | serializedVersion: 2 181 | m_Bits: 4294967295 182 | m_RenderingPath: -1 183 | m_TargetTexture: {fileID: 0} 184 | m_TargetDisplay: 0 185 | m_TargetEye: 3 186 | m_HDR: 1 187 | m_AllowMSAA: 1 188 | m_AllowDynamicResolution: 0 189 | m_ForceIntoRT: 0 190 | m_OcclusionCulling: 1 191 | m_StereoConvergence: 10 192 | m_StereoSeparation: 0.022 193 | --- !u!4 &107093225 194 | Transform: 195 | m_ObjectHideFlags: 0 196 | m_CorrespondingSourceObject: {fileID: 0} 197 | m_PrefabInstance: {fileID: 0} 198 | m_PrefabAsset: {fileID: 0} 199 | m_GameObject: {fileID: 107093222} 200 | m_LocalRotation: {x: -0.18252374, y: -0.31324226, z: 0.06147661, w: -0.92993826} 201 | m_LocalPosition: {x: 5.0624657, y: 1.2382435, z: -1.9448739} 202 | m_LocalScale: {x: 1, y: 1, z: 1} 203 | m_Children: [] 204 | m_Father: {fileID: 0} 205 | m_RootOrder: 0 206 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 207 | --- !u!1 &213324152 208 | GameObject: 209 | m_ObjectHideFlags: 0 210 | m_CorrespondingSourceObject: {fileID: 0} 211 | m_PrefabInstance: {fileID: 0} 212 | m_PrefabAsset: {fileID: 0} 213 | serializedVersion: 6 214 | m_Component: 215 | - component: {fileID: 213324157} 216 | - component: {fileID: 213324156} 217 | - component: {fileID: 213324155} 218 | - component: {fileID: 213324154} 219 | - component: {fileID: 213324153} 220 | m_Layer: 0 221 | m_Name: Cube 222 | m_TagString: Untagged 223 | m_Icon: {fileID: 0} 224 | m_NavMeshLayer: 0 225 | m_StaticEditorFlags: 0 226 | m_IsActive: 1 227 | --- !u!95 &213324153 228 | Animator: 229 | serializedVersion: 3 230 | m_ObjectHideFlags: 0 231 | m_CorrespondingSourceObject: {fileID: 0} 232 | m_PrefabInstance: {fileID: 0} 233 | m_PrefabAsset: {fileID: 0} 234 | m_GameObject: {fileID: 213324152} 235 | m_Enabled: 1 236 | m_Avatar: {fileID: 0} 237 | m_Controller: {fileID: 9100000, guid: 72ea8c0d45b4b7942b2ffa18b4db9c52, type: 2} 238 | m_CullingMode: 0 239 | m_UpdateMode: 0 240 | m_ApplyRootMotion: 0 241 | m_LinearVelocityBlending: 0 242 | m_WarningMessage: 243 | m_HasTransformHierarchy: 1 244 | m_AllowConstantClipSamplingOptimization: 1 245 | m_KeepAnimatorControllerStateOnDisable: 0 246 | --- !u!65 &213324154 247 | BoxCollider: 248 | m_ObjectHideFlags: 0 249 | m_CorrespondingSourceObject: {fileID: 0} 250 | m_PrefabInstance: {fileID: 0} 251 | m_PrefabAsset: {fileID: 0} 252 | m_GameObject: {fileID: 213324152} 253 | m_Material: {fileID: 0} 254 | m_IsTrigger: 0 255 | m_Enabled: 1 256 | serializedVersion: 2 257 | m_Size: {x: 1, y: 1, z: 1} 258 | m_Center: {x: 0, y: 0, z: 0} 259 | --- !u!23 &213324155 260 | MeshRenderer: 261 | m_ObjectHideFlags: 0 262 | m_CorrespondingSourceObject: {fileID: 0} 263 | m_PrefabInstance: {fileID: 0} 264 | m_PrefabAsset: {fileID: 0} 265 | m_GameObject: {fileID: 213324152} 266 | m_Enabled: 1 267 | m_CastShadows: 1 268 | m_ReceiveShadows: 1 269 | m_DynamicOccludee: 1 270 | m_MotionVectors: 1 271 | m_LightProbeUsage: 1 272 | m_ReflectionProbeUsage: 1 273 | m_RayTracingMode: 2 274 | m_RenderingLayerMask: 1 275 | m_RendererPriority: 0 276 | m_Materials: 277 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 278 | m_StaticBatchInfo: 279 | firstSubMesh: 0 280 | subMeshCount: 0 281 | m_StaticBatchRoot: {fileID: 0} 282 | m_ProbeAnchor: {fileID: 0} 283 | m_LightProbeVolumeOverride: {fileID: 0} 284 | m_ScaleInLightmap: 1 285 | m_ReceiveGI: 1 286 | m_PreserveUVs: 0 287 | m_IgnoreNormalsForChartDetection: 0 288 | m_ImportantGI: 0 289 | m_StitchLightmapSeams: 1 290 | m_SelectedEditorRenderState: 3 291 | m_MinimumChartSize: 4 292 | m_AutoUVMaxDistance: 0.5 293 | m_AutoUVMaxAngle: 89 294 | m_LightmapParameters: {fileID: 0} 295 | m_SortingLayerID: 0 296 | m_SortingLayer: 0 297 | m_SortingOrder: 0 298 | --- !u!33 &213324156 299 | MeshFilter: 300 | m_ObjectHideFlags: 0 301 | m_CorrespondingSourceObject: {fileID: 0} 302 | m_PrefabInstance: {fileID: 0} 303 | m_PrefabAsset: {fileID: 0} 304 | m_GameObject: {fileID: 213324152} 305 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 306 | --- !u!4 &213324157 307 | Transform: 308 | m_ObjectHideFlags: 0 309 | m_CorrespondingSourceObject: {fileID: 0} 310 | m_PrefabInstance: {fileID: 0} 311 | m_PrefabAsset: {fileID: 0} 312 | m_GameObject: {fileID: 213324152} 313 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 314 | m_LocalPosition: {x: 6.66331, y: 0.15800396, z: 0.1617537} 315 | m_LocalScale: {x: 1, y: 1, z: 1} 316 | m_Children: [] 317 | m_Father: {fileID: 0} 318 | m_RootOrder: 2 319 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 320 | --- !u!1 &1900725046 321 | GameObject: 322 | m_ObjectHideFlags: 0 323 | m_CorrespondingSourceObject: {fileID: 0} 324 | m_PrefabInstance: {fileID: 0} 325 | m_PrefabAsset: {fileID: 0} 326 | serializedVersion: 6 327 | m_Component: 328 | - component: {fileID: 1900725048} 329 | - component: {fileID: 1900725047} 330 | m_Layer: 0 331 | m_Name: Directional Light 332 | m_TagString: Untagged 333 | m_Icon: {fileID: 0} 334 | m_NavMeshLayer: 0 335 | m_StaticEditorFlags: 0 336 | m_IsActive: 1 337 | --- !u!108 &1900725047 338 | Light: 339 | m_ObjectHideFlags: 0 340 | m_CorrespondingSourceObject: {fileID: 0} 341 | m_PrefabInstance: {fileID: 0} 342 | m_PrefabAsset: {fileID: 0} 343 | m_GameObject: {fileID: 1900725046} 344 | m_Enabled: 1 345 | serializedVersion: 10 346 | m_Type: 1 347 | m_Shape: 0 348 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 349 | m_Intensity: 1 350 | m_Range: 10 351 | m_SpotAngle: 30 352 | m_InnerSpotAngle: 21.80208 353 | m_CookieSize: 10 354 | m_Shadows: 355 | m_Type: 2 356 | m_Resolution: -1 357 | m_CustomResolution: -1 358 | m_Strength: 1 359 | m_Bias: 0.05 360 | m_NormalBias: 0.4 361 | m_NearPlane: 0.2 362 | m_CullingMatrixOverride: 363 | e00: 1 364 | e01: 0 365 | e02: 0 366 | e03: 0 367 | e10: 0 368 | e11: 1 369 | e12: 0 370 | e13: 0 371 | e20: 0 372 | e21: 0 373 | e22: 1 374 | e23: 0 375 | e30: 0 376 | e31: 0 377 | e32: 0 378 | e33: 1 379 | m_UseCullingMatrixOverride: 0 380 | m_Cookie: {fileID: 0} 381 | m_DrawHalo: 0 382 | m_Flare: {fileID: 0} 383 | m_RenderMode: 0 384 | m_CullingMask: 385 | serializedVersion: 2 386 | m_Bits: 4294967295 387 | m_RenderingLayerMask: 1 388 | m_Lightmapping: 4 389 | m_LightShadowCasterMode: 0 390 | m_AreaSize: {x: 1, y: 1} 391 | m_BounceIntensity: 1 392 | m_ColorTemperature: 6570 393 | m_UseColorTemperature: 0 394 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 395 | m_UseBoundingSphereOverride: 0 396 | m_ShadowRadius: 0 397 | m_ShadowAngle: 0 398 | --- !u!4 &1900725048 399 | Transform: 400 | m_ObjectHideFlags: 0 401 | m_CorrespondingSourceObject: {fileID: 0} 402 | m_PrefabInstance: {fileID: 0} 403 | m_PrefabAsset: {fileID: 0} 404 | m_GameObject: {fileID: 1900725046} 405 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 406 | m_LocalPosition: {x: 0, y: 3, z: 0} 407 | m_LocalScale: {x: 1, y: 1, z: 1} 408 | m_Children: [] 409 | m_Father: {fileID: 0} 410 | m_RootOrder: 1 411 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 412 | -------------------------------------------------------------------------------- /Assets/_Temp/Animation.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69922aa4734978e49864247b0a4a7a8e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/_Temp/CubeAnimator.controller: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1107 &-4049985352129853375 4 | AnimatorStateMachine: 5 | serializedVersion: 5 6 | m_ObjectHideFlags: 1 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Base Layer 11 | m_ChildStates: 12 | - serializedVersion: 1 13 | m_State: {fileID: 8682745944525734492} 14 | m_Position: {x: 250, y: 60, z: 0} 15 | m_ChildStateMachines: [] 16 | m_AnyStateTransitions: [] 17 | m_EntryTransitions: [] 18 | m_StateMachineTransitions: {} 19 | m_StateMachineBehaviours: [] 20 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 21 | m_EntryPosition: {x: 50, y: 120, z: 0} 22 | m_ExitPosition: {x: 800, y: 120, z: 0} 23 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 24 | m_DefaultState: {fileID: 8682745944525734492} 25 | --- !u!91 &9100000 26 | AnimatorController: 27 | m_ObjectHideFlags: 0 28 | m_CorrespondingSourceObject: {fileID: 0} 29 | m_PrefabInstance: {fileID: 0} 30 | m_PrefabAsset: {fileID: 0} 31 | m_Name: CubeAnimator 32 | serializedVersion: 5 33 | m_AnimatorParameters: [] 34 | m_AnimatorLayers: 35 | - serializedVersion: 5 36 | m_Name: Base Layer 37 | m_StateMachine: {fileID: -4049985352129853375} 38 | m_Mask: {fileID: 0} 39 | m_Motions: [] 40 | m_Behaviours: [] 41 | m_BlendingMode: 0 42 | m_SyncedLayerIndex: -1 43 | m_DefaultWeight: 0 44 | m_IKPass: 0 45 | m_SyncedLayerAffectsTiming: 0 46 | m_Controller: {fileID: 9100000} 47 | --- !u!1102 &8682745944525734492 48 | AnimatorState: 49 | serializedVersion: 5 50 | m_ObjectHideFlags: 1 51 | m_CorrespondingSourceObject: {fileID: 0} 52 | m_PrefabInstance: {fileID: 0} 53 | m_PrefabAsset: {fileID: 0} 54 | m_Name: Jump 55 | m_Speed: 1 56 | m_CycleOffset: 0 57 | m_Transitions: [] 58 | m_StateMachineBehaviours: [] 59 | m_Position: {x: 50, y: 50, z: 0} 60 | m_IKOnFeet: 0 61 | m_WriteDefaultValues: 1 62 | m_Mirror: 0 63 | m_SpeedParameterActive: 0 64 | m_MirrorParameterActive: 0 65 | m_CycleOffsetParameterActive: 0 66 | m_TimeParameterActive: 0 67 | m_Motion: {fileID: 7400000, guid: d9112ff41814da74fb227f2e7e4385fe, type: 2} 68 | m_Tag: 69 | m_SpeedParameter: 70 | m_MirrorParameter: 71 | m_CycleOffsetParameter: 72 | m_TimeParameter: 73 | -------------------------------------------------------------------------------- /Assets/_Temp/CubeAnimator.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72ea8c0d45b4b7942b2ffa18b4db9c52 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/_Temp/Jump01.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Jump01 10 | serializedVersion: 6 11 | m_Legacy: 0 12 | m_Compressed: 0 13 | m_UseHighQualityCurve: 1 14 | m_RotationCurves: [] 15 | m_CompressedRotationCurves: [] 16 | m_EulerCurves: [] 17 | m_PositionCurves: 18 | - curve: 19 | serializedVersion: 2 20 | m_Curve: 21 | - serializedVersion: 3 22 | time: 0 23 | value: {x: 6.66331, y: 1.169, z: 0.1617537} 24 | inSlope: {x: 0, y: 0, z: 0} 25 | outSlope: {x: 0, y: 0, z: 0} 26 | tangentMode: 0 27 | weightedMode: 0 28 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 29 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 30 | - serializedVersion: 3 31 | time: 0.18333334 32 | value: {x: 6.66331, y: 0.453, z: 0.1617537} 33 | inSlope: {x: 0, y: 0, z: 0} 34 | outSlope: {x: 0, y: 0, z: 0} 35 | tangentMode: 0 36 | weightedMode: 0 37 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 38 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 39 | - serializedVersion: 3 40 | time: 0.36666667 41 | value: {x: 6.66331, y: 0.877, z: 0.1617537} 42 | inSlope: {x: 0, y: 0, z: 0} 43 | outSlope: {x: 0, y: 0, z: 0} 44 | tangentMode: 0 45 | weightedMode: 0 46 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 47 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 48 | m_PreInfinity: 2 49 | m_PostInfinity: 2 50 | m_RotationOrder: 4 51 | path: 52 | m_ScaleCurves: [] 53 | m_FloatCurves: [] 54 | m_PPtrCurves: [] 55 | m_SampleRate: 60 56 | m_WrapMode: 0 57 | m_Bounds: 58 | m_Center: {x: 0, y: 0, z: 0} 59 | m_Extent: {x: 0, y: 0, z: 0} 60 | m_ClipBindingConstant: 61 | genericBindings: 62 | - serializedVersion: 2 63 | path: 0 64 | attribute: 1 65 | script: {fileID: 0} 66 | typeID: 4 67 | customType: 0 68 | isPPtrCurve: 0 69 | pptrCurveMapping: [] 70 | m_AnimationClipSettings: 71 | serializedVersion: 2 72 | m_AdditiveReferencePoseClip: {fileID: 0} 73 | m_AdditiveReferencePoseTime: 0 74 | m_StartTime: 0 75 | m_StopTime: 0.36666667 76 | m_OrientationOffsetY: 0 77 | m_Level: 0 78 | m_CycleOffset: 0 79 | m_HasAdditiveReferencePose: 0 80 | m_LoopTime: 0 81 | m_LoopBlend: 0 82 | m_LoopBlendOrientation: 0 83 | m_LoopBlendPositionY: 0 84 | m_LoopBlendPositionXZ: 0 85 | m_KeepOriginalOrientation: 0 86 | m_KeepOriginalPositionY: 1 87 | m_KeepOriginalPositionXZ: 0 88 | m_HeightFromFeet: 0 89 | m_Mirror: 0 90 | m_EditorCurves: 91 | - curve: 92 | serializedVersion: 2 93 | m_Curve: 94 | - serializedVersion: 3 95 | time: 0 96 | value: 6.66331 97 | inSlope: 0 98 | outSlope: 0 99 | tangentMode: 136 100 | weightedMode: 0 101 | inWeight: 0.33333334 102 | outWeight: 0.33333334 103 | - serializedVersion: 3 104 | time: 0.18333334 105 | value: 6.66331 106 | inSlope: 0 107 | outSlope: 0 108 | tangentMode: 136 109 | weightedMode: 0 110 | inWeight: 0.33333334 111 | outWeight: 0.33333334 112 | - serializedVersion: 3 113 | time: 0.36666667 114 | value: 6.66331 115 | inSlope: 0 116 | outSlope: 0 117 | tangentMode: 136 118 | weightedMode: 0 119 | inWeight: 0.33333334 120 | outWeight: 0.33333334 121 | m_PreInfinity: 2 122 | m_PostInfinity: 2 123 | m_RotationOrder: 4 124 | attribute: m_LocalPosition.x 125 | path: 126 | classID: 4 127 | script: {fileID: 0} 128 | - curve: 129 | serializedVersion: 2 130 | m_Curve: 131 | - serializedVersion: 3 132 | time: 0 133 | value: 1.169 134 | inSlope: 0 135 | outSlope: 0 136 | tangentMode: 136 137 | weightedMode: 0 138 | inWeight: 0.33333334 139 | outWeight: 0.33333334 140 | - serializedVersion: 3 141 | time: 0.18333334 142 | value: 0.453 143 | inSlope: 0 144 | outSlope: 0 145 | tangentMode: 136 146 | weightedMode: 0 147 | inWeight: 0.33333334 148 | outWeight: 0.33333334 149 | - serializedVersion: 3 150 | time: 0.36666667 151 | value: 0.877 152 | inSlope: 0 153 | outSlope: 0 154 | tangentMode: 136 155 | weightedMode: 0 156 | inWeight: 0.33333334 157 | outWeight: 0.33333334 158 | m_PreInfinity: 2 159 | m_PostInfinity: 2 160 | m_RotationOrder: 4 161 | attribute: m_LocalPosition.y 162 | path: 163 | classID: 4 164 | script: {fileID: 0} 165 | - curve: 166 | serializedVersion: 2 167 | m_Curve: 168 | - serializedVersion: 3 169 | time: 0 170 | value: 0.1617537 171 | inSlope: 0 172 | outSlope: 0 173 | tangentMode: 136 174 | weightedMode: 0 175 | inWeight: 0.33333334 176 | outWeight: 0.33333334 177 | - serializedVersion: 3 178 | time: 0.18333334 179 | value: 0.1617537 180 | inSlope: 0 181 | outSlope: 0 182 | tangentMode: 136 183 | weightedMode: 0 184 | inWeight: 0.33333334 185 | outWeight: 0.33333334 186 | - serializedVersion: 3 187 | time: 0.36666667 188 | value: 0.1617537 189 | inSlope: 0 190 | outSlope: 0 191 | tangentMode: 136 192 | weightedMode: 0 193 | inWeight: 0.33333334 194 | outWeight: 0.33333334 195 | m_PreInfinity: 2 196 | m_PostInfinity: 2 197 | m_RotationOrder: 4 198 | attribute: m_LocalPosition.z 199 | path: 200 | classID: 4 201 | script: {fileID: 0} 202 | m_EulerEditorCurves: [] 203 | m_HasGenericRootTransform: 1 204 | m_HasMotionFloatCurves: 0 205 | m_Events: [] 206 | -------------------------------------------------------------------------------- /Assets/_Temp/Jump01.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d9112ff41814da74fb227f2e7e4385fe 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ugui": "1.0.0", 4 | "com.unity.modules.ai": "1.0.0", 5 | "com.unity.modules.androidjni": "1.0.0", 6 | "com.unity.modules.animation": "1.0.0", 7 | "com.unity.modules.assetbundle": "1.0.0", 8 | "com.unity.modules.audio": "1.0.0", 9 | "com.unity.modules.cloth": "1.0.0", 10 | "com.unity.modules.director": "1.0.0", 11 | "com.unity.modules.imageconversion": "1.0.0", 12 | "com.unity.modules.imgui": "1.0.0", 13 | "com.unity.modules.jsonserialize": "1.0.0", 14 | "com.unity.modules.particlesystem": "1.0.0", 15 | "com.unity.modules.physics": "1.0.0", 16 | "com.unity.modules.physics2d": "1.0.0", 17 | "com.unity.modules.screencapture": "1.0.0", 18 | "com.unity.modules.terrain": "1.0.0", 19 | "com.unity.modules.terrainphysics": "1.0.0", 20 | "com.unity.modules.tilemap": "1.0.0", 21 | "com.unity.modules.ui": "1.0.0", 22 | "com.unity.modules.uielements": "1.0.0", 23 | "com.unity.modules.umbra": "1.0.0", 24 | "com.unity.modules.unityanalytics": "1.0.0", 25 | "com.unity.modules.unitywebrequest": "1.0.0", 26 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 27 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 28 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 29 | "com.unity.modules.unitywebrequestwww": "1.0.0", 30 | "com.unity.modules.vehicles": "1.0.0", 31 | "com.unity.modules.video": "1.0.0", 32 | "com.unity.modules.vr": "1.0.0", 33 | "com.unity.modules.wind": "1.0.0", 34 | "com.unity.modules.xr": "1.0.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Packages/packages-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ugui": { 4 | "version": "1.0.0", 5 | "depth": 0, 6 | "source": "builtin", 7 | "dependencies": { 8 | "com.unity.modules.ui": "1.0.0", 9 | "com.unity.modules.imgui": "1.0.0" 10 | } 11 | }, 12 | "com.unity.modules.ai": { 13 | "version": "1.0.0", 14 | "depth": 0, 15 | "source": "builtin", 16 | "dependencies": {} 17 | }, 18 | "com.unity.modules.androidjni": { 19 | "version": "1.0.0", 20 | "depth": 0, 21 | "source": "builtin", 22 | "dependencies": {} 23 | }, 24 | "com.unity.modules.animation": { 25 | "version": "1.0.0", 26 | "depth": 0, 27 | "source": "builtin", 28 | "dependencies": {} 29 | }, 30 | "com.unity.modules.assetbundle": { 31 | "version": "1.0.0", 32 | "depth": 0, 33 | "source": "builtin", 34 | "dependencies": {} 35 | }, 36 | "com.unity.modules.audio": { 37 | "version": "1.0.0", 38 | "depth": 0, 39 | "source": "builtin", 40 | "dependencies": {} 41 | }, 42 | "com.unity.modules.cloth": { 43 | "version": "1.0.0", 44 | "depth": 0, 45 | "source": "builtin", 46 | "dependencies": { 47 | "com.unity.modules.physics": "1.0.0" 48 | } 49 | }, 50 | "com.unity.modules.director": { 51 | "version": "1.0.0", 52 | "depth": 0, 53 | "source": "builtin", 54 | "dependencies": { 55 | "com.unity.modules.audio": "1.0.0", 56 | "com.unity.modules.animation": "1.0.0" 57 | } 58 | }, 59 | "com.unity.modules.imageconversion": { 60 | "version": "1.0.0", 61 | "depth": 0, 62 | "source": "builtin", 63 | "dependencies": {} 64 | }, 65 | "com.unity.modules.imgui": { 66 | "version": "1.0.0", 67 | "depth": 0, 68 | "source": "builtin", 69 | "dependencies": {} 70 | }, 71 | "com.unity.modules.jsonserialize": { 72 | "version": "1.0.0", 73 | "depth": 0, 74 | "source": "builtin", 75 | "dependencies": {} 76 | }, 77 | "com.unity.modules.particlesystem": { 78 | "version": "1.0.0", 79 | "depth": 0, 80 | "source": "builtin", 81 | "dependencies": {} 82 | }, 83 | "com.unity.modules.physics": { 84 | "version": "1.0.0", 85 | "depth": 0, 86 | "source": "builtin", 87 | "dependencies": {} 88 | }, 89 | "com.unity.modules.physics2d": { 90 | "version": "1.0.0", 91 | "depth": 0, 92 | "source": "builtin", 93 | "dependencies": {} 94 | }, 95 | "com.unity.modules.screencapture": { 96 | "version": "1.0.0", 97 | "depth": 0, 98 | "source": "builtin", 99 | "dependencies": { 100 | "com.unity.modules.imageconversion": "1.0.0" 101 | } 102 | }, 103 | "com.unity.modules.subsystems": { 104 | "version": "1.0.0", 105 | "depth": 1, 106 | "source": "builtin", 107 | "dependencies": { 108 | "com.unity.modules.jsonserialize": "1.0.0" 109 | } 110 | }, 111 | "com.unity.modules.terrain": { 112 | "version": "1.0.0", 113 | "depth": 0, 114 | "source": "builtin", 115 | "dependencies": {} 116 | }, 117 | "com.unity.modules.terrainphysics": { 118 | "version": "1.0.0", 119 | "depth": 0, 120 | "source": "builtin", 121 | "dependencies": { 122 | "com.unity.modules.physics": "1.0.0", 123 | "com.unity.modules.terrain": "1.0.0" 124 | } 125 | }, 126 | "com.unity.modules.tilemap": { 127 | "version": "1.0.0", 128 | "depth": 0, 129 | "source": "builtin", 130 | "dependencies": { 131 | "com.unity.modules.physics2d": "1.0.0" 132 | } 133 | }, 134 | "com.unity.modules.ui": { 135 | "version": "1.0.0", 136 | "depth": 0, 137 | "source": "builtin", 138 | "dependencies": {} 139 | }, 140 | "com.unity.modules.uielements": { 141 | "version": "1.0.0", 142 | "depth": 0, 143 | "source": "builtin", 144 | "dependencies": { 145 | "com.unity.modules.ui": "1.0.0", 146 | "com.unity.modules.imgui": "1.0.0", 147 | "com.unity.modules.jsonserialize": "1.0.0" 148 | } 149 | }, 150 | "com.unity.modules.umbra": { 151 | "version": "1.0.0", 152 | "depth": 0, 153 | "source": "builtin", 154 | "dependencies": {} 155 | }, 156 | "com.unity.modules.unityanalytics": { 157 | "version": "1.0.0", 158 | "depth": 0, 159 | "source": "builtin", 160 | "dependencies": { 161 | "com.unity.modules.unitywebrequest": "1.0.0", 162 | "com.unity.modules.jsonserialize": "1.0.0" 163 | } 164 | }, 165 | "com.unity.modules.unitywebrequest": { 166 | "version": "1.0.0", 167 | "depth": 0, 168 | "source": "builtin", 169 | "dependencies": {} 170 | }, 171 | "com.unity.modules.unitywebrequestassetbundle": { 172 | "version": "1.0.0", 173 | "depth": 0, 174 | "source": "builtin", 175 | "dependencies": { 176 | "com.unity.modules.assetbundle": "1.0.0", 177 | "com.unity.modules.unitywebrequest": "1.0.0" 178 | } 179 | }, 180 | "com.unity.modules.unitywebrequestaudio": { 181 | "version": "1.0.0", 182 | "depth": 0, 183 | "source": "builtin", 184 | "dependencies": { 185 | "com.unity.modules.unitywebrequest": "1.0.0", 186 | "com.unity.modules.audio": "1.0.0" 187 | } 188 | }, 189 | "com.unity.modules.unitywebrequesttexture": { 190 | "version": "1.0.0", 191 | "depth": 0, 192 | "source": "builtin", 193 | "dependencies": { 194 | "com.unity.modules.unitywebrequest": "1.0.0", 195 | "com.unity.modules.imageconversion": "1.0.0" 196 | } 197 | }, 198 | "com.unity.modules.unitywebrequestwww": { 199 | "version": "1.0.0", 200 | "depth": 0, 201 | "source": "builtin", 202 | "dependencies": { 203 | "com.unity.modules.unitywebrequest": "1.0.0", 204 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 205 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 206 | "com.unity.modules.audio": "1.0.0", 207 | "com.unity.modules.assetbundle": "1.0.0", 208 | "com.unity.modules.imageconversion": "1.0.0" 209 | } 210 | }, 211 | "com.unity.modules.vehicles": { 212 | "version": "1.0.0", 213 | "depth": 0, 214 | "source": "builtin", 215 | "dependencies": { 216 | "com.unity.modules.physics": "1.0.0" 217 | } 218 | }, 219 | "com.unity.modules.video": { 220 | "version": "1.0.0", 221 | "depth": 0, 222 | "source": "builtin", 223 | "dependencies": { 224 | "com.unity.modules.audio": "1.0.0", 225 | "com.unity.modules.ui": "1.0.0", 226 | "com.unity.modules.unitywebrequest": "1.0.0" 227 | } 228 | }, 229 | "com.unity.modules.vr": { 230 | "version": "1.0.0", 231 | "depth": 0, 232 | "source": "builtin", 233 | "dependencies": { 234 | "com.unity.modules.jsonserialize": "1.0.0", 235 | "com.unity.modules.physics": "1.0.0", 236 | "com.unity.modules.xr": "1.0.0" 237 | } 238 | }, 239 | "com.unity.modules.wind": { 240 | "version": "1.0.0", 241 | "depth": 0, 242 | "source": "builtin", 243 | "dependencies": {} 244 | }, 245 | "com.unity.modules.xr": { 246 | "version": "1.0.0", 247 | "depth": 0, 248 | "source": "builtin", 249 | "dependencies": { 250 | "com.unity.modules.physics": "1.0.0", 251 | "com.unity.modules.jsonserialize": "1.0.0", 252 | "com.unity.modules.subsystems": "1.0.0" 253 | } 254 | } 255 | } 256 | } 257 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0.1 18 | m_ClothInterCollisionStiffness: 0.2 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 0 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ClothGravity: {x: 0, y: -9.81, z: 0} 26 | m_ContactPairsMode: 0 27 | m_BroadphaseType: 0 28 | m_WorldBounds: 29 | m_Center: {x: 0, y: 0, z: 0} 30 | m_Extent: {x: 250, y: 250, z: 250} 31 | m_WorldSubdivisions: 8 32 | m_FrictionType: 0 33 | m_EnableEnhancedDeterminism: 0 34 | m_EnableUnifiedHeightmaps: 1 35 | m_SolverType: 0 36 | m_DefaultMaxAngularSpeed: 50 37 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 41 | type: 0} 42 | m_CustomRenderPipeline: {fileID: 0} 43 | m_TransparencySortMode: 0 44 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 45 | m_DefaultRenderingPath: 1 46 | m_DefaultMobileRenderingPath: 1 47 | m_TierSettings: [] 48 | m_LightmapStripping: 0 49 | m_FogStripping: 0 50 | m_InstancingStripping: 0 51 | m_LightmapKeepPlain: 1 52 | m_LightmapKeepDirCombined: 1 53 | m_LightmapKeepDynamicPlain: 1 54 | m_LightmapKeepDynamicDirCombined: 1 55 | m_LightmapKeepShadowMask: 1 56 | m_LightmapKeepSubtractive: 1 57 | m_FogKeepLinear: 1 58 | m_FogKeepExp: 1 59 | m_FogKeepExp2: 1 60 | m_AlbedoSwatchInfos: [] 61 | m_LightsUseLinearIntensity: 0 62 | m_LightsUseColorTemperature: 0 63 | m_LogWhenShaderIsCompiled: 0 64 | m_AllowEnlightenSupportForUpgradedProject: 0 65 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 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: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_AdvancedSettingsExpanded: 1 17 | m_ScopedRegistriesSettingsExpanded: 1 18 | m_SeeAllPackageVersions: 0 19 | m_DismissPreviewPackagesInUse: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_ConfigSource: 0 29 | m_UserSelectedRegistryName: 30 | m_UserAddingNewScopedRegistry: 0 31 | m_RegistryInfoDraft: 32 | m_Modified: 0 33 | m_ErrorMessage: 34 | m_UserModificationsInstanceId: -870 35 | m_OriginalInstanceId: -872 36 | m_LoadAssets: 0 37 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 0 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 26 7 | productGUID: 2294ff65ac2813d42b9d073071bee4d9 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: SimpleTools 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_SpriteBatchVertexThreshold: 300 52 | m_MTRendering: 1 53 | mipStripping: 0 54 | numberOfMipsStripped: 0 55 | numberOfMipsStrippedPerMipmapLimitGroup: {} 56 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 57 | iosShowActivityIndicatorOnLoading: -1 58 | androidShowActivityIndicatorOnLoading: -1 59 | iosUseCustomAppBackgroundBehavior: 0 60 | allowedAutorotateToPortrait: 1 61 | allowedAutorotateToPortraitUpsideDown: 1 62 | allowedAutorotateToLandscapeRight: 1 63 | allowedAutorotateToLandscapeLeft: 1 64 | useOSAutorotation: 1 65 | use32BitDisplayBuffer: 1 66 | preserveFramebufferAlpha: 0 67 | disableDepthAndStencilBuffers: 0 68 | androidStartInFullscreen: 1 69 | androidRenderOutsideSafeArea: 1 70 | androidUseSwappy: 0 71 | androidBlitType: 0 72 | androidResizableWindow: 0 73 | androidDefaultWindowWidth: 1920 74 | androidDefaultWindowHeight: 1080 75 | androidMinimumWindowWidth: 400 76 | androidMinimumWindowHeight: 300 77 | androidFullscreenMode: 1 78 | defaultIsNativeResolution: 1 79 | macRetinaSupport: 1 80 | runInBackground: 0 81 | captureSingleScreen: 0 82 | muteOtherAudioSources: 0 83 | Prepare IOS For Recording: 0 84 | Force IOS Speakers When Recording: 0 85 | deferSystemGesturesMode: 0 86 | hideHomeButton: 0 87 | submitAnalytics: 1 88 | usePlayerLog: 1 89 | bakeCollisionMeshes: 0 90 | forceSingleInstance: 0 91 | useFlipModelSwapchain: 1 92 | resizableWindow: 0 93 | useMacAppStoreValidation: 0 94 | macAppStoreCategory: public.app-category.games 95 | gpuSkinning: 0 96 | xboxPIXTextureCapture: 0 97 | xboxEnableAvatar: 0 98 | xboxEnableKinect: 0 99 | xboxEnableKinectAutoTracking: 0 100 | xboxEnableFitness: 0 101 | visibleInBackground: 1 102 | allowFullscreenSwitch: 1 103 | fullscreenMode: 1 104 | xboxSpeechDB: 0 105 | xboxEnableHeadOrientation: 0 106 | xboxEnableGuest: 0 107 | xboxEnablePIXSampling: 0 108 | metalFramebufferOnly: 0 109 | xboxOneResolution: 0 110 | xboxOneSResolution: 0 111 | xboxOneXResolution: 3 112 | xboxOneMonoLoggingLevel: 0 113 | xboxOneLoggingLevel: 1 114 | xboxOneDisableEsram: 0 115 | xboxOneEnableTypeOptimization: 0 116 | xboxOnePresentImmediateThreshold: 0 117 | switchQueueCommandMemory: 1048576 118 | switchQueueControlMemory: 16384 119 | switchQueueComputeMemory: 262144 120 | switchNVNShaderPoolsGranularity: 33554432 121 | switchNVNDefaultPoolsGranularity: 16777216 122 | switchNVNOtherPoolsGranularity: 16777216 123 | switchGpuScratchPoolGranularity: 2097152 124 | switchAllowGpuScratchShrinking: 0 125 | switchNVNMaxPublicTextureIDCount: 0 126 | switchNVNMaxPublicSamplerIDCount: 0 127 | switchNVNGraphicsFirmwareMemory: 32 128 | stadiaPresentMode: 0 129 | stadiaTargetFramerate: 0 130 | vulkanNumSwapchainBuffers: 3 131 | vulkanEnableSetSRGBWrite: 0 132 | vulkanEnablePreTransform: 0 133 | vulkanEnableLateAcquireNextImage: 0 134 | vulkanEnableCommandBufferRecycling: 1 135 | loadStoreDebugModeEnabled: 0 136 | bundleVersion: 1.0 137 | preloadedAssets: [] 138 | metroInputSource: 0 139 | wsaTransparentSwapchain: 0 140 | m_HolographicPauseOnTrackingLoss: 1 141 | xboxOneDisableKinectGpuReservation: 1 142 | xboxOneEnable7thCore: 1 143 | vrSettings: 144 | enable360StereoCapture: 0 145 | isWsaHolographicRemotingEnabled: 0 146 | enableFrameTimingStats: 0 147 | enableOpenGLProfilerGPURecorders: 1 148 | useHDRDisplay: 0 149 | D3DHDRBitDepth: 0 150 | m_ColorGamuts: 00000000 151 | targetPixelDensity: 30 152 | resolutionScalingMode: 0 153 | resetResolutionOnWindowResize: 0 154 | androidSupportedAspectRatio: 1 155 | androidMaxAspectRatio: 2.1 156 | applicationIdentifier: 157 | Standalone: com.DefaultCompany.SimpleTools 158 | buildNumber: 159 | Standalone: 0 160 | iPhone: 0 161 | tvOS: 0 162 | overrideDefaultApplicationIdentifier: 0 163 | AndroidBundleVersionCode: 1 164 | AndroidMinSdkVersion: 22 165 | AndroidTargetSdkVersion: 0 166 | AndroidPreferredInstallLocation: 1 167 | aotOptions: 168 | stripEngineCode: 1 169 | iPhoneStrippingLevel: 0 170 | iPhoneScriptCallOptimization: 0 171 | ForceInternetPermission: 0 172 | ForceSDCardPermission: 0 173 | CreateWallpaper: 0 174 | APKExpansionFiles: 0 175 | keepLoadedShadersAlive: 0 176 | StripUnusedMeshComponents: 0 177 | strictShaderVariantMatching: 0 178 | VertexChannelCompressionMask: 4054 179 | iPhoneSdkVersion: 988 180 | iOSTargetOSVersionString: 12.0 181 | tvOSSdkVersion: 0 182 | tvOSRequireExtendedGameController: 0 183 | tvOSTargetOSVersionString: 12.0 184 | uIPrerenderedIcon: 0 185 | uIRequiresPersistentWiFi: 0 186 | uIRequiresFullScreen: 1 187 | uIStatusBarHidden: 1 188 | uIExitOnSuspend: 0 189 | uIStatusBarStyle: 0 190 | appleTVSplashScreen: {fileID: 0} 191 | appleTVSplashScreen2x: {fileID: 0} 192 | tvOSSmallIconLayers: [] 193 | tvOSSmallIconLayers2x: [] 194 | tvOSLargeIconLayers: [] 195 | tvOSLargeIconLayers2x: [] 196 | tvOSTopShelfImageLayers: [] 197 | tvOSTopShelfImageLayers2x: [] 198 | tvOSTopShelfImageWideLayers: [] 199 | tvOSTopShelfImageWideLayers2x: [] 200 | iOSLaunchScreenType: 0 201 | iOSLaunchScreenPortrait: {fileID: 0} 202 | iOSLaunchScreenLandscape: {fileID: 0} 203 | iOSLaunchScreenBackgroundColor: 204 | serializedVersion: 2 205 | rgba: 0 206 | iOSLaunchScreenFillPct: 100 207 | iOSLaunchScreenSize: 100 208 | iOSLaunchScreenCustomXibPath: 209 | iOSLaunchScreeniPadType: 0 210 | iOSLaunchScreeniPadImage: {fileID: 0} 211 | iOSLaunchScreeniPadBackgroundColor: 212 | serializedVersion: 2 213 | rgba: 0 214 | iOSLaunchScreeniPadFillPct: 100 215 | iOSLaunchScreeniPadSize: 100 216 | iOSLaunchScreeniPadCustomXibPath: 217 | iOSLaunchScreenCustomStoryboardPath: 218 | iOSLaunchScreeniPadCustomStoryboardPath: 219 | iOSDeviceRequirements: [] 220 | iOSURLSchemes: [] 221 | macOSURLSchemes: [] 222 | iOSBackgroundModes: 0 223 | iOSMetalForceHardShadows: 0 224 | metalEditorSupport: 1 225 | metalAPIValidation: 1 226 | iOSRenderExtraFrameOnPause: 0 227 | iosCopyPluginsCodeInsteadOfSymlink: 0 228 | appleDeveloperTeamID: 229 | iOSManualSigningProvisioningProfileID: 230 | tvOSManualSigningProvisioningProfileID: 231 | iOSManualSigningProvisioningProfileType: 0 232 | tvOSManualSigningProvisioningProfileType: 0 233 | appleEnableAutomaticSigning: 0 234 | iOSRequireARKit: 0 235 | iOSAutomaticallyDetectAndAddCapabilities: 1 236 | appleEnableProMotion: 0 237 | shaderPrecisionModel: 0 238 | clonedFromGUID: 00000000000000000000000000000000 239 | templatePackageId: 240 | templateDefaultScene: 241 | useCustomMainManifest: 0 242 | useCustomLauncherManifest: 0 243 | useCustomMainGradleTemplate: 0 244 | useCustomLauncherGradleManifest: 0 245 | useCustomBaseGradleTemplate: 0 246 | useCustomGradlePropertiesTemplate: 0 247 | useCustomProguardFile: 0 248 | AndroidTargetArchitectures: 1 249 | AndroidTargetDevices: 0 250 | AndroidSplashScreenScale: 0 251 | androidSplashScreen: {fileID: 0} 252 | AndroidKeystoreName: 253 | AndroidKeyaliasName: 254 | AndroidEnableArmv9SecurityFeatures: 0 255 | AndroidBuildApkPerCpuArchitecture: 0 256 | AndroidTVCompatibility: 0 257 | AndroidIsGame: 1 258 | AndroidEnableTango: 0 259 | androidEnableBanner: 1 260 | androidUseLowAccuracyLocation: 0 261 | androidUseCustomKeystore: 0 262 | m_AndroidBanners: 263 | - width: 320 264 | height: 180 265 | banner: {fileID: 0} 266 | androidGamepadSupportLevel: 0 267 | chromeosInputEmulation: 1 268 | AndroidMinifyRelease: 0 269 | AndroidMinifyDebug: 0 270 | AndroidValidateAppBundleSize: 1 271 | AndroidAppBundleSizeToValidate: 150 272 | m_BuildTargetIcons: [] 273 | m_BuildTargetPlatformIcons: 274 | - m_BuildTarget: Android 275 | m_Icons: 276 | - m_Textures: [] 277 | m_Width: 432 278 | m_Height: 432 279 | m_Kind: 2 280 | m_SubKind: 281 | - m_Textures: [] 282 | m_Width: 324 283 | m_Height: 324 284 | m_Kind: 2 285 | m_SubKind: 286 | - m_Textures: [] 287 | m_Width: 216 288 | m_Height: 216 289 | m_Kind: 2 290 | m_SubKind: 291 | - m_Textures: [] 292 | m_Width: 162 293 | m_Height: 162 294 | m_Kind: 2 295 | m_SubKind: 296 | - m_Textures: [] 297 | m_Width: 108 298 | m_Height: 108 299 | m_Kind: 2 300 | m_SubKind: 301 | - m_Textures: [] 302 | m_Width: 81 303 | m_Height: 81 304 | m_Kind: 2 305 | m_SubKind: 306 | - m_Textures: [] 307 | m_Width: 192 308 | m_Height: 192 309 | m_Kind: 1 310 | m_SubKind: 311 | - m_Textures: [] 312 | m_Width: 144 313 | m_Height: 144 314 | m_Kind: 1 315 | m_SubKind: 316 | - m_Textures: [] 317 | m_Width: 96 318 | m_Height: 96 319 | m_Kind: 1 320 | m_SubKind: 321 | - m_Textures: [] 322 | m_Width: 72 323 | m_Height: 72 324 | m_Kind: 1 325 | m_SubKind: 326 | - m_Textures: [] 327 | m_Width: 48 328 | m_Height: 48 329 | m_Kind: 1 330 | m_SubKind: 331 | - m_Textures: [] 332 | m_Width: 36 333 | m_Height: 36 334 | m_Kind: 1 335 | m_SubKind: 336 | - m_Textures: [] 337 | m_Width: 192 338 | m_Height: 192 339 | m_Kind: 0 340 | m_SubKind: 341 | - m_Textures: [] 342 | m_Width: 144 343 | m_Height: 144 344 | m_Kind: 0 345 | m_SubKind: 346 | - m_Textures: [] 347 | m_Width: 96 348 | m_Height: 96 349 | m_Kind: 0 350 | m_SubKind: 351 | - m_Textures: [] 352 | m_Width: 72 353 | m_Height: 72 354 | m_Kind: 0 355 | m_SubKind: 356 | - m_Textures: [] 357 | m_Width: 48 358 | m_Height: 48 359 | m_Kind: 0 360 | m_SubKind: 361 | - m_Textures: [] 362 | m_Width: 36 363 | m_Height: 36 364 | m_Kind: 0 365 | m_SubKind: 366 | m_BuildTargetBatching: [] 367 | m_BuildTargetShaderSettings: [] 368 | m_BuildTargetGraphicsJobs: [] 369 | m_BuildTargetGraphicsJobMode: [] 370 | m_BuildTargetGraphicsAPIs: 371 | - m_BuildTarget: iOSSupport 372 | m_APIs: 10000000 373 | m_Automatic: 1 374 | - m_BuildTarget: AndroidPlayer 375 | m_APIs: 0b00000008000000 376 | m_Automatic: 0 377 | m_BuildTargetVRSettings: [] 378 | m_DefaultShaderChunkSizeInMB: 16 379 | m_DefaultShaderChunkCount: 0 380 | openGLRequireES31: 0 381 | openGLRequireES31AEP: 0 382 | openGLRequireES32: 0 383 | m_TemplateCustomTags: {} 384 | mobileMTRendering: 385 | Android: 1 386 | iPhone: 1 387 | tvOS: 1 388 | m_BuildTargetGroupLightmapEncodingQuality: [] 389 | m_BuildTargetGroupHDRCubemapEncodingQuality: [] 390 | m_BuildTargetGroupLightmapSettings: [] 391 | m_BuildTargetGroupLoadStoreDebugModeSettings: [] 392 | m_BuildTargetNormalMapEncoding: [] 393 | m_BuildTargetDefaultTextureCompressionFormat: [] 394 | playModeTestRunnerEnabled: 0 395 | runPlayModeTestAsEditModeTest: 0 396 | actionOnDotNetUnhandledException: 1 397 | enableInternalProfiler: 0 398 | logObjCUncaughtExceptions: 1 399 | enableCrashReportAPI: 0 400 | cameraUsageDescription: 401 | locationUsageDescription: 402 | microphoneUsageDescription: 403 | bluetoothUsageDescription: 404 | macOSTargetOSVersion: 10.13.0 405 | switchNMETAOverride: 406 | switchNetLibKey: 407 | switchSocketMemoryPoolSize: 6144 408 | switchSocketAllocatorPoolSize: 128 409 | switchSocketConcurrencyLimit: 14 410 | switchScreenResolutionBehavior: 2 411 | switchUseCPUProfiler: 0 412 | switchUseGOLDLinker: 0 413 | switchLTOSetting: 0 414 | switchApplicationID: 0x01004b9000490000 415 | switchNSODependencies: 416 | switchCompilerFlags: 417 | switchTitleNames_0: 418 | switchTitleNames_1: 419 | switchTitleNames_2: 420 | switchTitleNames_3: 421 | switchTitleNames_4: 422 | switchTitleNames_5: 423 | switchTitleNames_6: 424 | switchTitleNames_7: 425 | switchTitleNames_8: 426 | switchTitleNames_9: 427 | switchTitleNames_10: 428 | switchTitleNames_11: 429 | switchTitleNames_12: 430 | switchTitleNames_13: 431 | switchTitleNames_14: 432 | switchTitleNames_15: 433 | switchPublisherNames_0: 434 | switchPublisherNames_1: 435 | switchPublisherNames_2: 436 | switchPublisherNames_3: 437 | switchPublisherNames_4: 438 | switchPublisherNames_5: 439 | switchPublisherNames_6: 440 | switchPublisherNames_7: 441 | switchPublisherNames_8: 442 | switchPublisherNames_9: 443 | switchPublisherNames_10: 444 | switchPublisherNames_11: 445 | switchPublisherNames_12: 446 | switchPublisherNames_13: 447 | switchPublisherNames_14: 448 | switchPublisherNames_15: 449 | switchIcons_0: {fileID: 0} 450 | switchIcons_1: {fileID: 0} 451 | switchIcons_2: {fileID: 0} 452 | switchIcons_3: {fileID: 0} 453 | switchIcons_4: {fileID: 0} 454 | switchIcons_5: {fileID: 0} 455 | switchIcons_6: {fileID: 0} 456 | switchIcons_7: {fileID: 0} 457 | switchIcons_8: {fileID: 0} 458 | switchIcons_9: {fileID: 0} 459 | switchIcons_10: {fileID: 0} 460 | switchIcons_11: {fileID: 0} 461 | switchIcons_12: {fileID: 0} 462 | switchIcons_13: {fileID: 0} 463 | switchIcons_14: {fileID: 0} 464 | switchIcons_15: {fileID: 0} 465 | switchSmallIcons_0: {fileID: 0} 466 | switchSmallIcons_1: {fileID: 0} 467 | switchSmallIcons_2: {fileID: 0} 468 | switchSmallIcons_3: {fileID: 0} 469 | switchSmallIcons_4: {fileID: 0} 470 | switchSmallIcons_5: {fileID: 0} 471 | switchSmallIcons_6: {fileID: 0} 472 | switchSmallIcons_7: {fileID: 0} 473 | switchSmallIcons_8: {fileID: 0} 474 | switchSmallIcons_9: {fileID: 0} 475 | switchSmallIcons_10: {fileID: 0} 476 | switchSmallIcons_11: {fileID: 0} 477 | switchSmallIcons_12: {fileID: 0} 478 | switchSmallIcons_13: {fileID: 0} 479 | switchSmallIcons_14: {fileID: 0} 480 | switchSmallIcons_15: {fileID: 0} 481 | switchManualHTML: 482 | switchAccessibleURLs: 483 | switchLegalInformation: 484 | switchMainThreadStackSize: 1048576 485 | switchPresenceGroupId: 486 | switchLogoHandling: 0 487 | switchReleaseVersion: 0 488 | switchDisplayVersion: 1.0.0 489 | switchStartupUserAccount: 0 490 | switchSupportedLanguagesMask: 0 491 | switchLogoType: 0 492 | switchApplicationErrorCodeCategory: 493 | switchUserAccountSaveDataSize: 0 494 | switchUserAccountSaveDataJournalSize: 0 495 | switchApplicationAttribute: 0 496 | switchCardSpecSize: -1 497 | switchCardSpecClock: -1 498 | switchRatingsMask: 0 499 | switchRatingsInt_0: 0 500 | switchRatingsInt_1: 0 501 | switchRatingsInt_2: 0 502 | switchRatingsInt_3: 0 503 | switchRatingsInt_4: 0 504 | switchRatingsInt_5: 0 505 | switchRatingsInt_6: 0 506 | switchRatingsInt_7: 0 507 | switchRatingsInt_8: 0 508 | switchRatingsInt_9: 0 509 | switchRatingsInt_10: 0 510 | switchRatingsInt_11: 0 511 | switchRatingsInt_12: 0 512 | switchLocalCommunicationIds_0: 513 | switchLocalCommunicationIds_1: 514 | switchLocalCommunicationIds_2: 515 | switchLocalCommunicationIds_3: 516 | switchLocalCommunicationIds_4: 517 | switchLocalCommunicationIds_5: 518 | switchLocalCommunicationIds_6: 519 | switchLocalCommunicationIds_7: 520 | switchParentalControl: 0 521 | switchAllowsScreenshot: 1 522 | switchAllowsVideoCapturing: 1 523 | switchAllowsRuntimeAddOnContentInstall: 0 524 | switchDataLossConfirmation: 0 525 | switchUserAccountLockEnabled: 0 526 | switchSystemResourceMemory: 16777216 527 | switchSupportedNpadStyles: 22 528 | switchNativeFsCacheSize: 32 529 | switchIsHoldTypeHorizontal: 0 530 | switchSupportedNpadCount: 8 531 | switchEnableTouchScreen: 1 532 | switchSocketConfigEnabled: 0 533 | switchTcpInitialSendBufferSize: 32 534 | switchTcpInitialReceiveBufferSize: 64 535 | switchTcpAutoSendBufferSizeMax: 256 536 | switchTcpAutoReceiveBufferSizeMax: 256 537 | switchUdpSendBufferSize: 9 538 | switchUdpReceiveBufferSize: 42 539 | switchSocketBufferEfficiency: 4 540 | switchSocketInitializeEnabled: 1 541 | switchNetworkInterfaceManagerInitializeEnabled: 1 542 | switchPlayerConnectionEnabled: 1 543 | switchUseNewStyleFilepaths: 1 544 | switchUseLegacyFmodPriorities: 0 545 | switchUseMicroSleepForYield: 1 546 | switchEnableRamDiskSupport: 0 547 | switchMicroSleepForYieldTime: 25 548 | switchRamDiskSpaceSize: 12 549 | ps4NPAgeRating: 12 550 | ps4NPTitleSecret: 551 | ps4NPTrophyPackPath: 552 | ps4ParentalLevel: 11 553 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 554 | ps4Category: 0 555 | ps4MasterVersion: 01.00 556 | ps4AppVersion: 01.00 557 | ps4AppType: 0 558 | ps4ParamSfxPath: 559 | ps4VideoOutPixelFormat: 0 560 | ps4VideoOutInitialWidth: 1920 561 | ps4VideoOutBaseModeInitialWidth: 1920 562 | ps4VideoOutReprojectionRate: 60 563 | ps4PronunciationXMLPath: 564 | ps4PronunciationSIGPath: 565 | ps4BackgroundImagePath: 566 | ps4StartupImagePath: 567 | ps4StartupImagesFolder: 568 | ps4IconImagesFolder: 569 | ps4SaveDataImagePath: 570 | ps4SdkOverride: 571 | ps4BGMPath: 572 | ps4ShareFilePath: 573 | ps4ShareOverlayImagePath: 574 | ps4PrivacyGuardImagePath: 575 | ps4ExtraSceSysFile: 576 | ps4NPtitleDatPath: 577 | ps4RemotePlayKeyAssignment: -1 578 | ps4RemotePlayKeyMappingDir: 579 | ps4PlayTogetherPlayerCount: 0 580 | ps4EnterButtonAssignment: 2 581 | ps4ApplicationParam1: 0 582 | ps4ApplicationParam2: 0 583 | ps4ApplicationParam3: 0 584 | ps4ApplicationParam4: 0 585 | ps4DownloadDataSize: 0 586 | ps4GarlicHeapSize: 2048 587 | ps4ProGarlicHeapSize: 2560 588 | playerPrefsMaxSize: 32768 589 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 590 | ps4pnSessions: 1 591 | ps4pnPresence: 1 592 | ps4pnFriends: 1 593 | ps4pnGameCustomData: 1 594 | playerPrefsSupport: 0 595 | enableApplicationExit: 0 596 | resetTempFolder: 1 597 | restrictedAudioUsageRights: 0 598 | ps4UseResolutionFallback: 0 599 | ps4ReprojectionSupport: 0 600 | ps4UseAudio3dBackend: 0 601 | ps4UseLowGarlicFragmentationMode: 1 602 | ps4SocialScreenEnabled: 0 603 | ps4ScriptOptimizationLevel: 2 604 | ps4Audio3dVirtualSpeakerCount: 14 605 | ps4attribCpuUsage: 0 606 | ps4PatchPkgPath: 607 | ps4PatchLatestPkgPath: 608 | ps4PatchChangeinfoPath: 609 | ps4PatchDayOne: 0 610 | ps4attribUserManagement: 0 611 | ps4attribMoveSupport: 0 612 | ps4attrib3DSupport: 0 613 | ps4attribShareSupport: 0 614 | ps4attribExclusiveVR: 0 615 | ps4disableAutoHideSplash: 0 616 | ps4videoRecordingFeaturesUsed: 0 617 | ps4contentSearchFeaturesUsed: 0 618 | ps4CompatibilityPS5: 0 619 | ps4AllowPS5Detection: 0 620 | ps4GPU800MHz: 1 621 | ps4attribEyeToEyeDistanceSettingVR: 0 622 | ps4IncludedModules: [] 623 | ps4attribVROutputEnabled: 0 624 | monoEnv: 625 | splashScreenBackgroundSourceLandscape: {fileID: 0} 626 | splashScreenBackgroundSourcePortrait: {fileID: 0} 627 | blurSplashScreenBackground: 1 628 | spritePackerPolicy: 629 | webGLMemorySize: 32 630 | webGLExceptionSupport: 1 631 | webGLNameFilesAsHashes: 0 632 | webGLShowDiagnostics: 0 633 | webGLDataCaching: 1 634 | webGLDebugSymbols: 0 635 | webGLEmscriptenArgs: 636 | webGLModulesDirectory: 637 | webGLTemplate: APPLICATION:Default 638 | webGLAnalyzeBuildSize: 0 639 | webGLUseEmbeddedResources: 0 640 | webGLCompressionFormat: 0 641 | webGLWasmArithmeticExceptions: 0 642 | webGLLinkerTarget: 1 643 | webGLThreadsSupport: 0 644 | webGLDecompressionFallback: 0 645 | webGLInitialMemorySize: 32 646 | webGLMaximumMemorySize: 2048 647 | webGLMemoryGrowthMode: 2 648 | webGLMemoryLinearGrowthStep: 16 649 | webGLMemoryGeometricGrowthStep: 0.2 650 | webGLMemoryGeometricGrowthCap: 96 651 | webGLPowerPreference: 2 652 | scriptingDefineSymbols: {} 653 | additionalCompilerArguments: {} 654 | platformArchitecture: {} 655 | scriptingBackend: {} 656 | il2cppCompilerConfiguration: {} 657 | il2cppCodeGeneration: {} 658 | managedStrippingLevel: {} 659 | incrementalIl2cppBuild: {} 660 | suppressCommonWarnings: 1 661 | allowUnsafeCode: 0 662 | useDeterministicCompilation: 1 663 | selectedPlatform: 0 664 | additionalIl2CppArgs: 665 | scriptingRuntimeVersion: 1 666 | gcIncremental: 0 667 | gcWBarrierValidation: 0 668 | apiCompatibilityLevelPerPlatform: {} 669 | m_RenderingPath: 1 670 | m_MobileRenderingPath: 1 671 | metroPackageName: SimpleTools 672 | metroPackageVersion: 673 | metroCertificatePath: 674 | metroCertificatePassword: 675 | metroCertificateSubject: 676 | metroCertificateIssuer: 677 | metroCertificateNotAfter: 0000000000000000 678 | metroApplicationDescription: SimpleTools 679 | wsaImages: {} 680 | metroTileShortName: 681 | metroTileShowName: 0 682 | metroMediumTileShowName: 0 683 | metroLargeTileShowName: 0 684 | metroWideTileShowName: 0 685 | metroSupportStreamingInstall: 0 686 | metroLastRequiredScene: 0 687 | metroDefaultTileSize: 1 688 | metroTileForegroundText: 2 689 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 690 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 691 | a: 1} 692 | metroSplashScreenUseBackgroundColor: 0 693 | platformCapabilities: {} 694 | metroTargetDeviceFamilies: {} 695 | metroFTAName: 696 | metroFTAFileTypes: [] 697 | metroProtocolName: 698 | vcxProjDefaultLanguage: 699 | XboxOneProductId: 700 | XboxOneUpdateKey: 701 | XboxOneSandboxId: 702 | XboxOneContentId: 703 | XboxOneTitleId: 704 | XboxOneSCId: 705 | XboxOneGameOsOverridePath: 706 | XboxOnePackagingOverridePath: 707 | XboxOneAppManifestOverridePath: 708 | XboxOneVersion: 1.0.0.0 709 | XboxOnePackageEncryption: 0 710 | XboxOnePackageUpdateGranularity: 2 711 | XboxOneDescription: 712 | XboxOneLanguage: 713 | - enus 714 | XboxOneCapability: [] 715 | XboxOneGameRating: {} 716 | XboxOneIsContentPackage: 0 717 | XboxOneEnhancedXboxCompatibilityMode: 0 718 | XboxOneEnableGPUVariability: 1 719 | XboxOneSockets: {} 720 | XboxOneSplashScreen: {fileID: 0} 721 | XboxOneAllowedProductIds: [] 722 | XboxOnePersistentLocalStorageSize: 0 723 | XboxOneXTitleMemory: 8 724 | XboxOneOverrideIdentityName: 725 | XboxOneOverrideIdentityPublisher: 726 | vrEditorSettings: {} 727 | cloudServicesEnabled: {} 728 | luminIcon: 729 | m_Name: 730 | m_ModelFolderPath: 731 | m_PortalFolderPath: 732 | luminCert: 733 | m_CertPath: 734 | m_SignPackage: 1 735 | luminIsChannelApp: 0 736 | luminVersion: 737 | m_VersionCode: 1 738 | m_VersionName: 739 | hmiPlayerDataPath: 740 | hmiForceSRGBBlit: 1 741 | embeddedLinuxEnableGamepadInput: 1 742 | hmiLogStartupTiming: 0 743 | hmiCpuConfiguration: 744 | apiCompatibilityLevel: 6 745 | activeInputHandler: 0 746 | windowsGamepadBackendHint: 0 747 | cloudProjectId: 748 | framebufferDepthMemorylessMode: 0 749 | qualitySettingsNames: [] 750 | projectName: 751 | organizationId: 752 | cloudEnabled: 0 753 | legacyClampBlendShapeWeights: 0 754 | hmiLoadingImage: {fileID: 0} 755 | virtualTexturingSupportEnabled: 0 756 | insecureHttpOption: 0 757 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2022.2.6f1 2 | m_EditorVersionWithRevision: 2022.2.6f1 (10bfa6201ced) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | skinWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 4 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 16 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | customRenderPipeline: {fileID: 0} 44 | excludedTargetPlatforms: [] 45 | - serializedVersion: 2 46 | name: Low 47 | pixelLightCount: 0 48 | shadows: 0 49 | shadowResolution: 0 50 | shadowProjection: 1 51 | shadowCascades: 1 52 | shadowDistance: 20 53 | shadowNearPlaneOffset: 3 54 | shadowCascade2Split: 0.33333334 55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 56 | shadowmaskMode: 0 57 | skinWeights: 2 58 | textureQuality: 0 59 | anisotropicTextures: 0 60 | antiAliasing: 0 61 | softParticles: 0 62 | softVegetation: 0 63 | realtimeReflectionProbes: 0 64 | billboardsFaceCameraPosition: 0 65 | vSyncCount: 0 66 | lodBias: 0.4 67 | maximumLODLevel: 0 68 | streamingMipmapsActive: 0 69 | streamingMipmapsAddAllCameras: 1 70 | streamingMipmapsMemoryBudget: 512 71 | streamingMipmapsRenderersPerFrame: 512 72 | streamingMipmapsMaxLevelReduction: 2 73 | streamingMipmapsMaxFileIORequests: 1024 74 | particleRaycastBudget: 16 75 | asyncUploadTimeSlice: 2 76 | asyncUploadBufferSize: 16 77 | asyncUploadPersistentBuffer: 1 78 | resolutionScalingFixedDPIFactor: 1 79 | customRenderPipeline: {fileID: 0} 80 | excludedTargetPlatforms: [] 81 | - serializedVersion: 2 82 | name: Medium 83 | pixelLightCount: 1 84 | shadows: 1 85 | shadowResolution: 0 86 | shadowProjection: 1 87 | shadowCascades: 1 88 | shadowDistance: 20 89 | shadowNearPlaneOffset: 3 90 | shadowCascade2Split: 0.33333334 91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 92 | shadowmaskMode: 0 93 | skinWeights: 2 94 | textureQuality: 0 95 | anisotropicTextures: 1 96 | antiAliasing: 0 97 | softParticles: 0 98 | softVegetation: 0 99 | realtimeReflectionProbes: 0 100 | billboardsFaceCameraPosition: 0 101 | vSyncCount: 1 102 | lodBias: 0.7 103 | maximumLODLevel: 0 104 | streamingMipmapsActive: 0 105 | streamingMipmapsAddAllCameras: 1 106 | streamingMipmapsMemoryBudget: 512 107 | streamingMipmapsRenderersPerFrame: 512 108 | streamingMipmapsMaxLevelReduction: 2 109 | streamingMipmapsMaxFileIORequests: 1024 110 | particleRaycastBudget: 64 111 | asyncUploadTimeSlice: 2 112 | asyncUploadBufferSize: 16 113 | asyncUploadPersistentBuffer: 1 114 | resolutionScalingFixedDPIFactor: 1 115 | customRenderPipeline: {fileID: 0} 116 | excludedTargetPlatforms: [] 117 | - serializedVersion: 2 118 | name: High 119 | pixelLightCount: 2 120 | shadows: 2 121 | shadowResolution: 1 122 | shadowProjection: 1 123 | shadowCascades: 2 124 | shadowDistance: 40 125 | shadowNearPlaneOffset: 3 126 | shadowCascade2Split: 0.33333334 127 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 128 | shadowmaskMode: 1 129 | skinWeights: 2 130 | textureQuality: 0 131 | anisotropicTextures: 1 132 | antiAliasing: 0 133 | softParticles: 0 134 | softVegetation: 1 135 | realtimeReflectionProbes: 1 136 | billboardsFaceCameraPosition: 1 137 | vSyncCount: 1 138 | lodBias: 1 139 | maximumLODLevel: 0 140 | streamingMipmapsActive: 0 141 | streamingMipmapsAddAllCameras: 1 142 | streamingMipmapsMemoryBudget: 512 143 | streamingMipmapsRenderersPerFrame: 512 144 | streamingMipmapsMaxLevelReduction: 2 145 | streamingMipmapsMaxFileIORequests: 1024 146 | particleRaycastBudget: 256 147 | asyncUploadTimeSlice: 2 148 | asyncUploadBufferSize: 16 149 | asyncUploadPersistentBuffer: 1 150 | resolutionScalingFixedDPIFactor: 1 151 | customRenderPipeline: {fileID: 0} 152 | excludedTargetPlatforms: [] 153 | - serializedVersion: 2 154 | name: Very High 155 | pixelLightCount: 3 156 | shadows: 2 157 | shadowResolution: 2 158 | shadowProjection: 1 159 | shadowCascades: 2 160 | shadowDistance: 70 161 | shadowNearPlaneOffset: 3 162 | shadowCascade2Split: 0.33333334 163 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 164 | shadowmaskMode: 1 165 | skinWeights: 4 166 | textureQuality: 0 167 | anisotropicTextures: 2 168 | antiAliasing: 2 169 | softParticles: 1 170 | softVegetation: 1 171 | realtimeReflectionProbes: 1 172 | billboardsFaceCameraPosition: 1 173 | vSyncCount: 1 174 | lodBias: 1.5 175 | maximumLODLevel: 0 176 | streamingMipmapsActive: 0 177 | streamingMipmapsAddAllCameras: 1 178 | streamingMipmapsMemoryBudget: 512 179 | streamingMipmapsRenderersPerFrame: 512 180 | streamingMipmapsMaxLevelReduction: 2 181 | streamingMipmapsMaxFileIORequests: 1024 182 | particleRaycastBudget: 1024 183 | asyncUploadTimeSlice: 2 184 | asyncUploadBufferSize: 16 185 | asyncUploadPersistentBuffer: 1 186 | resolutionScalingFixedDPIFactor: 1 187 | customRenderPipeline: {fileID: 0} 188 | excludedTargetPlatforms: [] 189 | - serializedVersion: 2 190 | name: Ultra 191 | pixelLightCount: 4 192 | shadows: 2 193 | shadowResolution: 2 194 | shadowProjection: 1 195 | shadowCascades: 4 196 | shadowDistance: 150 197 | shadowNearPlaneOffset: 3 198 | shadowCascade2Split: 0.33333334 199 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 200 | shadowmaskMode: 1 201 | skinWeights: 255 202 | textureQuality: 0 203 | anisotropicTextures: 2 204 | antiAliasing: 2 205 | softParticles: 1 206 | softVegetation: 1 207 | realtimeReflectionProbes: 1 208 | billboardsFaceCameraPosition: 1 209 | vSyncCount: 1 210 | lodBias: 2 211 | maximumLODLevel: 0 212 | streamingMipmapsActive: 0 213 | streamingMipmapsAddAllCameras: 1 214 | streamingMipmapsMemoryBudget: 512 215 | streamingMipmapsRenderersPerFrame: 512 216 | streamingMipmapsMaxLevelReduction: 2 217 | streamingMipmapsMaxFileIORequests: 1024 218 | particleRaycastBudget: 4096 219 | asyncUploadTimeSlice: 2 220 | asyncUploadBufferSize: 16 221 | asyncUploadPersistentBuffer: 1 222 | resolutionScalingFixedDPIFactor: 1 223 | customRenderPipeline: {fileID: 0} 224 | excludedTargetPlatforms: [] 225 | m_PerPlatformDefaultQuality: 226 | Android: 2 227 | Lumin: 5 228 | Nintendo Switch: 5 229 | PS4: 5 230 | Stadia: 5 231 | Standalone: 5 232 | WebGL: 3 233 | Windows Store Apps: 5 234 | XboxOne: 5 235 | iPhone: 2 236 | tvOS: 2 237 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SimpleTools 2 | 3 | Some tools I made for making my daily work easier. \ 4 | Unity version : 2022.2.0b15+ on master. For older versions pleaase see branches. 5 | 6 | ## Editor 7 | 8 | | Script | Image | Description | 9 | | --- | - | --- | 10 | | `EditorTime` | ![](READMEImages/EditorTime.JPG) | Let's say you leave it open before you close Unity. Then you reopen Unity, you will see how much time the Editor spent loading up the editor.. same usage for checking asset loading time, scene loading time etc. | 11 | | `ScreenCaptureEditorTool` | ![](READMEImages/ScreenCaptureEditorTool.JPG) | Just make a screen capture | 12 | | `RenameObjectsTool` | ![](READMEImages/RenameObjectsTool.JPG) | Rename scene objects or project files | 13 | | `PlaceObjectsTool` | ![](READMEImages/PlaceObjectsTool.JPG) | Distribute / Align / Random / CopyPaste the GameObjects transform, Replace objects | 14 | | `ShaderVariantTool` | ![](Assets/Editor/ShaderVariantTool/README01.jpg) | See what shader variants are included in the build. [See details here](https://github.com/cinight/ShaderVariantTool) | 15 | | `ReadCompiledShaderTool` | ![](Assets/Editor/Read_Compiled_Shader_Tool/ReadCompiledShaderTool.JPG) | Gather shader math , temp registers, textures and branches count from D3D shader compiler | 16 | | `AnimationPreviewTool` | ![](READMEImages/AnimationPreviewTool.JPG) | Preview any animation that exists on any scene GameObjects | 17 | | `AsyncShaderCompilingTool` | ![](READMEImages/AsyncShaderCompilingTool.JPG) | Select materials and compile the shader passes | 18 | 19 | ## Runtime 20 | 21 | | Script | Image | Description | 22 | | --- | - | --- | 23 | | `SimpleSceneSwitch` | ![](READMEImages/SimpleSceneSwitch.JPG) | Make an empty scene, add to BuildSettings, drag this script to any object | 24 | | `xxxxxx` | ![](READMEImages/xxxxxx.JPG) | xxxxx | 25 | 26 | -------------------------------------------------------------------------------- /READMEImages/AnimationPreviewTool.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/AnimationPreviewTool.JPG -------------------------------------------------------------------------------- /READMEImages/AsyncShaderCompilingTool.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/AsyncShaderCompilingTool.JPG -------------------------------------------------------------------------------- /READMEImages/EditorTime.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/EditorTime.JPG -------------------------------------------------------------------------------- /READMEImages/PlaceObjectsTool.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/PlaceObjectsTool.JPG -------------------------------------------------------------------------------- /READMEImages/RenameObjectsTool.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/RenameObjectsTool.JPG -------------------------------------------------------------------------------- /READMEImages/ScreenCaptureEditorTool.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/ScreenCaptureEditorTool.JPG -------------------------------------------------------------------------------- /READMEImages/SimpleSceneSwitch.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cinight/SimpleTools/71e875ac0355ed98e11686901cc92dd64d3bb0e9/READMEImages/SimpleSceneSwitch.JPG --------------------------------------------------------------------------------