├── .gitattributes ├── .gitignore ├── DebugX.asmdef ├── DebugX.asmdef.meta ├── Editor.meta ├── Editor ├── DebugX.Editor.asmdef ├── DebugX.Editor.asmdef.meta ├── Settings.meta └── Settings │ ├── DebugXSettings.cs │ ├── DebugXSettings.cs.meta │ ├── DefinesUtility.cs │ └── DefinesUtility.cs.meta ├── LICENSE.md ├── LICENSE.md.meta ├── README-RU.md ├── README-RU.md.meta ├── README-ZH.md ├── README-ZH.md.meta ├── README.md ├── README.md.meta ├── Runtime.meta ├── Runtime ├── Consts.cs ├── Consts.cs.meta ├── DebugX.cs ├── DebugX.cs.meta ├── DebugX.globals.cs ├── DebugX.globals.cs.meta ├── Gizmos.meta ├── Gizmos │ ├── DebugX.base.cs │ ├── DebugX.base.cs.meta │ ├── DebugX.dots.cs │ ├── DebugX.dots.cs.meta │ ├── DebugX.lines.cs │ ├── DebugX.lines.cs.meta │ ├── DebugX.other.cs │ ├── DebugX.other.cs.meta │ ├── DebugX.primitives.cs │ ├── DebugX.primitives.cs.meta │ ├── DebugX.raycasts.cs │ ├── DebugX.raycasts.cs.meta │ ├── Text.meta │ └── Text │ │ ├── DebugXTextSettings.cs │ │ ├── DebugXTextSettings.cs.meta │ │ ├── TextDrawHandlerExtensions.cs │ │ ├── TextDrawHandlerExtensions.cs.meta │ │ ├── TextGizmo.cs │ │ └── TextGizmo.cs.meta ├── Internal.meta ├── Internal │ ├── ColorExtensions.cs │ ├── ColorExtensions.cs.meta │ ├── CommandBufferExecutors.cs │ ├── CommandBufferExecutors.cs.meta │ ├── GizmoTypeCode.cs │ ├── GizmoTypeCode.cs.meta │ ├── PinnedArray.cs │ ├── PinnedArray.cs.meta │ ├── StructList.cs │ └── StructList.cs.meta ├── Materials.meta ├── Materials │ ├── Billboard.mat │ ├── Billboard.mat.meta │ ├── Dot.mat │ ├── Dot.mat.meta │ ├── Lit.mat │ ├── Lit.mat.meta │ ├── TextBackground.mat │ ├── TextBackground.mat.meta │ ├── Unlit.mat │ ├── Unlit.mat.meta │ ├── UnlitOverwrite.mat │ ├── UnlitOverwrite.mat.meta │ ├── WireLine.mat │ └── WireLine.mat.meta ├── Meshes.meta ├── Meshes │ ├── Arrow.asset │ ├── Arrow.asset.meta │ ├── CapsuleBody.asset │ ├── CapsuleBody.asset.meta │ ├── CapsuleHead.asset │ ├── CapsuleHead.asset.meta │ ├── Circle.asset │ ├── Circle.asset.meta │ ├── Cone.asset │ ├── Cone.asset.meta │ ├── Cylinder.asset │ ├── Cylinder.asset.meta │ ├── Dot.asset │ ├── Dot.asset.meta │ ├── DotCross.asset │ ├── DotCross.asset.meta │ ├── DotDiamond.asset │ ├── DotDiamond.asset.meta │ ├── FlatCapsuleBody.asset │ ├── FlatCapsuleBody.asset.meta │ ├── FlatCapsuleHead.asset │ ├── FlatCapsuleHead.asset.meta │ ├── Quad.asset │ ├── Quad.asset.meta │ ├── Sphere.asset │ ├── Sphere.asset.meta │ ├── Triangle.asset │ ├── Triangle.asset.meta │ ├── WireArc.asset │ ├── WireArc.asset.meta │ ├── WireCircle.asset │ ├── WireCircle.asset.meta │ ├── WireCube.asset │ ├── WireCube.asset.meta │ ├── WireDotDiamond.asset │ ├── WireDotDiamond.asset.meta │ ├── WireLine.asset │ ├── WireLine.asset.meta │ ├── WireSphere.asset │ └── WireSphere.asset.meta ├── Resources.meta ├── Resources │ ├── DCFApixels.DebugX.meta │ └── DCFApixels.DebugX │ │ ├── MaterialsList.prefab │ │ ├── MaterialsList.prefab.meta │ │ ├── MeshesList.prefab │ │ └── MeshesList.prefab.meta ├── Shaders.meta ├── Shaders │ ├── Handles.shader │ ├── Handles.shader.meta │ ├── HandlesLibrary.cginc │ ├── HandlesLibrary.cginc.meta │ ├── HandlesOverwrite.shader │ ├── HandlesOverwrite.shader.meta │ ├── HandlesWire.shader │ ├── HandlesWire.shader.meta │ ├── TextBackground.shader │ └── TextBackground.shader.meta ├── Utils.meta └── Utils │ ├── DebugXAssets.cs │ ├── DebugXAssets.cs.meta │ ├── DebugXUtility.cs │ ├── DebugXUtility.cs.meta │ ├── GizmosList.cs │ ├── GizmosList.cs.meta │ ├── IGizmo.cs │ ├── IGizmo.cs.meta │ ├── StaticData.cs │ ├── StaticData.cs.meta │ ├── ValidationUtils.cs │ └── ValidationUtils.cs.meta ├── Samples.meta ├── Samples ├── DebugX.Samples.asmdef ├── DebugX.Samples.asmdef.meta ├── Other.meta ├── Other │ ├── FakeLight.shader │ ├── FakeLight.shader.meta │ ├── FakeLightMat.mat │ ├── FakeLightMat.mat.meta │ ├── FakeLitShader.shader │ ├── FakeLitShader.shader.meta │ ├── Skybox.mat │ ├── Skybox.mat.meta │ ├── Skybox.shader │ ├── Skybox.shader.meta │ ├── Wall1.mat │ ├── Wall1.mat.meta │ ├── Wall2.mat │ └── Wall2.mat.meta ├── Sample.unity ├── Sample.unity.meta ├── Scripts.meta └── Scripts │ ├── DebugXSample_Lines.cs │ ├── DebugXSample_Lines.cs.meta │ ├── DebugXSample_LinesList.cs │ ├── DebugXSample_LinesList.cs.meta │ ├── DebugXSample_Other.cs │ ├── DebugXSample_Other.cs.meta │ ├── DebugXSample_Primitives2D.cs │ ├── DebugXSample_Primitives2D.cs.meta │ ├── DebugXSample_Primitives3D.cs │ ├── DebugXSample_Primitives3D.cs.meta │ ├── DebugXSample_Raycasts2D.cs │ ├── DebugXSample_Raycasts2D.cs.meta │ ├── DebugXSample_Raycasts3D.cs │ ├── DebugXSample_Raycasts3D.cs.meta │ ├── QuasiRandom.cs │ ├── QuasiRandom.cs.meta │ ├── QuasiRandom.unity.cs │ ├── QuasiRandom.unity.cs.meta │ ├── Utils.cs │ └── Utils.cs.meta ├── package.json └── package.json.meta /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | LICENSE.meta linguist-generated=true 4 | LICENSE.meta binary -------------------------------------------------------------------------------- /.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/main/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Uu]ser[Ss]ettings/ 12 | 13 | # MemoryCaptures can get excessive in size. 14 | # They also could contain extremely sensitive data 15 | /[Mm]emoryCaptures/ 16 | 17 | # Recordings can get excessive in size 18 | /[Rr]ecordings/ 19 | 20 | # Uncomment this line if you wish to ignore the asset store tools plugin 21 | # /[Aa]ssets/AssetStoreTools* 22 | 23 | # Autogenerated Jetbrains Rider plugin 24 | /[Aa]ssets/Plugins/Editor/JetBrains* 25 | 26 | # Visual Studio cache directory 27 | .vs/ 28 | 29 | # Gradle cache directory 30 | .gradle/ 31 | 32 | # Autogenerated VS/MD/Consulo solution and project files 33 | ExportedObj/ 34 | .consulo/ 35 | *.csproj 36 | *.unityproj 37 | *.sln 38 | *.suo 39 | *.tmp 40 | *.user 41 | *.userprefs 42 | *.pidb 43 | *.booproj 44 | *.svd 45 | *.pdb 46 | *.mdb 47 | *.opendb 48 | *.VC.db 49 | 50 | # Unity3D generated meta files 51 | *.pidb.meta 52 | *.pdb.meta 53 | *.mdb.meta 54 | 55 | # Unity3D generated file on crash reports 56 | sysinfo.txt 57 | 58 | # Builds 59 | *.apk 60 | *.aab 61 | *.unitypackage 62 | *.app 63 | 64 | # Crashlytics generated file 65 | crashlytics-build.properties 66 | 67 | # Packed Addressables 68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin* 69 | 70 | # Temporary auto-generated Android Assets 71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta 72 | /[Aa]ssets/[Ss]treamingAssets/aa/* 73 | -------------------------------------------------------------------------------- /DebugX.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DCFApixels.DebugX", 3 | "rootNamespace": "DCFApixels", 4 | "references": [], 5 | "includePlatforms": [], 6 | "excludePlatforms": [], 7 | "allowUnsafeCode": true, 8 | "overrideReferences": false, 9 | "precompiledReferences": [], 10 | "autoReferenced": true, 11 | "defineConstraints": [], 12 | "versionDefines": [], 13 | "noEngineReferences": false 14 | } -------------------------------------------------------------------------------- /DebugX.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1139531e2a3a6bd4c8ad2bc68ae00719 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69b88b9c96288ed4bbd865e41090f8db 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/DebugX.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DCFApixels.DebugX.Editor", 3 | "rootNamespace": "DCFApixels", 4 | "references": [ 5 | "GUID:1139531e2a3a6bd4c8ad2bc68ae00719" 6 | ], 7 | "includePlatforms": [ 8 | "Editor" 9 | ], 10 | "excludePlatforms": [], 11 | "allowUnsafeCode": true, 12 | "overrideReferences": false, 13 | "precompiledReferences": [], 14 | "autoReferenced": true, 15 | "defineConstraints": [], 16 | "versionDefines": [], 17 | "noEngineReferences": false 18 | } -------------------------------------------------------------------------------- /Editor/DebugX.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00687d448c048144183f19c17d44692c 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Settings.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2aa216c9de30dac4fbd278883c463d15 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Settings/DebugXSettings.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using UnityEditor; 3 | using UnityEditor.Compilation; 4 | using UnityEngine; 5 | 6 | namespace DCFApixels.DebugXCore.Internal 7 | { 8 | internal class DebugXSettings : EditorWindow 9 | { 10 | [MenuItem("Tools/DebugX/Settings")] 11 | private static void Open() 12 | { 13 | DebugXSettings window = (DebugXSettings)EditorWindow.GetWindow(typeof(DebugXSettings)); 14 | window.Show(); 15 | //window._isHasDisableDebugXInBuildSymbols = null; 16 | CompilationPipeline.compilationFinished -= CompilationPipeline_compilationFinished; 17 | CompilationPipeline.compilationFinished += CompilationPipeline_compilationFinished; 18 | } 19 | 20 | private static void CompilationPipeline_compilationFinished(object obj) 21 | { 22 | //_isCompilation = false; 23 | _defines = null; 24 | } 25 | 26 | //private static bool _isCompilation; 27 | //private bool? _isHasDisableDebugXInBuildSymbols = false; 28 | //private const string DEFINE_NAME = nameof(DebugXDefines.DEBUGX_DISABLE_INBUILD); 29 | private static (string name, bool flag)[] _defines = null; 30 | private static Vector2 _pos; 31 | 32 | private void OnGUI() 33 | { 34 | _pos = GUILayout.BeginScrollView(_pos, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true)); 35 | float tmpValue; 36 | 37 | DebugX.GlobalTimeScale = EditorGUILayout.FloatField("TimeScale", DebugX.GlobalTimeScale); 38 | EditorGUI.BeginChangeCheck(); 39 | tmpValue = EditorGUILayout.Slider(DebugX.GlobalTimeScale, 0, 2); 40 | if (EditorGUI.EndChangeCheck()) 41 | { 42 | DebugX.GlobalTimeScale = tmpValue; 43 | } 44 | 45 | DebugX.GlobalDotSize = EditorGUILayout.FloatField("DotSize", DebugX.GlobalDotSize); 46 | EditorGUI.BeginChangeCheck(); 47 | tmpValue = EditorGUILayout.Slider(DebugX.GlobalDotSize, 0, 2); 48 | if (EditorGUI.EndChangeCheck()) 49 | { 50 | DebugX.GlobalDotSize = tmpValue; 51 | } 52 | 53 | DebugX.GlobalColor = EditorGUILayout.ColorField("Color", DebugX.GlobalColor); 54 | Color color = DebugX.GlobalColor; 55 | color.a = EditorGUILayout.Slider(DebugX.GlobalColor.a, 0, 1); 56 | DebugX.GlobalColor = color; 57 | 58 | if (GUILayout.Button("Reset")) 59 | { 60 | DebugX.ResetGlobals(); 61 | } 62 | if (GUILayout.Button("Clear All Gizmos")) 63 | { 64 | DebugX.ClearAllGizmos(); 65 | } 66 | 67 | GUILayout.Space(4); 68 | 69 | GUILayout.BeginVertical(EditorStyles.helpBox); 70 | GUILayout.Label("Information", EditorStyles.helpBox); 71 | DrawReadonlyLeftToggle("Is SRP", DebugXConsts.IsSRP); 72 | DrawReadonlyLeftToggle("Support GPU Instancing", DebugXConsts.IsSupportsComputeShaders); 73 | DrawReadonlyLeftToggle("Support OnGizmosDraw methods", DebugXConsts.IsSRP); 74 | GUILayout.EndVertical(); 75 | 76 | GUILayout.BeginVertical(EditorStyles.helpBox); 77 | GUILayout.Label("Scripting Define Symbols", EditorStyles.helpBox); 78 | if (_defines == null) 79 | { 80 | _defines = DefinesUtility.LoadDefines(typeof(DebugXDefines)); 81 | } 82 | for (int i = 0; i < _defines.Length; i++) 83 | { 84 | ref var define = ref _defines[i]; 85 | define.flag = EditorGUILayout.ToggleLeft(define.name, define.flag); 86 | } 87 | if (GUILayout.Button("Apply Defines")) 88 | { 89 | DefinesUtility.ApplyDefines(_defines); 90 | } 91 | GUILayout.EndVertical(); 92 | 93 | GUILayout.EndScrollView(); 94 | } 95 | 96 | private void DrawReadonlyLeftToggle(string text, bool value) 97 | { 98 | GUILayout.BeginHorizontal(); 99 | bool GUI_enabled_default = GUI.enabled; 100 | GUI.enabled = false; 101 | EditorGUILayout.Toggle(value, GUILayout.Width(14), GUILayout.ExpandWidth(false)); 102 | GUI.enabled = GUI_enabled_default; 103 | EditorGUILayout.LabelField(text, GUILayout.ExpandWidth(true)); 104 | GUILayout.EndHorizontal(); 105 | } 106 | } 107 | } 108 | #endif -------------------------------------------------------------------------------- /Editor/Settings/DebugXSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc3681ae976053d4b8a19a105ae0b81e -------------------------------------------------------------------------------- /Editor/Settings/DefinesUtility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Reflection; 4 | using UnityEditor; 5 | using UnityEditor.Build; 6 | 7 | namespace DCFApixels.DebugXCore.Internal 8 | { 9 | internal static class DefinesUtility 10 | { 11 | public static (string name, bool flag)[] LoadDefines(Type defineConstsType) 12 | { 13 | const BindingFlags REFL_FLAGS = BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic; 14 | var fields = defineConstsType.GetFields(REFL_FLAGS); 15 | return fields.Where(o => o.FieldType == typeof(bool)).Select(o => (o.Name, (bool)o.GetValue(null))).ToArray(); 16 | 17 | } 18 | 19 | public static void ApplyDefines((string name, bool flag)[] defines) 20 | { 21 | BuildTargetGroup group = EditorUserBuildSettings.selectedBuildTargetGroup; 22 | #if UNITY_6000_0_OR_NEWER 23 | string symbolsString = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(group)); 24 | #else 25 | string symbolsString = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone); 26 | #endif 27 | 28 | for (int i = 0; i < defines.Length; i++) 29 | { 30 | symbolsString = symbolsString.Replace(defines[i].name, ""); 31 | } 32 | symbolsString += ";" + string.Join(';', defines.Where(o => o.flag).Select(o => o.name)); 33 | #if UNITY_6000_0_OR_NEWER 34 | PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.FromBuildTargetGroup(group), symbolsString); 35 | #else 36 | PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, symbolsString); 37 | #endif 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Editor/Settings/DefinesUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77addf06144f4214a925257238d65cb0 -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 DCFApixels 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98e7c3305dfb1c1408d4d56c139f8e60 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README-RU.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2f5be859c68e624c80b0c0346b7a097 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README-ZH.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7f72ea7f76e11b49986de514fc5d029 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7937e1a77861c4448a0275c638017bc 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98079f62e17df38458ef9a2e4d04cd14 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Consts.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | 5 | namespace DCFApixels 6 | { 7 | //TODO для разработки аналога Handlers.DrawWireArc можно посмотреть в сторону того чтобы на уровне шейдера делать пиксели прозрачными 8 | public static class DebugXConsts 9 | { 10 | public const float IMMEDIATE_DURATION = -1; 11 | public const float DOT_SIZE = 0.05f; 12 | 13 | public readonly static bool IsSRP = GraphicsSettings.currentRenderPipeline != null; 14 | public readonly static bool IsSupportsComputeShaders = SystemInfo.supportsComputeShaders; 15 | } 16 | public static partial class DebugX 17 | { 18 | internal const MethodImplOptions LINE = MethodImplOptions.AggressiveInlining; 19 | 20 | private const float DEFAULT_DURATION = 0f; 21 | private static readonly Color DEFAULT_COLOR = Color.white; 22 | 23 | private const string GLOBAL_TIME_SCALE_PREF_NAME = "DCFApixels.DebugX.TimeScale"; 24 | private const string GLOBAL_DOT_SIZE_PREF_NAME = "DCFApixels.DebugX.DotSize"; 25 | private const string GLOBAL_COLOR_PREF_NAME = "DCFApixels.DebugX.Color"; 26 | 27 | private readonly static int GlobalDotSizePropertyID = Shader.PropertyToID("_DebugX_GlobalDotSize"); 28 | private readonly static int GlobalColorPropertyID = Shader.PropertyToID("_DebugX_GlobalColor"); 29 | internal readonly static int ColorPropertyID = Shader.PropertyToID("_Color"); 30 | 31 | 32 | 33 | private enum DebugXPauseState 34 | { 35 | Unpaused = 0, 36 | PreUnpaused = 1, //нужно чтобы отщелкунть паузу с задержкой в один тик 37 | Paused = 2, 38 | } 39 | } 40 | public enum DebugXLine 41 | { 42 | Default, 43 | Arrow, 44 | Fade, 45 | } 46 | } 47 | namespace DCFApixels.DebugXCore 48 | { 49 | public static class DebugXDefines 50 | { 51 | public const bool DEBUGX_DISABLE_INBUILD = 52 | #if DEBUGX_DISABLE_INBUILD 53 | true; 54 | #else 55 | false; 56 | #endif 57 | public const bool DEBUGX_ENABLE_PHYSICS2D = 58 | #if DEBUGX_ENABLE_PHYSICS2D 59 | true; 60 | #else 61 | false; 62 | #endif 63 | public const bool DEBUGX_ENABLE_PHYSICS3D = 64 | #if DEBUGX_ENABLE_PHYSICS3D 65 | true; 66 | #else 67 | false; 68 | #endif 69 | } 70 | } -------------------------------------------------------------------------------- /Runtime/Consts.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22628015b1c17ea43a12c150546ea369 -------------------------------------------------------------------------------- /Runtime/DebugX.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DCFApixels/Unity-DebugX/e470b229bc95be1f4abe7d6b95f1c8b37247862d/Runtime/DebugX.cs -------------------------------------------------------------------------------- /Runtime/DebugX.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9d419d5313e7ff48a7a8e9561e30b17 -------------------------------------------------------------------------------- /Runtime/DebugX.globals.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | #if UNITY_EDITOR 3 | using UnityEditor; 4 | #endif 5 | 6 | namespace DCFApixels 7 | { 8 | public static unsafe partial class DebugX 9 | { 10 | private static float _timeScaleCache; 11 | public static float GlobalTimeScale 12 | { 13 | get { return _timeScaleCache; } 14 | set 15 | { 16 | value = Mathf.Max(0f, value); 17 | if (_timeScaleCache == value) { return; } 18 | _timeScaleCache = value; 19 | #if UNITY_EDITOR 20 | EditorPrefs.SetFloat(GLOBAL_TIME_SCALE_PREF_NAME, value); 21 | #endif 22 | } 23 | } 24 | private static float _dotSizeCache; 25 | public static float GlobalDotSize 26 | { 27 | get { return _dotSizeCache; } 28 | set 29 | { 30 | if (_dotSizeCache == value) { return; } 31 | _dotSizeCache = value; 32 | Shader.SetGlobalFloat(GlobalDotSizePropertyID, _dotSizeCache); 33 | #if UNITY_EDITOR 34 | EditorPrefs.SetFloat(GLOBAL_DOT_SIZE_PREF_NAME, _dotSizeCache); 35 | #endif 36 | } 37 | } 38 | private static Color _globalColorCache; 39 | public static Color GlobalColor 40 | { 41 | get { return _globalColorCache; } 42 | set 43 | { 44 | if (_globalColorCache == value) { return; } 45 | _globalColorCache = value; 46 | Shader.SetGlobalVector(nameID: GlobalColorPropertyID, _globalColorCache); 47 | 48 | Color32 c32 = (Color32)value; 49 | var record = *(int*)&c32; 50 | #if UNITY_EDITOR 51 | EditorPrefs.SetInt(GLOBAL_COLOR_PREF_NAME, record); 52 | #endif 53 | } 54 | } 55 | public static void ResetGlobals() 56 | { 57 | #if UNITY_EDITOR 58 | EditorPrefs.DeleteKey(GLOBAL_TIME_SCALE_PREF_NAME); 59 | EditorPrefs.DeleteKey(GLOBAL_DOT_SIZE_PREF_NAME); 60 | EditorPrefs.DeleteKey(GLOBAL_COLOR_PREF_NAME); 61 | #endif 62 | _dotSizeCache = default; 63 | _timeScaleCache = default; 64 | _globalColorCache = default; 65 | InitGlobals(); 66 | } 67 | private static void InitGlobals() 68 | { 69 | GlobalTimeScale = 1; 70 | GlobalDotSize = 1; 71 | GlobalColor = Color.white; 72 | #if UNITY_EDITOR 73 | GlobalTimeScale = EditorPrefs.GetFloat(GLOBAL_TIME_SCALE_PREF_NAME, 1f); 74 | GlobalDotSize = EditorPrefs.GetFloat(GLOBAL_DOT_SIZE_PREF_NAME, 1f); 75 | var colorCode = EditorPrefs.GetInt(GLOBAL_COLOR_PREF_NAME, -1); 76 | GlobalColor = (Color)(*(Color32*)&colorCode); 77 | #endif 78 | } 79 | } 80 | } -------------------------------------------------------------------------------- /Runtime/DebugX.globals.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b42093f02e7c98c4395413fe24c0784b -------------------------------------------------------------------------------- /Runtime/Gizmos.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4ea287971497fd448a4721fc2513808 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.base.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ea79479ee4b85e4d92f876c7c1cfb7c -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.dots.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels 5 | { 6 | using static DebugXConsts; 7 | using IN = System.Runtime.CompilerServices.MethodImplAttribute; 8 | public unsafe static partial class DebugX 9 | { 10 | public readonly partial struct DrawHandler 11 | { 12 | #region DotCross 13 | [IN(LINE)] public DrawHandler DotCross(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(0.06f, 0.06f, 1f)); 14 | #endregion 15 | 16 | #region Dot 17 | [IN(LINE)] public DrawHandler Dot(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_SIZE, DOT_SIZE, 1f)); 18 | #endregion 19 | 20 | #region WireDot 21 | [IN(LINE)] public DrawHandler WireDot(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_SIZE * 0.5f, DOT_SIZE * 0.5f, 1f)); 22 | #endregion 23 | 24 | #region DotQuad 25 | [IN(LINE)] public DrawHandler DotQuad(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_SIZE, DOT_SIZE, 1f)); 26 | #endregion 27 | 28 | #region WireDotQuad 29 | [IN(LINE)] public DrawHandler WireDotQuad(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_SIZE, DOT_SIZE, 0f)); 30 | #endregion 31 | 32 | #region DotDiamond 33 | [IN(LINE)] public DrawHandler DotDiamond(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_SIZE * 1.16f, DOT_SIZE * 1.16f, 1f)); 34 | #endregion 35 | 36 | #region WireDotDiamond 37 | [IN(LINE)] public DrawHandler WireDotDiamond(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_SIZE * 1.16f, DOT_SIZE * 1.16f, 1f)); 38 | #endregion 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.dots.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5cceb4c23bcb634ca4a5fd4668ed2e1 -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.lines.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c6a033bdaff458438cea80ca3f5e89b -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.other.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | #if UNITY_EDITOR 5 | using UnityEditor; 6 | #endif 7 | 8 | namespace DCFApixels 9 | { 10 | public static class WireArcGizmosExtensions 11 | { 12 | public static DebugX.DrawHandler WireArc(this DebugX.DrawHandler self, Vector3 center, Vector3 normal, Vector3 from, float angle, float radius) 13 | { 14 | return self.Gizmo(new WireArcGizmos(center, normal, from, angle, radius)); 15 | } 16 | } 17 | } 18 | 19 | namespace DCFApixels.DebugXCore 20 | { 21 | using static DebugX; 22 | using IN = System.Runtime.CompilerServices.MethodImplAttribute; 23 | public struct WireArcGizmos : IGizmo 24 | { 25 | public readonly Vector3 Position; 26 | public readonly Vector3 Normal; 27 | public readonly Vector3 From; 28 | public readonly float Angle; 29 | public readonly float Radius; 30 | [IN(LINE)] 31 | public WireArcGizmos(Vector3 position, Vector3 normal, Vector3 from, float angle, float radius) 32 | { 33 | Position = position; 34 | Normal = normal.CheckNormalOrDefault(); 35 | From = from; 36 | Angle = angle; 37 | Radius = radius; 38 | } 39 | public IGizmoRenderer RegisterNewRenderer() 40 | { 41 | return new Renderer(); 42 | } 43 | 44 | private class Renderer : IGizmoRenderer 45 | { 46 | public int ExecuteOrder => default(WireMat).GetExecuteOrder(); 47 | public bool IsStaticRender => false; 48 | public void Prepare(Camera camera, GizmosList list) { } 49 | public void Render(Camera camera, GizmosList list, CommandBuffer cb) 50 | { 51 | #if UNITY_EDITOR 52 | Color handles_color = Handles.color; 53 | foreach (var gizmo in list) 54 | { 55 | Handles.color = gizmo.Color; 56 | Handles.DrawWireArc(gizmo.Value.Position, gizmo.Value.Normal, gizmo.Value.From, gizmo.Value.Angle, gizmo.Value.Radius); 57 | } 58 | Handles.color = handles_color; 59 | #endif 60 | } 61 | } 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.other.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3f0e370bd83bef4a8955d9f9979ce01 -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.primitives.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec7ff37ecff47ce42b8c4a7d76c6b0ae -------------------------------------------------------------------------------- /Runtime/Gizmos/DebugX.raycasts.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e6fb19c25b76b44583a920736fc2d59 -------------------------------------------------------------------------------- /Runtime/Gizmos/Text.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9709faba0386b5244a8ab4c9c7ce49ec 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Gizmos/Text/DebugXTextSettings.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace DCFApixels 4 | { 5 | /// 6 | /// All additional settings for text rendering are stored here. 7 | /// 8 | public readonly struct DebugXTextSettings 9 | { 10 | public const TextAnchor DEFAULT_TEXT_ANCHOR = TextAnchor.MiddleLeft; 11 | public const int DEFAULT_FONT_SIZE = 16; 12 | 13 | public const float SCREEN_SPACE_SCALE_FACTOR = 0f; 14 | public const float WORLD_SPACE_SCALE_FACTOR = 1f; 15 | 16 | public static readonly DebugXTextSettings Default = new DebugXTextSettings(DEFAULT_FONT_SIZE, DEFAULT_TEXT_ANCHOR, default, 0); 17 | public static readonly DebugXTextSettings WorldSpaceScale = Default.SetWorldSpaceScaleFactor(); 18 | 19 | /// 20 | /// Font size. Default is . 21 | /// 22 | public readonly int FontSize; 23 | 24 | /// 25 | /// Text alignment. Default is . 26 | /// 27 | public readonly TextAnchor TextAnchor; 28 | 29 | public readonly Color BackgroundColor; 30 | public readonly float WorldSpaceScaleFactor; 31 | 32 | // ReSharper disable once UnusedMember.Global 33 | public bool IsHasBackground => BackgroundColor.a > 0; 34 | 35 | public DebugXTextSettings(int fontSize, TextAnchor textAnchor, Color backgroundColor, float worldSpaceScaleFactor) 36 | { 37 | FontSize = fontSize; 38 | TextAnchor = textAnchor; 39 | BackgroundColor = backgroundColor; 40 | WorldSpaceScaleFactor = worldSpaceScaleFactor; 41 | } 42 | 43 | /// 44 | /// Set font size. Default is . 45 | /// 46 | public DebugXTextSettings SetSize(int fontSize) 47 | { 48 | return new DebugXTextSettings(fontSize, TextAnchor, BackgroundColor, WorldSpaceScaleFactor); 49 | } 50 | 51 | /// 52 | /// Sets text alignment. Default is . 53 | /// 54 | public DebugXTextSettings SetAnchor(TextAnchor textAnchor) 55 | { 56 | return new DebugXTextSettings(FontSize, textAnchor, BackgroundColor, WorldSpaceScaleFactor); 57 | } 58 | 59 | /// 60 | /// Sets background image color behind text. Ignored if transparent. 61 | /// 62 | public DebugXTextSettings SetBackground(Color backgroundColor) 63 | { 64 | return new DebugXTextSettings(FontSize, TextAnchor, backgroundColor, WorldSpaceScaleFactor); 65 | } 66 | 67 | /// 68 | /// Synchronizes the text scale in screen space. The text will remain the same size on the screen. 69 | /// 70 | // ReSharper disable once UnusedMember.Global 71 | public DebugXTextSettings SetScreenSpaceScaleFactor() 72 | { 73 | return SetCustomSpaceScaleFactor(SCREEN_SPACE_SCALE_FACTOR); 74 | } 75 | 76 | /// 77 | /// Synchronizes the text scale in world space. The text will remain the same size on the scene. 78 | /// 79 | public DebugXTextSettings SetWorldSpaceScaleFactor() 80 | { 81 | return SetCustomSpaceScaleFactor(WORLD_SPACE_SCALE_FACTOR); 82 | } 83 | 84 | /// 85 | /// Allows you to control the text scale depending on the camera zoom. 86 | /// 87 | /// 88 | ///
89 | /// 0 - screen space
90 | /// 1 - world space
91 | /// Values in between [0.00 - 1.00] blend these spaces together. 92 | /// 93 | public DebugXTextSettings SetCustomSpaceScaleFactor(float factor) 94 | { 95 | return new DebugXTextSettings(FontSize, TextAnchor, BackgroundColor, factor); 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /Runtime/Gizmos/Text/DebugXTextSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a9b0ba5a6770294b9777fca87f3b7a4 -------------------------------------------------------------------------------- /Runtime/Gizmos/Text/TextDrawHandlerExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels 5 | { 6 | using DrawHandler = DebugX.DrawHandler; 7 | using IN = MethodImplAttribute; 8 | 9 | public static class TextDrawHandlerExtensions 10 | { 11 | private const MethodImplOptions LINE = DebugX.LINE; 12 | #if DEBUG 13 | private static bool _singleWarningToggle = true; 14 | #endif 15 | [IN(LINE)] 16 | public static DrawHandler Text(this DrawHandler h, Vector3 position, object text) => h.Text(position, text, DebugXTextSettings.Default); 17 | [IN(LINE)] 18 | public static DrawHandler Text(this DrawHandler h, Vector3 position, object text, DebugXTextSettings settings) 19 | { 20 | if (settings.FontSize <= float.Epsilon) 21 | { 22 | #if DEBUG 23 | if (_singleWarningToggle) 24 | { 25 | Debug.LogWarning("Text rendering requires FontSize > 0, otherwise the text will be invisible. To avoid invalid parameters, use DebugXTextSettings.Default instead of manual instantiation."); 26 | _singleWarningToggle = false; 27 | } 28 | #endif 29 | settings = settings.SetSize(DebugXTextSettings.DEFAULT_FONT_SIZE); 30 | } 31 | return h.Gizmo(new TextGizmo(position, text, settings)); 32 | } 33 | } 34 | } -------------------------------------------------------------------------------- /Runtime/Gizmos/Text/TextDrawHandlerExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16f0ca76a3494c91a2b0912101c88ddd 3 | timeCreated: 1740751022 -------------------------------------------------------------------------------- /Runtime/Gizmos/Text/TextGizmo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af700d933ae340608724469c70e8d0fc 3 | timeCreated: 1740750866 -------------------------------------------------------------------------------- /Runtime/Internal.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e03ea31c233f72449c2b0741a24deea 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Internal/ColorExtensions.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace DCFApixels.DebugXCore.Internal 4 | { 5 | internal static class ColorExtensions 6 | { 7 | public static Color SetAlpha(this Color self, float v) 8 | { 9 | self.a *= v; 10 | return self; 11 | } 12 | public static Color ToColor(ref this (Color color, float alpha) self) 13 | { 14 | self.color.a *= self.alpha; 15 | return self.color; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Runtime/Internal/ColorExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0aa4d751b3780904fa6c43f4a431614b -------------------------------------------------------------------------------- /Runtime/Internal/CommandBufferExecutors.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | 5 | namespace DCFApixels.DebugXCore.Internal 6 | { 7 | internal interface ICommandBufferExecutor 8 | { 9 | void Execute(CommandBuffer cb); 10 | void Submit(); 11 | } 12 | internal class CommandBufferExecutorSRP : ICommandBufferExecutor 13 | { 14 | [ThreadStatic] 15 | private static CommandBufferExecutorSRP _instance = new CommandBufferExecutorSRP(); 16 | public static CommandBufferExecutorSRP GetInstance(ScriptableRenderContext context) 17 | { 18 | if (_instance == null) { _instance = new CommandBufferExecutorSRP(); } 19 | _instance.RenderContext = context; 20 | return _instance; 21 | } 22 | public ScriptableRenderContext RenderContext; 23 | private CommandBufferExecutorSRP() { } 24 | public void Execute(CommandBuffer cb) 25 | { 26 | RenderContext.ExecuteCommandBuffer(cb); 27 | } 28 | public void Submit() 29 | { 30 | RenderContext.Submit(); 31 | } 32 | } 33 | internal class CommandBufferExecutorBRP : ICommandBufferExecutor 34 | { 35 | [ThreadStatic] 36 | private static CommandBufferExecutorBRP _instance = new CommandBufferExecutorBRP(); 37 | public static CommandBufferExecutorBRP GetInstance() 38 | { 39 | if (_instance == null) { _instance = new CommandBufferExecutorBRP(); } 40 | return _instance; 41 | } 42 | private CommandBufferExecutorBRP() { } 43 | public void Execute(CommandBuffer cb) 44 | { 45 | Graphics.ExecuteCommandBuffer(cb); 46 | } 47 | public void Submit() { } 48 | } 49 | } -------------------------------------------------------------------------------- /Runtime/Internal/CommandBufferExecutors.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75ddf4f7e9e091147a4adb5e6b9778c2 -------------------------------------------------------------------------------- /Runtime/Internal/GizmoTypeCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace DCFApixels.DebugXCore.Internal 5 | { 6 | internal interface IGizmoTypeCodeAddCallback 7 | { 8 | void OnAddGizmoTypeCode() where T : IGizmo; 9 | } 10 | internal static class GizmoTypeCode where T : IGizmo 11 | { 12 | public static readonly int ID = GizmoTypeCode.NewID(); 13 | } 14 | internal static class GizmoTypeCode 15 | { 16 | private static int _increment = 0; 17 | private static readonly object _lock = new object(); 18 | private static List _listeners = new List(); 19 | public static int TypesCount 20 | { 21 | get { return _increment; } 22 | } 23 | public static int NewID() 24 | { 25 | lock (_lock) 26 | { 27 | _increment++; 28 | OnAddNewID(_increment); 29 | return _increment - 1; 30 | } 31 | } 32 | public static event Action OnAddNewID = delegate { }; 33 | public static void AddListener(IGizmoTypeCodeAddCallback listener) 34 | { 35 | _listeners.Add(listener); 36 | } 37 | public static void RemoveListener(IGizmoTypeCodeAddCallback listener) 38 | { 39 | _listeners.Remove(listener); 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /Runtime/Internal/GizmoTypeCode.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5da072c37cd9cee448fd7f583aff40ce -------------------------------------------------------------------------------- /Runtime/Internal/PinnedArray.cs: -------------------------------------------------------------------------------- 1 | #undef DEBUG 2 | using System; 3 | using Unity.Collections.LowLevel.Unsafe; 4 | 5 | namespace DCFApixels.DebugXCore.Internal 6 | { 7 | internal static class DummyArray 8 | { 9 | private readonly static T[] _array = new T[2]; 10 | public static T[] Get() 11 | { 12 | return _array; 13 | } 14 | } 15 | internal unsafe readonly struct PinnedArray : IDisposable where T : unmanaged 16 | { 17 | public readonly T[] Array; 18 | public readonly T* Ptr; 19 | public readonly ulong Handle; 20 | public PinnedArray(T[] array, T* ptr, ulong handle) 21 | { 22 | Array = array; 23 | Ptr = ptr; 24 | Handle = handle; 25 | } 26 | public static PinnedArray Pin(T[] array) 27 | { 28 | return new PinnedArray(array, (T*)UnsafeUtility.PinGCArrayAndGetDataAddress(array, out ulong handle), handle); 29 | } 30 | public void Dispose() 31 | { 32 | if (Ptr != null) 33 | { 34 | UnsafeUtility.ReleaseGCObject(Handle); 35 | } 36 | } 37 | public PinnedArray As() where U : unmanaged 38 | { 39 | T[] array = Array; 40 | U[] newArray = UnsafeUtility.As(ref array); 41 | return new PinnedArray(newArray, (U*)Ptr, Handle); 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /Runtime/Internal/PinnedArray.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23c5d9ebb6ab86c4599c0979a6adaf22 -------------------------------------------------------------------------------- /Runtime/Internal/StructList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 437f2eea401828744a893f9cfb84ebc1 -------------------------------------------------------------------------------- /Runtime/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9619c5ee054829d4790c4cd8c299f8be 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/Billboard.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-8282512757102464268 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: Billboard 24 | m_Shader: {fileID: 4800000, guid: 37036939f3d0a824c82a3f34093d4a42, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: 28 | - _BILLBOARD_ON 29 | m_InvalidKeywords: [] 30 | m_LightmapFlags: 4 31 | m_EnableInstancingVariants: 1 32 | m_DoubleSidedGI: 0 33 | m_CustomRenderQueue: -1 34 | stringTagMap: {} 35 | disabledShaderPasses: 36 | - MOTIONVECTORS 37 | m_LockedProperties: 38 | m_SavedProperties: 39 | serializedVersion: 3 40 | m_TexEnvs: 41 | - _BaseMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _BumpMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _DetailAlbedoMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _DetailMask: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _DetailNormalMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | - _EmissionMap: 62 | m_Texture: {fileID: 0} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | - _MainTex: 66 | m_Texture: {fileID: 0} 67 | m_Scale: {x: 1, y: 1} 68 | m_Offset: {x: 0, y: 0} 69 | - _MetallicGlossMap: 70 | m_Texture: {fileID: 0} 71 | m_Scale: {x: 1, y: 1} 72 | m_Offset: {x: 0, y: 0} 73 | - _OcclusionMap: 74 | m_Texture: {fileID: 0} 75 | m_Scale: {x: 1, y: 1} 76 | m_Offset: {x: 0, y: 0} 77 | - _ParallaxMap: 78 | m_Texture: {fileID: 0} 79 | m_Scale: {x: 1, y: 1} 80 | m_Offset: {x: 0, y: 0} 81 | - _SpecGlossMap: 82 | m_Texture: {fileID: 0} 83 | m_Scale: {x: 1, y: 1} 84 | m_Offset: {x: 0, y: 0} 85 | - unity_Lightmaps: 86 | m_Texture: {fileID: 0} 87 | m_Scale: {x: 1, y: 1} 88 | m_Offset: {x: 0, y: 0} 89 | - unity_LightmapsInd: 90 | m_Texture: {fileID: 0} 91 | m_Scale: {x: 1, y: 1} 92 | m_Offset: {x: 0, y: 0} 93 | - unity_ShadowMasks: 94 | m_Texture: {fileID: 0} 95 | m_Scale: {x: 1, y: 1} 96 | m_Offset: {x: 0, y: 0} 97 | m_Ints: [] 98 | m_Floats: 99 | - _AddPrecomputedVelocity: 0 100 | - _AlphaClip: 0 101 | - _AlphaToMask: 0 102 | - _Billboard: 1 103 | - _Blend: 0 104 | - _BlendModePreserveSpecular: 1 105 | - _BumpScale: 1 106 | - _ClearCoatMask: 0 107 | - _ClearCoatSmoothness: 0 108 | - _Cull: 2 109 | - _Cutoff: 0.5 110 | - _DetailAlbedoMapScale: 1 111 | - _DetailNormalMapScale: 1 112 | - _Dot: 0 113 | - _DstBlend: 0 114 | - _DstBlendAlpha: 0 115 | - _EnvironmentReflections: 1 116 | - _FakeLight: 0 117 | - _GlossMapScale: 0 118 | - _Glossiness: 0 119 | - _GlossyReflections: 0 120 | - _Metallic: 0 121 | - _OcclusionStrength: 1 122 | - _Parallax: 0.005 123 | - _QueueOffset: 0 124 | - _ReceiveShadows: 1 125 | - _Smoothness: 0.5 126 | - _SmoothnessTextureChannel: 0 127 | - _SpecularHighlights: 1 128 | - _SrcBlend: 1 129 | - _SrcBlendAlpha: 1 130 | - _Surface: 0 131 | - _VertexColor: 0 132 | - _WorkflowMode: 1 133 | - _ZWrite: 1 134 | m_Colors: 135 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 136 | - _Color: {r: 1, g: 1, b: 1, a: 1} 137 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 138 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 139 | m_BuildTextureStacks: [] 140 | m_AllowLocking: 1 141 | -------------------------------------------------------------------------------- /Runtime/Materials/Billboard.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7dddf4d8e41a47c44ac3ce8ebeb0858c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/Dot.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-8282512757102464268 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: Dot 24 | m_Shader: {fileID: 4800000, guid: 37036939f3d0a824c82a3f34093d4a42, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: 28 | - _BILLBOARD_ON 29 | - _DOT_ON 30 | m_InvalidKeywords: [] 31 | m_LightmapFlags: 4 32 | m_EnableInstancingVariants: 1 33 | m_DoubleSidedGI: 0 34 | m_CustomRenderQueue: -1 35 | stringTagMap: {} 36 | disabledShaderPasses: 37 | - MOTIONVECTORS 38 | m_LockedProperties: 39 | m_SavedProperties: 40 | serializedVersion: 3 41 | m_TexEnvs: 42 | - _BaseMap: 43 | m_Texture: {fileID: 0} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _BumpMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _DetailAlbedoMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _DetailMask: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _DetailNormalMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | - _EmissionMap: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - _MainTex: 67 | m_Texture: {fileID: 0} 68 | m_Scale: {x: 1, y: 1} 69 | m_Offset: {x: 0, y: 0} 70 | - _MetallicGlossMap: 71 | m_Texture: {fileID: 0} 72 | m_Scale: {x: 1, y: 1} 73 | m_Offset: {x: 0, y: 0} 74 | - _OcclusionMap: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | - _ParallaxMap: 79 | m_Texture: {fileID: 0} 80 | m_Scale: {x: 1, y: 1} 81 | m_Offset: {x: 0, y: 0} 82 | - _SpecGlossMap: 83 | m_Texture: {fileID: 0} 84 | m_Scale: {x: 1, y: 1} 85 | m_Offset: {x: 0, y: 0} 86 | - unity_Lightmaps: 87 | m_Texture: {fileID: 0} 88 | m_Scale: {x: 1, y: 1} 89 | m_Offset: {x: 0, y: 0} 90 | - unity_LightmapsInd: 91 | m_Texture: {fileID: 0} 92 | m_Scale: {x: 1, y: 1} 93 | m_Offset: {x: 0, y: 0} 94 | - unity_ShadowMasks: 95 | m_Texture: {fileID: 0} 96 | m_Scale: {x: 1, y: 1} 97 | m_Offset: {x: 0, y: 0} 98 | m_Ints: [] 99 | m_Floats: 100 | - _AddPrecomputedVelocity: 0 101 | - _AlphaClip: 0 102 | - _AlphaToMask: 0 103 | - _Billboard: 1 104 | - _Blend: 0 105 | - _BlendModePreserveSpecular: 1 106 | - _BumpScale: 1 107 | - _ClearCoatMask: 0 108 | - _ClearCoatSmoothness: 0 109 | - _Cull: 2 110 | - _Cutoff: 0.5 111 | - _DetailAlbedoMapScale: 1 112 | - _DetailNormalMapScale: 1 113 | - _Dot: 1 114 | - _DstBlend: 0 115 | - _DstBlendAlpha: 0 116 | - _EnvironmentReflections: 1 117 | - _FakeLight: 0 118 | - _GlossMapScale: 0 119 | - _Glossiness: 0 120 | - _GlossyReflections: 0 121 | - _Metallic: 0 122 | - _OcclusionStrength: 1 123 | - _Parallax: 0.005 124 | - _QueueOffset: 0 125 | - _ReceiveShadows: 1 126 | - _Smoothness: 0.5 127 | - _SmoothnessTextureChannel: 0 128 | - _SpecularHighlights: 1 129 | - _SrcBlend: 1 130 | - _SrcBlendAlpha: 1 131 | - _Surface: 0 132 | - _VertexColor: 0 133 | - _WorkflowMode: 1 134 | - _ZWrite: 1 135 | m_Colors: 136 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 137 | - _Color: {r: 1, g: 1, b: 1, a: 1} 138 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 139 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 140 | m_BuildTextureStacks: [] 141 | m_AllowLocking: 1 142 | -------------------------------------------------------------------------------- /Runtime/Materials/Dot.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dff4ce10c87c6034186ba9a371bc8c03 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/Lit.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-8282512757102464268 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: Lit 24 | m_Shader: {fileID: 4800000, guid: 37036939f3d0a824c82a3f34093d4a42, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: 28 | - _FAKELIGHT_ON 29 | m_InvalidKeywords: [] 30 | m_LightmapFlags: 4 31 | m_EnableInstancingVariants: 1 32 | m_DoubleSidedGI: 0 33 | m_CustomRenderQueue: -1 34 | stringTagMap: {} 35 | disabledShaderPasses: 36 | - MOTIONVECTORS 37 | m_LockedProperties: 38 | m_SavedProperties: 39 | serializedVersion: 3 40 | m_TexEnvs: 41 | - _BaseMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _BumpMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _DetailAlbedoMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _DetailMask: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _DetailNormalMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | - _EmissionMap: 62 | m_Texture: {fileID: 0} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | - _MainTex: 66 | m_Texture: {fileID: 0} 67 | m_Scale: {x: 1, y: 1} 68 | m_Offset: {x: 0, y: 0} 69 | - _MetallicGlossMap: 70 | m_Texture: {fileID: 0} 71 | m_Scale: {x: 1, y: 1} 72 | m_Offset: {x: 0, y: 0} 73 | - _OcclusionMap: 74 | m_Texture: {fileID: 0} 75 | m_Scale: {x: 1, y: 1} 76 | m_Offset: {x: 0, y: 0} 77 | - _ParallaxMap: 78 | m_Texture: {fileID: 0} 79 | m_Scale: {x: 1, y: 1} 80 | m_Offset: {x: 0, y: 0} 81 | - _SpecGlossMap: 82 | m_Texture: {fileID: 0} 83 | m_Scale: {x: 1, y: 1} 84 | m_Offset: {x: 0, y: 0} 85 | - unity_Lightmaps: 86 | m_Texture: {fileID: 0} 87 | m_Scale: {x: 1, y: 1} 88 | m_Offset: {x: 0, y: 0} 89 | - unity_LightmapsInd: 90 | m_Texture: {fileID: 0} 91 | m_Scale: {x: 1, y: 1} 92 | m_Offset: {x: 0, y: 0} 93 | - unity_ShadowMasks: 94 | m_Texture: {fileID: 0} 95 | m_Scale: {x: 1, y: 1} 96 | m_Offset: {x: 0, y: 0} 97 | m_Ints: [] 98 | m_Floats: 99 | - _AddPrecomputedVelocity: 0 100 | - _AlphaClip: 0 101 | - _AlphaToMask: 0 102 | - _Billboard: 0 103 | - _Blend: 0 104 | - _BlendModePreserveSpecular: 1 105 | - _BumpScale: 1 106 | - _ClearCoatMask: 0 107 | - _ClearCoatSmoothness: 0 108 | - _Cull: 2 109 | - _Cutoff: 0.5 110 | - _DetailAlbedoMapScale: 1 111 | - _DetailNormalMapScale: 1 112 | - _Dot: 0 113 | - _DstBlend: 0 114 | - _DstBlendAlpha: 0 115 | - _EnvironmentReflections: 1 116 | - _FakeLight: 1 117 | - _GlossMapScale: 0 118 | - _Glossiness: 0 119 | - _GlossyReflections: 0 120 | - _Metallic: 0 121 | - _OcclusionStrength: 1 122 | - _Parallax: 0.005 123 | - _QueueOffset: 0 124 | - _ReceiveShadows: 1 125 | - _Smoothness: 0.5 126 | - _SmoothnessTextureChannel: 0 127 | - _SpecularHighlights: 1 128 | - _SrcBlend: 1 129 | - _SrcBlendAlpha: 1 130 | - _Surface: 0 131 | - _VertexColor: 0 132 | - _WorkflowMode: 1 133 | - _ZWrite: 1 134 | m_Colors: 135 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 136 | - _Color: {r: 1, g: 1, b: 1, a: 1} 137 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 138 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 139 | m_BuildTextureStacks: [] 140 | m_AllowLocking: 1 141 | -------------------------------------------------------------------------------- /Runtime/Materials/Lit.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 493816cf77c003846870e9a319025383 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/TextBackground.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: TextBackground 11 | m_Shader: {fileID: 4800000, guid: 1af3913ae49e790418a8d901f8982caf, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: {} 21 | disabledShaderPasses: 22 | - MOTIONVECTORS 23 | m_LockedProperties: 24 | m_SavedProperties: 25 | serializedVersion: 3 26 | m_TexEnvs: 27 | - _BaseMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _BumpMap: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailAlbedoMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _DetailMask: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _DetailNormalMap: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _EmissionMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _MainTex: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _MetallicGlossMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | - _OcclusionMap: 60 | m_Texture: {fileID: 0} 61 | m_Scale: {x: 1, y: 1} 62 | m_Offset: {x: 0, y: 0} 63 | - _ParallaxMap: 64 | m_Texture: {fileID: 0} 65 | m_Scale: {x: 1, y: 1} 66 | m_Offset: {x: 0, y: 0} 67 | - _SpecGlossMap: 68 | m_Texture: {fileID: 0} 69 | m_Scale: {x: 1, y: 1} 70 | m_Offset: {x: 0, y: 0} 71 | - unity_Lightmaps: 72 | m_Texture: {fileID: 0} 73 | m_Scale: {x: 1, y: 1} 74 | m_Offset: {x: 0, y: 0} 75 | - unity_LightmapsInd: 76 | m_Texture: {fileID: 0} 77 | m_Scale: {x: 1, y: 1} 78 | m_Offset: {x: 0, y: 0} 79 | - unity_ShadowMasks: 80 | m_Texture: {fileID: 0} 81 | m_Scale: {x: 1, y: 1} 82 | m_Offset: {x: 0, y: 0} 83 | m_Ints: [] 84 | m_Floats: 85 | - _AddPrecomputedVelocity: 0 86 | - _AlphaClip: 0 87 | - _AlphaToMask: 0 88 | - _Blend: 0 89 | - _BlendModePreserveSpecular: 1 90 | - _BumpScale: 1 91 | - _ClearCoatMask: 0 92 | - _ClearCoatSmoothness: 0 93 | - _Cull: 2 94 | - _Cutoff: 0.5 95 | - _DetailAlbedoMapScale: 1 96 | - _DetailNormalMapScale: 1 97 | - _DstBlend: 0 98 | - _DstBlendAlpha: 0 99 | - _EnvironmentReflections: 1 100 | - _GlossMapScale: 0 101 | - _Glossiness: 0 102 | - _GlossyReflections: 0 103 | - _Metallic: 0 104 | - _OcclusionStrength: 1 105 | - _Parallax: 0.005 106 | - _QueueOffset: 0 107 | - _ReceiveShadows: 1 108 | - _Smoothness: 0.5 109 | - _SmoothnessTextureChannel: 0 110 | - _SpecularHighlights: 1 111 | - _SrcBlend: 1 112 | - _SrcBlendAlpha: 1 113 | - _Surface: 0 114 | - _WorkflowMode: 1 115 | - _ZWrite: 1 116 | m_Colors: 117 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 118 | - _Color: {r: 1, g: 1, b: 1, a: 1} 119 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 120 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 121 | m_BuildTextureStacks: [] 122 | m_AllowLocking: 1 123 | --- !u!114 &1974214919826471110 124 | MonoBehaviour: 125 | m_ObjectHideFlags: 11 126 | m_CorrespondingSourceObject: {fileID: 0} 127 | m_PrefabInstance: {fileID: 0} 128 | m_PrefabAsset: {fileID: 0} 129 | m_GameObject: {fileID: 0} 130 | m_Enabled: 1 131 | m_EditorHideFlags: 0 132 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 133 | m_Name: 134 | m_EditorClassIdentifier: 135 | version: 9 136 | -------------------------------------------------------------------------------- /Runtime/Materials/TextBackground.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75409b93d220f694aa75eee6f4bfd840 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/Unlit.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-8282512757102464268 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: Unlit 24 | m_Shader: {fileID: 4800000, guid: 37036939f3d0a824c82a3f34093d4a42, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: [] 28 | m_InvalidKeywords: [] 29 | m_LightmapFlags: 4 30 | m_EnableInstancingVariants: 1 31 | m_DoubleSidedGI: 0 32 | m_CustomRenderQueue: -1 33 | stringTagMap: {} 34 | disabledShaderPasses: 35 | - MOTIONVECTORS 36 | m_LockedProperties: 37 | m_SavedProperties: 38 | serializedVersion: 3 39 | m_TexEnvs: 40 | - _BaseMap: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _BumpMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _DetailAlbedoMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _DetailMask: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | - _DetailNormalMap: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - _EmissionMap: 61 | m_Texture: {fileID: 0} 62 | m_Scale: {x: 1, y: 1} 63 | m_Offset: {x: 0, y: 0} 64 | - _MainTex: 65 | m_Texture: {fileID: 0} 66 | m_Scale: {x: 1, y: 1} 67 | m_Offset: {x: 0, y: 0} 68 | - _MetallicGlossMap: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | - _OcclusionMap: 73 | m_Texture: {fileID: 0} 74 | m_Scale: {x: 1, y: 1} 75 | m_Offset: {x: 0, y: 0} 76 | - _ParallaxMap: 77 | m_Texture: {fileID: 0} 78 | m_Scale: {x: 1, y: 1} 79 | m_Offset: {x: 0, y: 0} 80 | - _SpecGlossMap: 81 | m_Texture: {fileID: 0} 82 | m_Scale: {x: 1, y: 1} 83 | m_Offset: {x: 0, y: 0} 84 | - unity_Lightmaps: 85 | m_Texture: {fileID: 0} 86 | m_Scale: {x: 1, y: 1} 87 | m_Offset: {x: 0, y: 0} 88 | - unity_LightmapsInd: 89 | m_Texture: {fileID: 0} 90 | m_Scale: {x: 1, y: 1} 91 | m_Offset: {x: 0, y: 0} 92 | - unity_ShadowMasks: 93 | m_Texture: {fileID: 0} 94 | m_Scale: {x: 1, y: 1} 95 | m_Offset: {x: 0, y: 0} 96 | m_Ints: [] 97 | m_Floats: 98 | - _AddPrecomputedVelocity: 0 99 | - _AlphaClip: 0 100 | - _AlphaToMask: 0 101 | - _Billboard: 0 102 | - _Blend: 0 103 | - _BlendModePreserveSpecular: 1 104 | - _BumpScale: 1 105 | - _ClearCoatMask: 0 106 | - _ClearCoatSmoothness: 0 107 | - _Cull: 2 108 | - _Cutoff: 0.5 109 | - _DetailAlbedoMapScale: 1 110 | - _DetailNormalMapScale: 1 111 | - _Dot: 0 112 | - _DstBlend: 0 113 | - _DstBlendAlpha: 0 114 | - _EnvironmentReflections: 1 115 | - _FakeLight: 0 116 | - _GlossMapScale: 0 117 | - _Glossiness: 0 118 | - _GlossyReflections: 0 119 | - _Metallic: 0 120 | - _OcclusionStrength: 1 121 | - _OnePass: 0 122 | - _Parallax: 0.005 123 | - _QueueOffset: 0 124 | - _ReceiveShadows: 1 125 | - _Smoothness: 0.5 126 | - _SmoothnessTextureChannel: 0 127 | - _SpecularHighlights: 1 128 | - _SrcBlend: 1 129 | - _SrcBlendAlpha: 1 130 | - _Surface: 0 131 | - _VertexColor: 0 132 | - _WorkflowMode: 1 133 | - _ZWrite: 1 134 | m_Colors: 135 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 136 | - _Color: {r: 1, g: 1, b: 1, a: 1} 137 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 138 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 139 | m_BuildTextureStacks: [] 140 | m_AllowLocking: 1 141 | -------------------------------------------------------------------------------- /Runtime/Materials/Unlit.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ceb677ce98e7f6741859e095d7f04c16 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/UnlitOverwrite.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-8282512757102464268 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: UnlitOverwrite 24 | m_Shader: {fileID: 4800000, guid: 7bfe6625bfb0167438e98aa0d69e97e7, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: 28 | - _VERTEXCOLOR_ON 29 | m_InvalidKeywords: [] 30 | m_LightmapFlags: 4 31 | m_EnableInstancingVariants: 1 32 | m_DoubleSidedGI: 0 33 | m_CustomRenderQueue: -1 34 | stringTagMap: {} 35 | disabledShaderPasses: 36 | - MOTIONVECTORS 37 | m_LockedProperties: 38 | m_SavedProperties: 39 | serializedVersion: 3 40 | m_TexEnvs: 41 | - _BaseMap: 42 | m_Texture: {fileID: 0} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _BumpMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _DetailAlbedoMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _DetailMask: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _DetailNormalMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | - _EmissionMap: 62 | m_Texture: {fileID: 0} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | - _MainTex: 66 | m_Texture: {fileID: 0} 67 | m_Scale: {x: 1, y: 1} 68 | m_Offset: {x: 0, y: 0} 69 | - _MetallicGlossMap: 70 | m_Texture: {fileID: 0} 71 | m_Scale: {x: 1, y: 1} 72 | m_Offset: {x: 0, y: 0} 73 | - _OcclusionMap: 74 | m_Texture: {fileID: 0} 75 | m_Scale: {x: 1, y: 1} 76 | m_Offset: {x: 0, y: 0} 77 | - _ParallaxMap: 78 | m_Texture: {fileID: 0} 79 | m_Scale: {x: 1, y: 1} 80 | m_Offset: {x: 0, y: 0} 81 | - _SpecGlossMap: 82 | m_Texture: {fileID: 0} 83 | m_Scale: {x: 1, y: 1} 84 | m_Offset: {x: 0, y: 0} 85 | - unity_Lightmaps: 86 | m_Texture: {fileID: 0} 87 | m_Scale: {x: 1, y: 1} 88 | m_Offset: {x: 0, y: 0} 89 | - unity_LightmapsInd: 90 | m_Texture: {fileID: 0} 91 | m_Scale: {x: 1, y: 1} 92 | m_Offset: {x: 0, y: 0} 93 | - unity_ShadowMasks: 94 | m_Texture: {fileID: 0} 95 | m_Scale: {x: 1, y: 1} 96 | m_Offset: {x: 0, y: 0} 97 | m_Ints: [] 98 | m_Floats: 99 | - _AddPrecomputedVelocity: 0 100 | - _AlphaClip: 0 101 | - _AlphaToMask: 0 102 | - _Billboard: 0 103 | - _Blend: 0 104 | - _BlendModePreserveSpecular: 1 105 | - _BumpScale: 1 106 | - _ClearCoatMask: 0 107 | - _ClearCoatSmoothness: 0 108 | - _Cull: 2 109 | - _Cutoff: 0.5 110 | - _DetailAlbedoMapScale: 1 111 | - _DetailNormalMapScale: 1 112 | - _Dot: 0 113 | - _DstBlend: 0 114 | - _DstBlendAlpha: 0 115 | - _EnvironmentReflections: 1 116 | - _FakeLight: 0 117 | - _GlossMapScale: 0 118 | - _Glossiness: 0 119 | - _GlossyReflections: 0 120 | - _Metallic: 0 121 | - _OcclusionStrength: 1 122 | - _OnePass: 0 123 | - _Parallax: 0.005 124 | - _QueueOffset: 0 125 | - _ReceiveShadows: 1 126 | - _Smoothness: 0.5 127 | - _SmoothnessTextureChannel: 0 128 | - _SpecularHighlights: 1 129 | - _SrcBlend: 1 130 | - _SrcBlendAlpha: 1 131 | - _Surface: 0 132 | - _VertexColor: 1 133 | - _WorkflowMode: 1 134 | - _ZWrite: 1 135 | m_Colors: 136 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 137 | - _Color: {r: 1, g: 1, b: 1, a: 1} 138 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 139 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 140 | m_BuildTextureStacks: [] 141 | m_AllowLocking: 1 142 | -------------------------------------------------------------------------------- /Runtime/Materials/UnlitOverwrite.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c39ea10bc1b7eeb4b95b16a7d83e82d8 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Materials/WireLine.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-8282512757102464268 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: WireLine 24 | m_Shader: {fileID: 4800000, guid: 44b75ed8f4e1d21469ab056c86b4c1a1, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: [] 28 | m_InvalidKeywords: [] 29 | m_LightmapFlags: 4 30 | m_EnableInstancingVariants: 1 31 | m_DoubleSidedGI: 0 32 | m_CustomRenderQueue: -1 33 | stringTagMap: {} 34 | disabledShaderPasses: 35 | - MOTIONVECTORS 36 | m_LockedProperties: 37 | m_SavedProperties: 38 | serializedVersion: 3 39 | m_TexEnvs: 40 | - _BaseMap: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - _BumpMap: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - _DetailAlbedoMap: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | - _DetailMask: 53 | m_Texture: {fileID: 0} 54 | m_Scale: {x: 1, y: 1} 55 | m_Offset: {x: 0, y: 0} 56 | - _DetailNormalMap: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - _EmissionMap: 61 | m_Texture: {fileID: 0} 62 | m_Scale: {x: 1, y: 1} 63 | m_Offset: {x: 0, y: 0} 64 | - _MainTex: 65 | m_Texture: {fileID: 0} 66 | m_Scale: {x: 1, y: 1} 67 | m_Offset: {x: 0, y: 0} 68 | - _MetallicGlossMap: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | - _OcclusionMap: 73 | m_Texture: {fileID: 0} 74 | m_Scale: {x: 1, y: 1} 75 | m_Offset: {x: 0, y: 0} 76 | - _ParallaxMap: 77 | m_Texture: {fileID: 0} 78 | m_Scale: {x: 1, y: 1} 79 | m_Offset: {x: 0, y: 0} 80 | - _SpecGlossMap: 81 | m_Texture: {fileID: 0} 82 | m_Scale: {x: 1, y: 1} 83 | m_Offset: {x: 0, y: 0} 84 | - unity_Lightmaps: 85 | m_Texture: {fileID: 0} 86 | m_Scale: {x: 1, y: 1} 87 | m_Offset: {x: 0, y: 0} 88 | - unity_LightmapsInd: 89 | m_Texture: {fileID: 0} 90 | m_Scale: {x: 1, y: 1} 91 | m_Offset: {x: 0, y: 0} 92 | - unity_ShadowMasks: 93 | m_Texture: {fileID: 0} 94 | m_Scale: {x: 1, y: 1} 95 | m_Offset: {x: 0, y: 0} 96 | m_Ints: [] 97 | m_Floats: 98 | - _AddPrecomputedVelocity: 0 99 | - _AlphaClip: 0 100 | - _AlphaToMask: 0 101 | - _Billboard: 0 102 | - _Blend: 0 103 | - _BlendModePreserveSpecular: 1 104 | - _BumpScale: 1 105 | - _ClearCoatMask: 0 106 | - _ClearCoatSmoothness: 0 107 | - _Cull: 2 108 | - _Cutoff: 0.5 109 | - _DetailAlbedoMapScale: 1 110 | - _DetailNormalMapScale: 1 111 | - _Dot: 0 112 | - _DstBlend: 0 113 | - _DstBlendAlpha: 0 114 | - _EnvironmentReflections: 1 115 | - _FakeLight: 0 116 | - _GlossMapScale: 0 117 | - _Glossiness: 0 118 | - _GlossyReflections: 0 119 | - _Metallic: 0 120 | - _OcclusionStrength: 1 121 | - _Parallax: 0.005 122 | - _QueueOffset: 0 123 | - _ReceiveShadows: 1 124 | - _Smoothness: 0.5 125 | - _SmoothnessTextureChannel: 0 126 | - _SpecularHighlights: 1 127 | - _SrcBlend: 1 128 | - _SrcBlendAlpha: 1 129 | - _Surface: 0 130 | - _VertexColor: 0 131 | - _WorkflowMode: 1 132 | - _ZWrite: 1 133 | m_Colors: 134 | - _BaseColor: {r: 1, g: 1, b: 1, a: 1} 135 | - _Color: {r: 1, g: 1, b: 1, a: 1} 136 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 137 | - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} 138 | m_BuildTextureStacks: [] 139 | m_AllowLocking: 1 140 | -------------------------------------------------------------------------------- /Runtime/Materials/WireLine.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f56df4773a3c3943a140e27a3155fb0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 35818f9da398cd241bdcc291fe92167d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Arrow.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32bf5ba487f330849a963c35503a6be9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/CapsuleBody.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fce15fb7a59a1ed41aa1b626fd3fd30d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/CapsuleHead.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 680b0056ea1c4a94ea8d1151f43aead6 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Circle.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9562c98b68a01114982744ae16e1fc60 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Cone.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58c1d6dfb1981574595c1b1601525ab2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Cylinder.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6ab4bd9eac93c345a4f02aa6e81b160 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Dot.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Dot 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 18 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 8 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000200020003000000020004000300040005000300040006000500060007000500 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 8 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 320 100 | _typelessdata: f304b5bef304b5bec2a472b30000000000000000000080bf0000803f0000000000000000000080bf000000bf01000025feffffa40000000000000000000080bf0000803f0000000000000000000080bff304b5bef304b53ec2a472330000000000000000000080bf0000803f0000000000000000000080bf00008031000000bfb41091b30000000000000000000080bf0000803f0000000000000000000080bf000080310000003fb41091330000000000000000000080bf0000803f0000000000000000000080bff304b53ef304b5bec2a472b30000000000000000000080bf0000803f0000000000000000000080bff304b53ef304b53ec2a472330000000000000000000080bf0000803f0000000000000000000080bf0000003f010000a5feffff240000000000000000000080bf0000803f0000000000000000000080bf 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/Dot.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55e9b57fa1749fb44a0a8af31492cf8f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/DotCross.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: DotCross 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 12 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 8 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 0.49992818, y: 0.49992818, z: 0.00000003774353} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000200000002000300040005000600040006000700 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 8 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 320 100 | _typelessdata: d660c4be96f6ff3e731b22b30000000000000000000080bff30435bff30435bf00000000000080bf96f6ff3ed660c4bed1bdf8320000000000000000000080bff30435bff30435bf00000000000080bfd660c43e96f6ffbe731b22330000000000000000000080bff30435bff30435bf00000000000080bf96f6ffbed660c43ed1bdf8b20000000000000000000080bff30435bff30435bf00000000000080bf96f6ffbed960c4bed5bdf8320000000000000000000080bffa04353fec0435bf00000000000080bfd560c43e96f6ff3e731b22b30000000000000000000080bffa04353fec0435bf00000000000080bf96f6ff3ed960c43ed5bdf8b20000000000000000000080bffa04353fec0435bf00000000000080bfd560c4be96f6ffbe731b22330000000000000000000080bffa04353fec0435bf00000000000080bf 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 0.49992818, y: 0.49992818, z: 0.00000003774353} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/DotCross.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afb2b2e92f0bbc14f90dfd73ec23147e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/DotDiamond.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: DotDiamond 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 6 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 4 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 0.49999952, y: 0.49999952, z: 0.00000005742529} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000200000002000300 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 4 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 160 100 | _typelessdata: f0ffff3eeb04b53214064cb30000000000000000000080bff30435bff304353f00000000000080bfe904b5b2f0ffffbec6a376b30000000000000000000080bff20435bff304353f00000000000080bff0ffffbeeb04b5b214064c330000000000000000000080bff30435bff304353f00000000000080bfe904b532f0ffff3ec6a376330000000000000000000080bff30435bff304353f00000000000080bf 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 0.49999952, y: 0.49999952, z: 0.00000005742529} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/DotDiamond.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ac643f6b8e4973418e9f71737d86d9c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/FlatCapsuleBody.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: FlatCapsuleBody 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 12 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 8 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0.000000029802322} 21 | m_Extent: {x: 0.99999994, y: 0.5, z: 0.00000012715591} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000200000002000300040005000600040006000700 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 8 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 320 100 | _typelessdata: ffff7f3f000000bf692122b300000000000000000000803f000080bf0000000000000000000080bfffff7f3f0000003fb410d13300000000000000000000803f000080bf0000000000000000000080bfffff7fbf0000003fb410d13300000000000000000000803f000080bf0000000000000000000080bfffff7fbf000000bf692122b300000000000000000000803f000080bf0000000000000000000080bfffff7f3f000000bfb410d1b30000000000000000000080bf000080bf00000000000000000000803fffff7fbf000000bfb410d1b30000000000000000000080bf000080bf00000000000000000000803fffff7fbf0000003f5a8828340000000000000000000080bf000080bf00000000000000000000803fffff7f3f0000003f5a8828340000000000000000000080bf000080bf00000000000000000000803f 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0.000000029802322} 155 | m_Extent: {x: 0.99999994, y: 0.5, z: 0.00000012715591} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/FlatCapsuleBody.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 237f8e83fbf23c84b906b853c51a868b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/FlatCapsuleHead.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: FlatCapsuleHead 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 90 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 34 19 | localAABB: 20 | m_Center: {x: 0, y: 0.49999627, z: 0.000000057387872} 21 | m_Extent: {x: 1, y: 0.5000037, z: 0.00000019174826} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 00000100020002000300000003000400000004000500000005000600000006000700000007000800000008000900000009000a0000000a000b0000000b000c0000000c000d0000000d000e0000000e000f0000000f001000000011001200130013001400110013001500140013001600150013001700160013001800170013001900180013001a00190013001b001a0013001c001b0013001d001c0013001e001d0013001f001e00130020001f00130021002000 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 34 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 1360 100 | _typelessdata: 0000803f0000f836b34410340000000000000000000080bf0000803f0000000000000000000080bf000080bf0000f8b6b34410b40000000000000000000080bf0000803f0000000000000000000080bfd6147bbfd8c3473e142506b30000000000000000000080bf0000803f0000000000000000000080bf8e836cbf30eec33ec18d87320000000000000000000080bf0000803f0000000000000000000080bf77db54bf72390e3f46778a330000000000000000000080bf0000803f0000000000000000000080bf4a0535bf9a04353f26a4f2330000000000000000000080bf0000803f0000000000000000000080bf403a0ebfebda543f3069d6330000000000000000000080bf0000803f0000000000000000000080bffaefc3be2e836c3f6ff838340000000000000000000080bf0000803f0000000000000000000080bfacc747bea4147b3f5bdb50340000000000000000000080bf0000803f0000000000000000000080bf0000fab6ffff7f3ff95461340000000000000000000080bf0000803f0000000000000000000080bfdcc3473ed6147b3fc92569340000000000000000000080bf0000803f0000000000000000000080bf32eec33e8d836c3f806367340000000000000000000080bf0000803f0000000000000000000080bf73390e3f76db543f02c185340000000000000000000080bf0000803f0000000000000000000080bf9b04353f4905353fcc5845340000000000000000000080bf0000803f0000000000000000000080bfecda543f3f3a0e3f782435340000000000000000000080bf0000803f0000000000000000000080bf2e836c3ffcefc33e74841b340000000000000000000080bf0000803f0000000000000000000080bfa6147b3fa8c7473ea9e9f2330000000000000000000080bf0000803f0000000000000000000080bfd6147bbfd8c3473e8a54823300000000000000000000803f0000803f0000000000000000000080bf000080bf0000f8b66544103400000000000000000000803f0000803f0000000000000000000080bf0000803f0000f836654410b400000000000000000000803f0000803f0000000000000000000080bf8e836cbf30eec33eb865343300000000000000000000803f0000803f0000000000000000000080bf77db54bf72390e3f36baa63200000000000000000000803f0000803f0000000000000000000080bf4a0535bf9a04353f30b1d5b100000000000000000000803f0000803f0000000000000000000080bf403a0ebfebda543fc2cddc3200000000000000000000803f0000803f0000000000000000000080bffaefc3be2e836c3f38ba0cb300000000000000000000803f0000803f0000000000000000000080bfacc747bea4147b3f1c5e47b300000000000000000000803f0000803f0000000000000000000080bf0000fab6ffff7f3f44ce7cb300000000000000000000803f0000803f0000000000000000000080bfdcc3473ed6147b3faa4394b300000000000000000000803f0000803f0000000000000000000080bf32eec33e8d836c3fc732a3b300000000000000000000803f0000803f0000000000000000000080bf73390e3f76db543f5cb304b400000000000000000000803f0000803f0000000000000000000080bf9b04353f4905353fa867a5b300000000000000000000803f0000803f0000000000000000000080bfecda543f3f3a0e3f1822b6b300000000000000000000803f0000803f0000000000000000000080bf2e836c3ffcefc33e78f1bab300000000000000000000803f0000803f0000000000000000000080bfa6147b3fa8c7473e73a6b3b300000000000000000000803f0000803f0000000000000000000080bf 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0.49999627, z: 0.000000057387872} 155 | m_Extent: {x: 1, y: 0.5000037, z: 0.00000019174826} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/FlatCapsuleHead.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec79aa24b6bae5d42b0701bb81e3ced6 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Quad.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Quad 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 12 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 8 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000200000002000300040005000600040006000700 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 8 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 320 100 | _typelessdata: 0000003f000000bfa48508b200000000000000000000803f000080bf0000000000000000000080bf0000003f0000003fa485083200000000000000000000803f000080bf0000000000000000000080bf000000bf0000003fa485083200000000000000000000803f000080bf0000000000000000000080bf000000bf000000bfa48508b200000000000000000000803f000080bf0000000000000000000080bf0000003f000000bfb41091b30000000000000000000080bf000080bf00000000000000000000803f000000bf000000bfb41091b30000000000000000000080bf000080bf00000000000000000000803f000000bf0000003fb41091330000000000000000000080bf000080bf00000000000000000000803f0000003f0000003fb41091330000000000000000000080bf000080bf00000000000000000000803f 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/Quad.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0a87cd81a5904842bfbbcda9c35e91a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Sphere.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 873de0939b7f76947a258a8897199a8e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/Triangle.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Triangle 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 6 15 | topology: 0 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 6 19 | localAABB: 20 | m_Center: {x: 0.000000044703484, y: 0, z: 0} 21 | m_Extent: {x: 0.49999994, y: 0.5, z: 0.0000001718594} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000200030004000500 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 6 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 24 53 | format: 0 54 | dimension: 4 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 240 100 | _typelessdata: fdffffbe000000bf5a8838b40000000000000000000080bf0000803f0000000000000000000080bf2ebd3bb30000003f5a8838340000000000000000000080bf0000803f0000000000000000000080bf0000003f000000bf5a8838b40000000000000000000080bf0000803f0000000000000000000080bffdffffbe000000bf4cefce3300000000000000000000803f0000803f00000000000000000000803f0000003f000000bf4cefce3300000000000000000000803f0000803f00000000000000000000803f2ebd3bb30000003f4cefceb300000000000000000000803f0000803f00000000000000000000803f 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0.000000044703484, y: 0, z: 0} 155 | m_Extent: {x: 0.49999994, y: 0.5, z: 0.0000001718594} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/Triangle.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef8fab5517c7e794482a0cabdd78a50d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireArc.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: WireArc 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 64 15 | topology: 3 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 33 19 | localAABB: 20 | m_Center: {x: 0, y: 0.5, z: 0} 21 | m_Extent: {x: 1, y: 0.5, z: 0} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 0 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 0000010002000000030002000400030005000400060005000700060008000700090008000a0009000b000a000c000b000d000c000e000d000f000e0010000f001100100012001100130012001400130015001400160015001700160018001700190018001a0019001b001a001c001b001d001c001e001d001f001e0020001f00 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 33 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 0 49 | format: 0 50 | dimension: 0 51 | - stream: 0 52 | offset: 0 53 | format: 0 54 | dimension: 0 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 396 100 | _typelessdata: 72c47ebf23bdc83d00000000000080bf0000000000000000ba147bbfacc5473e0000000005fa74bf3ca0943e0000000066836cbf07efc33e0000000093c561bff35af13e0000000038db54bfd6390e3f00000000fce345bf9467223f00000000f70435bff704353f00000000946722bffce3453f00000000d6390ebf38db543f00000000f35af1be93c5613f0000000007efc3be66836c3f000000003ca094be05fa743f00000000acc547beba147b3f0000000023bdc8bd72c47e3f00000000000000000000803f0000000023bdc83d72c47e3f00000000acc5473eba147b3f000000003ca0943e05fa743f0000000007efc33e66836c3f00000000f35af13e93c5613f00000000d6390e3f38db543f000000009467223ffce3453f00000000f704353ff704353f00000000fce3453f9467223f0000000038db543fd6390e3f0000000093c5613ff35af13e0000000066836c3f07efc33e0000000005fa743f3ca0943e00000000ba147b3facc5473e0000000072c47e3f23bdc83d000000000000803f0000000000000000 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0.5, z: 0} 155 | m_Extent: {x: 1, y: 0.5, z: 0} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | m_MeshMetrics[0]: 1 161 | m_MeshMetrics[1]: 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireArc.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1854f56b8def82f47938a7ea45de39e0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireCircle.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: WireCircle 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 128 15 | topology: 3 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 64 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 1, y: 0.9999999, z: 0.00000011920928} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 0 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 00000100000002000200030003000400040005000500060006000700070008000800090009000a000a000b000b000c000c000d000d000e000e000f000f00100010001100110012001200130013001400140015001500160016001700170018001800190019001a001a001b001b001c001c001d001d001e001e001f001f00200020002100210022002200230023002400240025002500260026002700270028002800290029002a002a002b002b002c002c002d002d002e002e002f002f00300030003100310032003200330033003400340035003500360036003700370038003800390039003a003a003b003b003c003c003d003d003e003e003f003f000100 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 64 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 0 53 | format: 0 54 | dimension: 0 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 1536 100 | _typelessdata: 0000803f00000000000000000000000000000000000000006ec47e3f02bdc83d03bd48b20000000000000000000000006dc47e3f34bdc8bd35bd4832000000000000000000000000be147b3fc0c547bec1c5c7320000000000000000000000000bfa743f2fa094be30a014330000000000000000000000005e836c3f14efc3be15ef433300000000000000000000000097c5613fe85af1bee95a713300000000000000000000000031db543fd8390ebfd9398e3300000000000000000000000003e4453f986722bf9967a233000000000000000000000000f304353ff10435bff204b5330000000000000000000000009967223f01e445bf02e4c533000000000000000000000000d9390e3f30db54bf31dbd433000000000000000000000000e75af13e96c561bf97c5e13300000000000000000000000015efc33e5c836cbf5d83ec3300000000000000000000000030a0943e09fa74bf0afaf433000000000000000000000000bcc5473ebd147bbfbe14fb3300000000000000000000000035bdc83d6bc47ebf6cc4fe330000000000000000000000002ebd3bb3feff7fbfffffff3300000000000000000000000041bdc8bd6bc47ebf6cc4fe33000000000000000000000000c2c547bebc147bbfbd14fb3300000000000000000000000033a094be08fa74bf09faf43300000000000000000000000018efc3be5c836cbf5d83ec33000000000000000000000000ed5af1be95c561bf96c5e133000000000000000000000000dc390ebf2edb54bf2fdbd433000000000000000000000000996722bf02e445bf03e4c533000000000000000000000000f30435bff10435bff204b53300000000000000000000000004e445bf976722bf9867a23300000000000000000000000032db54bfd7390ebfd8398e3300000000000000000000000099c561bfe45af1bee55a713300000000000000000000000060836cbf0eefc3be0fef43330000000000000000000000000bfa74bf31a094be32a01433000000000000000000000000bf147bbfbfc547bec0c5c7320000000000000000000000006dc47ebf2ebdc8bd2fbd4832000000000000000000000000000080bf2cbdbb332dbd3ba80000000000000000000000006dc47ebf45bdc83d46bd48b2000000000000000000000000be147bbfcbc5473eccc5c7b20000000000000000000000000afa74bf36a0943e37a014b30000000000000000000000005e836cbf13efc33e14ef43b300000000000000000000000097c561bfe95af13eea5a71b300000000000000000000000030db54bfd9390e3fda398eb300000000000000000000000002e445bf9967223f9a67a2b3000000000000000000000000f10435bff304353ff404b5b30000000000000000000000009a6722bf01e4453f02e4c5b3000000000000000000000000d6390ebf32db543f33dbd4b3000000000000000000000000e85af1be96c5613f97c5e1b30000000000000000000000000befc3be5f836c3f6083ecb30000000000000000000000002da094be09fa743f0afaf4b3000000000000000000000000c6c547bebc147b3fbd14fbb30000000000000000000000001abdc8bd6bc47e3f6cc4feb30000000000000000000000002ede4c32feff7f3fffffffb30000000000000000000000005dbdc83d6bc47e3f6cc4feb3000000000000000000000000c8c5473ebc147b3fbd14fbb30000000000000000000000003da0943e07fa743f08faf4b30000000000000000000000001befc33e5b836c3f5c83ecb3000000000000000000000000e95af13e96c5613f97c5e1b3000000000000000000000000dd390e3f2ddb543f2edbd4b30000000000000000000000009a67223f01e4453f02e4c5b3000000000000000000000000f704353fed04353fee04b5b300000000000000000000000005e4453f9567223f9667a2b300000000000000000000000031db543fd9390e3fda398eb300000000000000000000000099c5613fe15af13ee25a71b30000000000000000000000005f836c3f13efc33e14ef43b30000000000000000000000000cfa743f26a0943e27a014b3000000000000000000000000bf147b3fbac5473ebbc5c7b2000000000000000000000000 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 1, y: 0.9999999, z: 0.00000011920928} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireCircle.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e994291d266ec80419574a7d36415359 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireCube.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: WireCube 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 24 15 | topology: 3 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 8 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 0.5, y: 0.5, z: 0.5} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 0 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 000001000100020002000300030000000000040001000500020006000300070004000500050006000600070007000400 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 8 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 0 49 | format: 0 50 | dimension: 0 51 | - stream: 0 52 | offset: 0 53 | format: 0 54 | dimension: 0 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 96 100 | _typelessdata: 000000bf000000bf000000bf0000003f000000bf000000bf0000003f000000bf0000003f000000bf000000bf0000003f000000bf0000003f000000bf0000003f0000003f000000bf0000003f0000003f0000003f000000bf0000003f0000003f 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 0.5, y: 0.5, z: 0.5} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | m_MeshMetrics[0]: 1 161 | m_MeshMetrics[1]: 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireCube.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51365e5b6ca1b8d438fe39907bcb22c3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireDotDiamond.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: WireDotDiamond 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 8 15 | topology: 3 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 4 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 0.5, y: 0.5, z: 0} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 1 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 00000100010002000200030003000000 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 4 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 0 49 | format: 0 50 | dimension: 0 51 | - stream: 0 52 | offset: 0 53 | format: 0 54 | dimension: 0 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 48 100 | _typelessdata: 000000000000003f00000000000000bf000000000000000000000000000000bf000000000000003f0000000000000000 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 0.5, y: 0.5, z: 0} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireDotDiamond.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af15cfefc38cf3b438c37b40b827fbba 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireLine.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!43 &4300000 4 | Mesh: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: WireLine 10 | serializedVersion: 11 11 | m_SubMeshes: 12 | - serializedVersion: 2 13 | firstByte: 0 14 | indexCount: 2 15 | topology: 3 16 | baseVertex: 0 17 | firstVertex: 0 18 | vertexCount: 2 19 | localAABB: 20 | m_Center: {x: 0, y: 0, z: 0} 21 | m_Extent: {x: 1, y: 1, z: 1} 22 | m_Shapes: 23 | vertices: [] 24 | shapes: [] 25 | channels: [] 26 | fullWeights: [] 27 | m_BindPose: [] 28 | m_BoneNameHashes: 29 | m_RootBoneNameHash: 0 30 | m_BonesAABB: [] 31 | m_VariableBoneCountWeights: 32 | m_Data: 33 | m_MeshCompression: 0 34 | m_IsReadable: 0 35 | m_KeepVertices: 1 36 | m_KeepIndices: 1 37 | m_IndexFormat: 0 38 | m_IndexBuffer: 00000100 39 | m_VertexData: 40 | serializedVersion: 3 41 | m_VertexCount: 2 42 | m_Channels: 43 | - stream: 0 44 | offset: 0 45 | format: 0 46 | dimension: 3 47 | - stream: 0 48 | offset: 12 49 | format: 0 50 | dimension: 3 51 | - stream: 0 52 | offset: 0 53 | format: 0 54 | dimension: 0 55 | - stream: 0 56 | offset: 0 57 | format: 0 58 | dimension: 0 59 | - stream: 0 60 | offset: 0 61 | format: 0 62 | dimension: 0 63 | - stream: 0 64 | offset: 0 65 | format: 0 66 | dimension: 0 67 | - stream: 0 68 | offset: 0 69 | format: 0 70 | dimension: 0 71 | - stream: 0 72 | offset: 0 73 | format: 0 74 | dimension: 0 75 | - stream: 0 76 | offset: 0 77 | format: 0 78 | dimension: 0 79 | - stream: 0 80 | offset: 0 81 | format: 0 82 | dimension: 0 83 | - stream: 0 84 | offset: 0 85 | format: 0 86 | dimension: 0 87 | - stream: 0 88 | offset: 0 89 | format: 0 90 | dimension: 0 91 | - stream: 0 92 | offset: 0 93 | format: 0 94 | dimension: 0 95 | - stream: 0 96 | offset: 0 97 | format: 0 98 | dimension: 0 99 | m_DataSize: 48 100 | _typelessdata: 000080bf000080bf000080bf0000000000000000000000000000803f0000803f0000803f000000000000000000000000 101 | m_CompressedMesh: 102 | m_Vertices: 103 | m_NumItems: 0 104 | m_Range: 0 105 | m_Start: 0 106 | m_Data: 107 | m_BitSize: 0 108 | m_UV: 109 | m_NumItems: 0 110 | m_Range: 0 111 | m_Start: 0 112 | m_Data: 113 | m_BitSize: 0 114 | m_Normals: 115 | m_NumItems: 0 116 | m_Range: 0 117 | m_Start: 0 118 | m_Data: 119 | m_BitSize: 0 120 | m_Tangents: 121 | m_NumItems: 0 122 | m_Range: 0 123 | m_Start: 0 124 | m_Data: 125 | m_BitSize: 0 126 | m_Weights: 127 | m_NumItems: 0 128 | m_Data: 129 | m_BitSize: 0 130 | m_NormalSigns: 131 | m_NumItems: 0 132 | m_Data: 133 | m_BitSize: 0 134 | m_TangentSigns: 135 | m_NumItems: 0 136 | m_Data: 137 | m_BitSize: 0 138 | m_FloatColors: 139 | m_NumItems: 0 140 | m_Range: 0 141 | m_Start: 0 142 | m_Data: 143 | m_BitSize: 0 144 | m_BoneIndices: 145 | m_NumItems: 0 146 | m_Data: 147 | m_BitSize: 0 148 | m_Triangles: 149 | m_NumItems: 0 150 | m_Data: 151 | m_BitSize: 0 152 | m_UVInfo: 0 153 | m_LocalAABB: 154 | m_Center: {x: 0, y: 0, z: 0} 155 | m_Extent: {x: 1, y: 1, z: 1} 156 | m_MeshUsageFlags: 0 157 | m_CookingOptions: 30 158 | m_BakedConvexCollisionMesh: 159 | m_BakedTriangleCollisionMesh: 160 | 'm_MeshMetrics[0]': 1 161 | 'm_MeshMetrics[1]': 1 162 | m_MeshOptimizationFlags: 1 163 | m_StreamData: 164 | serializedVersion: 2 165 | offset: 0 166 | size: 0 167 | path: 168 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireLine.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90a8d28d32c4d5843b8d25d1654ce32f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Meshes/WireSphere.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 402dfb8e92b8fd54a91baaa8e99280b9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 4300000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7a14ddea6ee20b41bdeee174c48dc25 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Resources/DCFApixels.DebugX.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77248e86b544b3c49b4ed533ad33bd50 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Resources/DCFApixels.DebugX/MaterialsList.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 955c16ab987d6324da6cdd3e0ccb6f14 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34d725f5b5bb8244385ed6769d4baaf7 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8ad211b2d6134f468588041fb9257b6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Shaders/Handles.shader: -------------------------------------------------------------------------------- 1 | Shader "DCFApixels/DebugX/Handles" 2 | { 3 | Properties 4 | { 5 | _Color ("Color", Color) = (1,1,1,1) 6 | [Toggle] _VertexColor("Vertex Color", Float) = 0 7 | [Toggle] _FakeLight("Fake Light", Float) = 0 8 | [Toggle] _Billboard("Billboard", Float) = 0 9 | [Toggle] _Dot("Dot", Float) = 0 10 | } 11 | SubShader 12 | { 13 | Tags { "Queue"="Transparent" "RenderType"="Transparent" "IgnoreProjector"="True" "ForceNoShadowCasting"="True" } 14 | Blend SrcAlpha OneMinusSrcAlpha 15 | ZWrite Off 16 | Fog { Mode Off } 17 | Lighting Off 18 | Offset -1, -1 19 | 20 | ZTest On 21 | 22 | CGINCLUDE 23 | #pragma vertex vert 24 | #pragma fragment frag 25 | #pragma multi_compile_instancing 26 | #pragma shader_feature_local _VERTEXCOLOR_ON 27 | #pragma shader_feature_local _FAKELIGHT_ON 28 | #pragma shader_feature_local _ONEPASS_ON 29 | #pragma shader_feature_local _BILLBOARD_ON 30 | #pragma shader_feature_local _DOT_ON 31 | #pragma instancing_options procedural:setup 32 | 33 | #include "UnityCG.cginc" 34 | #include "HandlesLibrary.cginc" 35 | 36 | #if defined(UNITY_PROCEDURAL_INSTANCING_ENABLED) 37 | struct InstanceData 38 | { 39 | float4x4 m; 40 | float4 color; 41 | }; 42 | StructuredBuffer _DataBuffer; 43 | void setup() 44 | { 45 | InstanceData data = _DataBuffer[unity_InstanceID]; 46 | UNITY_MATRIX_M = data.m; //UNITY_MATRIX_M 47 | _Color = data.color; 48 | } 49 | #endif 50 | 51 | struct appdata_t 52 | { 53 | float4 vertex : POSITION; 54 | #if _FAKELIGHT_ON 55 | float3 normal : NORMAL; 56 | #endif 57 | #if _VERTEXCOLOR_ON 58 | float4 color : COLOR; 59 | #endif 60 | UNITY_VERTEX_INPUT_INSTANCE_ID 61 | }; 62 | 63 | struct v2f 64 | { 65 | float4 vertex : SV_POSITION; 66 | half4 color : COLOR; 67 | }; 68 | 69 | float4 _DebugX_GlobalColor; 70 | 71 | 72 | v2f vert (appdata_t v) 73 | { 74 | v2f o; 75 | UNITY_SETUP_INSTANCE_ID(v); 76 | float4x4 M = GET_HANDLE_UNITY_MATRIX_M(); 77 | 78 | #if _BILLBOARD_ON 79 | float4 worldOrigin = mul(M, float4(0, 0, 0, 1)); 80 | float4 viewOrigin = float4(UnityObjectToViewPos(float3(0, 0, 0)), 1); 81 | float4 worldPos = mul(M, v.vertex); 82 | 83 | float4 viewPos = worldPos - worldOrigin + viewOrigin; 84 | 85 | float4 clipsPos = mul(UNITY_MATRIX_P, viewPos); 86 | o.vertex = clipsPos; 87 | #else 88 | o.vertex = UnityObjectToClipPos(v.vertex); //UNITY_MATRIX_VP 89 | #endif 90 | 91 | 92 | half4 color = _Color; 93 | #if _VERTEXCOLOR_ON 94 | color *= v.color; 95 | #endif 96 | #if _FAKELIGHT_ON 97 | float3 eyeNormal = normalize(mul((float3x3)UNITY_MATRIX_MV, v.normal).xyz); 98 | float nl = saturate(eyeNormal.z); 99 | float lighting = 0.333 + nl * 0.667 * 0.5; 100 | color.rgb = lighting * color.rgb; 101 | color = saturate(color) * _DebugX_GlobalColor; 102 | #endif 103 | 104 | o.color = color * _DebugX_GlobalColor; 105 | return o; 106 | } 107 | ENDCG 108 | 109 | Pass 110 | { 111 | ZTest LEqual 112 | CGPROGRAM 113 | half4 frag (v2f i) : SV_Target 114 | { 115 | return i.color; 116 | } 117 | ENDCG 118 | } 119 | 120 | Pass 121 | { 122 | ZTest Greater 123 | CGPROGRAM 124 | half4 frag (v2f i) : SV_Target 125 | { 126 | return i.color * half4(1, 1, 1, 0.1); 127 | } 128 | ENDCG 129 | } 130 | } 131 | } -------------------------------------------------------------------------------- /Runtime/Shaders/Handles.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37036939f3d0a824c82a3f34093d4a42 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Shaders/HandlesLibrary.cginc: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | float GetHandleSize(float3 objectPosition, float scaleM) 5 | { 6 | float3 viewDir = normalize(_WorldSpaceCameraPos - objectPosition); 7 | 8 | float distance = length(_WorldSpaceCameraPos - objectPosition); 9 | float isOrthographic = UNITY_MATRIX_P[3][3]; 10 | distance = lerp(distance, 1, isOrthographic); 11 | 12 | float fov = radians(UNITY_MATRIX_P[1][1] * 2.0); 13 | float scale = distance * (1 / fov) * 0.015; 14 | 15 | return scale * scaleM; 16 | } 17 | 18 | float4x4 GetHandleSizeMatrix(float3 objectPosition, float scaleM) 19 | { 20 | float4x4 M = UNITY_MATRIX_M; 21 | 22 | float scale = GetHandleSize(objectPosition, scaleM); 23 | M._m00 *= scale; 24 | M._m11 *= scale; 25 | M._m22 *= scale; 26 | 27 | return M; 28 | } 29 | 30 | 31 | 32 | //Macros 33 | #if _DOT_ON 34 | float _DebugX_GlobalDotSize; 35 | #endif 36 | float4 _Color; 37 | 38 | float4x4 GET_HANDLE_UNITY_MATRIX_M() 39 | { 40 | #if _DOT_ON 41 | return GetHandleSizeMatrix(mul(UNITY_MATRIX_M, float4(0, 0, 0, 1)).xyz, _DebugX_GlobalDotSize); 42 | #else 43 | return UNITY_MATRIX_M; 44 | #endif 45 | } 46 | 47 | 48 | -------------------------------------------------------------------------------- /Runtime/Shaders/HandlesLibrary.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 728ffe8b3d2321e45a960a3a90e65bc6 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Shaders/HandlesOverwrite.shader: -------------------------------------------------------------------------------- 1 | Shader "DCFApixels/DebugX/Handles Overwrite" 2 | { 3 | Properties 4 | { 5 | _Color ("Color", Color) = (1,1,1,1) 6 | [Toggle] _VertexColor("Vertex Color", Float) = 0 7 | [Toggle] _FakeLight("Fake Light", Float) = 0 8 | [Toggle] _Billboard("Billboard", Float) = 0 9 | [Toggle] _Dot("Dot", Float) = 0 10 | } 11 | SubShader 12 | { 13 | Tags { "Queue"="Transparent" "RenderType"="Transparent" "IgnoreProjector"="True" "ForceNoShadowCasting"="True" } 14 | Blend SrcAlpha OneMinusSrcAlpha 15 | ZWrite Off 16 | Fog { Mode Off } 17 | Lighting Off 18 | Offset -1, -1 19 | 20 | ZTest Always 21 | 22 | Pass 23 | { 24 | CGPROGRAM 25 | #pragma vertex vert 26 | #pragma fragment frag 27 | #pragma multi_compile_instancing 28 | #pragma shader_feature_local _VERTEXCOLOR_ON 29 | #pragma shader_feature_local _FAKELIGHT_ON 30 | #pragma shader_feature_local _ONEPASS_ON 31 | #pragma shader_feature_local _BILLBOARD_ON 32 | #pragma shader_feature_local _DOT_ON 33 | #pragma instancing_options procedural:setup 34 | 35 | #include "UnityCG.cginc" 36 | #include "HandlesLibrary.cginc" 37 | 38 | #if defined(UNITY_PROCEDURAL_INSTANCING_ENABLED) 39 | struct InstanceData 40 | { 41 | float4x4 m; 42 | float4 color; 43 | }; 44 | StructuredBuffer _DataBuffer; 45 | void setup() 46 | { 47 | InstanceData data = _DataBuffer[unity_InstanceID]; 48 | UNITY_MATRIX_M = data.m; //UNITY_MATRIX_M 49 | _Color = data.color; 50 | } 51 | #endif 52 | 53 | struct appdata_t 54 | { 55 | float4 vertex : POSITION; 56 | #if _FAKELIGHT_ON 57 | float3 normal : NORMAL; 58 | #endif 59 | #if _VERTEXCOLOR_ON 60 | float4 color : COLOR; 61 | #endif 62 | UNITY_VERTEX_INPUT_INSTANCE_ID 63 | }; 64 | 65 | struct v2f 66 | { 67 | float4 vertex : SV_POSITION; 68 | half4 color : COLOR; 69 | }; 70 | 71 | float4 _DebugX_GlobalColor; 72 | 73 | v2f vert (appdata_t v) 74 | { 75 | v2f o; 76 | UNITY_SETUP_INSTANCE_ID(v); 77 | float4x4 M = GET_HANDLE_UNITY_MATRIX_M(); 78 | 79 | #if _BILLBOARD_ON 80 | float4 worldOrigin = mul(M, float4(0, 0, 0, 1)); 81 | float4 viewOrigin = float4(UnityObjectToViewPos(float3(0, 0, 0)), 1); 82 | float4 worldPos = mul(M, v.vertex); 83 | 84 | float4 viewPos = worldPos - worldOrigin + viewOrigin; 85 | 86 | float4 clipsPos = mul(UNITY_MATRIX_P, viewPos); 87 | o.vertex = clipsPos; 88 | #else 89 | o.vertex = UnityObjectToClipPos(v.vertex); //UNITY_MATRIX_VP 90 | #endif 91 | 92 | 93 | half4 color = _Color; 94 | #if _FAKELIGHT_ON 95 | float3 eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal).xyz); 96 | float nl = saturate(eyeNormal.z); 97 | float lighting = 0.333 + nl * 0.667 * 0.5; 98 | color.rgb = lighting * color.rgb; 99 | color = saturate(color) * _DebugX_GlobalColor; 100 | #endif 101 | 102 | #if _VERTEXCOLOR_ON 103 | color *= v.color; 104 | #endif 105 | o.color = color * _DebugX_GlobalColor; 106 | 107 | return o; 108 | } 109 | 110 | half4 frag (v2f i) : SV_Target 111 | { 112 | return i.color; 113 | } 114 | ENDCG 115 | } 116 | } 117 | } -------------------------------------------------------------------------------- /Runtime/Shaders/HandlesOverwrite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bfe6625bfb0167438e98aa0d69e97e7 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Shaders/HandlesWire.shader: -------------------------------------------------------------------------------- 1 | Shader "DCFApixels/DebugX/Handles Wire" 2 | { 3 | Properties 4 | { 5 | _Color ("Color", Color) = (1,1,1,1) 6 | [Toggle] _VertexColor("Vertex Color", Float) = 0 7 | [Toggle] _FakeLight("Fake Light", Float) = 0 8 | [Toggle] _Billboard("Billboard", Float) = 0 9 | [Toggle] _Dot("Dot", Float) = 0 10 | } 11 | SubShader 12 | { 13 | Tags { "Queue"="Transparent" "RenderType"="Transparent" "IgnoreProjector"="True" "ForceNoShadowCasting"="True" } 14 | Blend SrcAlpha OneMinusSrcAlpha 15 | ZWrite Off 16 | Fog { Mode Off } 17 | Lighting Off 18 | Offset -1, -1 19 | 20 | ZTest On 21 | 22 | CGINCLUDE 23 | #pragma vertex vert 24 | #pragma geometry geom 25 | #pragma fragment frag 26 | #pragma multi_compile_instancing 27 | #pragma shader_feature_local _VERTEXCOLOR_ON 28 | #pragma shader_feature_local _FAKELIGHT_ON 29 | #pragma shader_feature_local _ONEPASS_ON 30 | #pragma shader_feature_local _BILLBOARD_ON 31 | #pragma shader_feature_local _DOT_ON 32 | #pragma instancing_options procedural:setup 33 | 34 | #include "UnityCG.cginc" 35 | #include "HandlesLibrary.cginc" 36 | 37 | #if defined(UNITY_PROCEDURAL_INSTANCING_ENABLED) 38 | struct InstanceData 39 | { 40 | float4x4 m; 41 | float4 color; 42 | }; 43 | StructuredBuffer _DataBuffer; 44 | void setup() 45 | { 46 | InstanceData data = _DataBuffer[unity_InstanceID]; 47 | UNITY_MATRIX_M = data.m; //UNITY_MATRIX_M 48 | _Color = data.color; 49 | } 50 | #endif 51 | 52 | 53 | struct appdata_t 54 | { 55 | float4 vertex : POSITION; 56 | #if _FAKELIGHT_ON 57 | float3 normal : NORMAL; 58 | #endif 59 | #if _VERTEXCOLOR_ON 60 | float4 color : COLOR; 61 | #endif 62 | UNITY_VERTEX_INPUT_INSTANCE_ID 63 | }; 64 | 65 | struct v2g 66 | { 67 | float4 vertex : SV_POSITION; 68 | half4 color : COLOR; 69 | }; 70 | struct g2f 71 | { 72 | float4 vertex : SV_POSITION; 73 | float4 color : COLOR; 74 | }; 75 | 76 | float4 _DebugX_GlobalColor; 77 | 78 | 79 | v2g vert (appdata_t v) 80 | { 81 | v2g o; 82 | UNITY_SETUP_INSTANCE_ID(v); 83 | float4x4 M = GET_HANDLE_UNITY_MATRIX_M(); 84 | 85 | #if _BILLBOARD_ON 86 | float4 worldOrigin = mul(M, float4(0, 0, 0, 1)); 87 | float4 viewOrigin = float4(UnityObjectToViewPos(float3(0, 0, 0)), 1); 88 | float4 worldPos = mul(M, v.vertex); 89 | 90 | float4 viewPos = worldPos - worldOrigin + viewOrigin; 91 | 92 | float4 clipsPos = mul(UNITY_MATRIX_P, viewPos); 93 | o.vertex = clipsPos; 94 | #else 95 | o.vertex = UnityObjectToClipPos(v.vertex); //UNITY_MATRIX_VP 96 | #endif 97 | 98 | 99 | half4 color = _Color; 100 | #if _FAKELIGHT_ON 101 | float3 eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal).xyz); 102 | float nl = saturate(eyeNormal.z); 103 | float lighting = 0.333 + nl * 0.667 * 0.5; 104 | color.rgb = lighting * color.rgb; 105 | color = saturate(color) * _DebugX_GlobalColor; 106 | #endif 107 | 108 | #if _VERTEXCOLOR_ON 109 | color *= v.color; 110 | #endif 111 | o.color = color * _DebugX_GlobalColor; 112 | 113 | return o; 114 | } 115 | 116 | 117 | 118 | [maxvertexcount(6)] 119 | void geom(triangle v2g input[3], inout LineStream lineStream) 120 | { 121 | g2f o; 122 | 123 | 124 | for (uint i = 0; i < 3; i++) 125 | { 126 | o.vertex = input[i].vertex; 127 | o.color = input[i].color; 128 | lineStream.Append(o); 129 | 130 | uint next = (i + 1) % 3; 131 | o.vertex = input[next].vertex; 132 | o.color = input[next].color; 133 | lineStream.Append(o); 134 | 135 | lineStream.RestartStrip(); 136 | } 137 | } 138 | ENDCG 139 | 140 | Pass 141 | { 142 | ZTest LEqual 143 | CGPROGRAM 144 | half4 frag (g2f i) : SV_Target 145 | { 146 | return i.color; 147 | } 148 | ENDCG 149 | } 150 | 151 | Pass 152 | { 153 | ZTest Greater 154 | CGPROGRAM 155 | half4 frag (g2f i) : SV_Target 156 | { 157 | return i.color * half4(1, 1, 1, 0.1); 158 | } 159 | ENDCG 160 | } 161 | } 162 | } -------------------------------------------------------------------------------- /Runtime/Shaders/HandlesWire.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44b75ed8f4e1d21469ab056c86b4c1a1 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Shaders/TextBackground.shader: -------------------------------------------------------------------------------- 1 | Shader "DCFApixels/DebugX/TextBackground" 2 | { 3 | SubShader 4 | { 5 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } 6 | Blend SrcAlpha OneMinusSrcAlpha 7 | ZWrite Off Fog { Mode Off } 8 | Lighting Off 9 | ZTest Off 10 | 11 | Pass 12 | { 13 | CGPROGRAM 14 | 15 | #pragma vertex vert 16 | #pragma fragment frag 17 | #pragma multi_compile_instancing 18 | #include "UnityCG.cginc" 19 | 20 | struct appdata_t 21 | { 22 | float4 vertex : POSITION; 23 | float4 color : COLOR; 24 | }; 25 | 26 | struct v2f 27 | { 28 | float4 vertex : SV_POSITION; 29 | float4 color : COLOR; 30 | }; 31 | 32 | float4 _DebugX_GlobalColor; 33 | 34 | v2f vert (appdata_t v) 35 | { 36 | v2f o; 37 | o.vertex = UnityObjectToClipPos(v.vertex); 38 | o.color = v.color * _DebugX_GlobalColor; 39 | return o; 40 | } 41 | 42 | float4 frag (v2f i) : SV_Target 43 | { 44 | return i.color; 45 | } 46 | ENDCG 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Runtime/Shaders/TextBackground.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1af3913ae49e790418a8d901f8982caf 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Runtime/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0fcff951551e3b945976d994abe83a98 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Utils/DebugXAssets.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace DCFApixels.DebugXCore 4 | { 5 | public static partial class DebugXAssets 6 | { 7 | static DebugXAssets() 8 | { 9 | Meshes = DebugXUtility.LoadStaticData(new MeshesList(), $"DCFApixels.DebugX/MeshesList"); 10 | Materials = DebugXUtility.LoadStaticData(new MaterialsList(), $"DCFApixels.DebugX/MaterialsList"); 11 | } 12 | public static MeshesList Meshes; 13 | public readonly struct MeshesList 14 | { 15 | public readonly Mesh Arrow; 16 | public readonly Mesh Cube; 17 | public readonly Mesh Quad; 18 | public readonly Mesh Circle; // Circle_1 19 | public readonly Mesh Sphere; // Sphere_0 20 | public readonly Mesh Cylinder; 21 | public readonly Mesh Cone; 22 | public readonly Mesh Triangle; 23 | 24 | public readonly Mesh CapsuleBody; 25 | public readonly Mesh CapsuleHead; 26 | public readonly Mesh FlatCapsuleBody; 27 | public readonly Mesh FlatCapsuleHead; 28 | 29 | public readonly Mesh Dot; 30 | public readonly Mesh DotQuad; 31 | public readonly Mesh DotCross; 32 | public readonly Mesh DotDiamond; 33 | public readonly Mesh WireDotDiamond; 34 | 35 | public readonly Mesh WireLine; 36 | public readonly Mesh WireCube; 37 | public readonly Mesh WireArc; 38 | public readonly Mesh WireCircle; 39 | public readonly Mesh WireSphere; 40 | } 41 | 42 | public static MaterialsList Materials; 43 | public readonly struct MaterialsList 44 | { 45 | public readonly Material Lit; 46 | //public readonly Material Lit_InstancedProcedural; 47 | public readonly Material Unlit; 48 | //public readonly Material Unlit_InstancedProcedural; 49 | public readonly Material UnlitOverwrite; 50 | //public readonly Material UnlitOverwrite_InstancedProcedural; 51 | public readonly Material Billboard; 52 | //public readonly Material Billboard_InstancedProcedural; 53 | public readonly Material Dot; 54 | //public readonly Material Dot_InstancedProcedural; 55 | public readonly Material Wire; 56 | //public readonly Material Wire_InstancedProcedural; 57 | 58 | internal readonly Material TextBackground; 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /Runtime/Utils/DebugXAssets.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7f4fd740be0c084baef28deea20d28c -------------------------------------------------------------------------------- /Runtime/Utils/DebugXUtility.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Reflection; 4 | using System.Runtime.CompilerServices; 5 | using UnityEngine; 6 | #if UNITY_EDITOR 7 | using UnityEditor; 8 | #endif 9 | 10 | namespace DCFApixels.DebugXCore 11 | { 12 | using IN = MethodImplAttribute; 13 | public static class DebugXUtility 14 | { 15 | private const MethodImplOptions LINE = MethodImplOptions.AggressiveInlining; 16 | public static T LoadStaticData(T instance, string path) 17 | { 18 | object obj = instance; 19 | var type = obj.GetType(); 20 | var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic); 21 | var prefab = Resources.Load(path); 22 | 23 | if (prefab == null) 24 | { 25 | Debug.LogError($"{path} not found."); 26 | return (T)obj; 27 | } 28 | 29 | if (fields.Count() <= 0) 30 | { 31 | Debug.LogError($"{typeof(T).Name} no fields."); 32 | return (T)obj; 33 | } 34 | 35 | foreach (var field in fields.Where(o => o.FieldType == typeof(Mesh))) 36 | { 37 | var child = prefab.transform.Find(field.Name); 38 | var meshFilter = child.GetComponent(); 39 | if (meshFilter != null) 40 | { 41 | field.SetValue(obj, meshFilter.sharedMesh); 42 | } 43 | else 44 | { 45 | Debug.LogWarning(field.Name + " not found."); 46 | } 47 | } 48 | foreach (var field in fields.Where(o => o.FieldType == typeof(Material))) 49 | { 50 | var child = prefab.transform.Find(field.Name); 51 | var meshFilter = child.GetComponent(); 52 | if (meshFilter != null) 53 | { 54 | field.SetValue(obj, meshFilter.sharedMaterial); 55 | } 56 | else 57 | { 58 | Debug.LogWarning(field.Name + " not found."); 59 | } 60 | } 61 | 62 | return (T)obj; 63 | } 64 | public static string GetGenericTypeName(Type type, int maxDepth, bool isFull) 65 | { 66 | #if DEBUG || !REFLECTION_DISABLED //в дебажных утилитах REFLECTION_DISABLED только в релизном билде работает 67 | string typeName = isFull ? type.FullName : type.Name; 68 | if (!type.IsGenericType || maxDepth == 0) 69 | { 70 | return typeName; 71 | } 72 | int genericInfoIndex = typeName.LastIndexOf('`'); 73 | if (genericInfoIndex > 0) 74 | { 75 | typeName = typeName.Remove(genericInfoIndex); 76 | } 77 | 78 | string genericParams = ""; 79 | Type[] typeParameters = type.GetGenericArguments(); 80 | for (int i = 0; i < typeParameters.Length; ++i) 81 | { 82 | //чтобы строка не была слишком длинной, используются сокращенные имена для типов аргументов 83 | string paramTypeName = GetGenericTypeName(typeParameters[i], maxDepth - 1, false); 84 | genericParams += (i == 0 ? paramTypeName : $", {paramTypeName}"); 85 | } 86 | return $"{typeName}<{genericParams}>"; 87 | #else 88 | Debug.LogWarning($"Reflection is not available, the {nameof(GetGenericTypeName_Internal)} method does not work."); 89 | return isFull ? type.FullName : type.Name; 90 | #endif 91 | } 92 | 93 | [IN(LINE)] 94 | public static float FastMagnitude(Vector3 v) 95 | { 96 | return FastSqrt(v.x * v.x + v.y * v.y + v.z * v.z); 97 | } 98 | [IN(LINE)] 99 | public static unsafe float FastSqrt(float number) 100 | { 101 | long i; 102 | float x2, y; 103 | const float threehalfs = 1.5F; 104 | 105 | x2 = number * 0.5F; 106 | y = number; 107 | i = *(long*)&y; // evil floating point bit level hacking 108 | i = 0x5f3759df - (i >> 1); // what the fuck? 109 | y = *(float*)&i; 110 | y = y * (threehalfs - (x2 * y * y)); // 1st iteration 111 | //y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed 112 | 113 | return 1 / y; 114 | } 115 | [IN(LINE)] 116 | public static int NextPow2(int v) 117 | { 118 | v--; 119 | v |= v >> 1; 120 | v |= v >> 2; 121 | v |= v >> 4; 122 | v |= v >> 8; 123 | v |= v >> 16; 124 | return ++v; 125 | } 126 | [IN(LINE)] 127 | public static bool IsGizmosRender() 128 | { 129 | bool result = true; 130 | #if UNITY_EDITOR 131 | result = Handles.ShouldRenderGizmos(); 132 | #endif 133 | return result; 134 | } 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /Runtime/Utils/DebugXUtility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b2f02e57e5eea164aabe0c86b83f1b70 -------------------------------------------------------------------------------- /Runtime/Utils/GizmosList.cs: -------------------------------------------------------------------------------- 1 | #undef DEBUG 2 | 3 | #if DEBUG 4 | #define DEV_MODE 5 | #endif 6 | using System; 7 | using System.Diagnostics; 8 | using Unity.Collections.LowLevel.Unsafe; 9 | using static DCFApixels.DebugX; 10 | 11 | namespace DCFApixels.DebugXCore 12 | { 13 | using IN = System.Runtime.CompilerServices.MethodImplAttribute; 14 | 15 | [DebuggerDisplay("Count:{Count}")] 16 | public readonly ref struct GizmosList 17 | { 18 | public readonly Array Items; 19 | public readonly int Count; 20 | public GizmosList(Array items, int count) 21 | { 22 | Items = items; 23 | Count = count; 24 | } 25 | public static GizmosList ConvertFrom(GizmosList list) 26 | { 27 | return new GizmosList(list.Items, list.Count); 28 | } 29 | public GizmosList As() 30 | { 31 | var items = Items; 32 | return new GizmosList(UnsafeUtility.As[]>(ref items), Count); 33 | } 34 | internal static GizmosList From(GizmoInternal[] items, int count) where T : IGizmo 35 | { 36 | return new GizmosList(UnsafeUtility.As[], Gizmo[]>(ref items), count); 37 | } 38 | } 39 | [DebuggerDisplay("Count:{Count}")] 40 | public readonly ref struct GizmosList 41 | { 42 | public readonly Gizmo[] Items; 43 | public readonly int Count; 44 | [IN(LINE)] 45 | public GizmosList(Gizmo[] items, int count) 46 | { 47 | Items = items; 48 | Count = count; 49 | } 50 | [IN(LINE)] 51 | public GizmosList(GizmosList list) 52 | { 53 | Items = (Gizmo[])list.Items; 54 | Count = list.Count; 55 | } 56 | public ref Gizmo this[int index] 57 | { 58 | [IN(LINE)] 59 | get { return ref Items[index]; } 60 | } 61 | public GizmosList As() 62 | { 63 | var items = Items; 64 | return new GizmosList(UnsafeUtility.As[], Gizmo[]>(ref items), Count); 65 | } 66 | [IN(LINE)] public Enumerator GetEnumerator() { return new Enumerator(Items, Count); } 67 | public struct Enumerator 68 | { 69 | public readonly Gizmo[] Items; 70 | public readonly int Count; 71 | private int _index; 72 | [IN(LINE)] 73 | public Enumerator(Gizmo[] items, int count) 74 | { 75 | Items = items; 76 | Count = count; 77 | _index = -1; 78 | } 79 | public ref Gizmo Current 80 | { 81 | [IN(LINE)] 82 | get => ref Items[_index]; 83 | } 84 | [IN(LINE)] public bool MoveNext() { return ++_index < Count; } 85 | } 86 | 87 | public static implicit operator GizmosList(GizmosList a) => GizmosList.ConvertFrom(a); 88 | public static explicit operator GizmosList(GizmosList a) => new GizmosList(a); 89 | } 90 | } -------------------------------------------------------------------------------- /Runtime/Utils/GizmosList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 434ffd7a96114134094bc2f4b7a6f465 -------------------------------------------------------------------------------- /Runtime/Utils/IGizmo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using UnityEngine.Rendering; 4 | 5 | namespace DCFApixels.DebugXCore 6 | { 7 | public interface IGizmo where T : IGizmo 8 | { 9 | IGizmoRenderer RegisterNewRenderer(); 10 | } 11 | public interface IGizmoRenderer where T : IGizmo 12 | { 13 | int ExecuteOrder { get; } 14 | //Статик рендер означает что в рамках одного контекста для всех камер используется одинаковый набор команд в CommandBuffer 15 | //Поэтому Prepare и Render можно вызвать один раз, а не по разу на каждую камеру 16 | bool IsStaticRender { get; } 17 | void Prepare(Camera camera, GizmosList list); 18 | void Render(Camera camera, GizmosList list, CommandBuffer cb); 19 | } 20 | public interface IGizmoRenderer_PostRender : IGizmoRenderer where T : IGizmo 21 | { 22 | void PostRender(Camera camera, GizmosList list); 23 | } 24 | 25 | 26 | public readonly struct RenderContext : IEquatable 27 | { 28 | public readonly Camera Camera; 29 | public bool IsStatic 30 | { 31 | get { return Camera == null || Camera.name == "SceneCamera"; } 32 | } 33 | public RenderContext(Camera camera) 34 | { 35 | Camera = camera; 36 | } 37 | public bool Equals(RenderContext other) 38 | { 39 | return Camera == other.Camera; 40 | } 41 | public override bool Equals(object obj) 42 | { 43 | return obj is RenderContext && Equals((RenderContext)obj); 44 | } 45 | public override int GetHashCode() 46 | { 47 | return HashCode.Combine(Camera); 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /Runtime/Utils/IGizmo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1416e51cb5495ce438d4b06930f2b51c -------------------------------------------------------------------------------- /Runtime/Utils/StaticData.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | namespace DCFApixels.DebugXCore 3 | { 4 | public interface IStaticData { } 5 | public interface IStaticMaterial : IStaticData 6 | { 7 | int GetExecuteOrder(); 8 | Material GetMaterial(); 9 | } 10 | public interface IStaticMesh : IStaticData 11 | { 12 | Mesh GetMesh(); 13 | // int GetBufferWarmupSize(); 14 | } 15 | 16 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 | 18 | public readonly struct LitMat : IStaticMaterial 19 | { 20 | public int GetExecuteOrder() => 0; 21 | public Material GetMaterial() => DebugXAssets.Materials.Lit; 22 | } 23 | public readonly struct UnlitMat : IStaticMaterial 24 | { 25 | public int GetExecuteOrder() => 100_000; 26 | public Material GetMaterial() => DebugXAssets.Materials.Unlit; 27 | } 28 | public readonly struct BillboardMat : IStaticMaterial 29 | { 30 | public int GetExecuteOrder() => 200_000; 31 | public Material GetMaterial() => DebugXAssets.Materials.Billboard; 32 | } 33 | public readonly struct DotMat : IStaticMaterial 34 | { 35 | public int GetExecuteOrder() => 300_000; 36 | public Material GetMaterial() => DebugXAssets.Materials.Dot; 37 | } 38 | public readonly struct GeometryUnlitMat : IStaticMaterial 39 | { 40 | public int GetExecuteOrder() => 1_000_000; 41 | public Material GetMaterial() => DebugXAssets.Materials.Unlit; 42 | } 43 | public readonly struct UnlitOverwriteMat : IStaticMaterial 44 | { 45 | public int GetExecuteOrder() => 1_000_000; 46 | public Material GetMaterial() => DebugXAssets.Materials.UnlitOverwrite; 47 | } 48 | public readonly struct WireMat : IStaticMaterial 49 | { 50 | public int GetExecuteOrder() => 1_000_000; 51 | public Material GetMaterial() => DebugXAssets.Materials.Wire; 52 | } 53 | 54 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 55 | public readonly struct SphereMesh : IStaticMesh 56 | { 57 | public Mesh GetMesh() => DebugXAssets.Meshes.Sphere; 58 | } 59 | public readonly struct CubeMesh : IStaticMesh 60 | { 61 | public Mesh GetMesh() => DebugXAssets.Meshes.Cube; 62 | } 63 | public readonly struct QuadMesh : IStaticMesh 64 | { 65 | public Mesh GetMesh() => DebugXAssets.Meshes.Quad; 66 | } 67 | public readonly struct CircleMesh : IStaticMesh 68 | { 69 | public Mesh GetMesh() => DebugXAssets.Meshes.Circle; 70 | } 71 | public readonly struct CylinderMesh : IStaticMesh 72 | { 73 | public Mesh GetMesh() => DebugXAssets.Meshes.Cylinder; 74 | } 75 | public readonly struct ConeMesh : IStaticMesh 76 | { 77 | public Mesh GetMesh() => DebugXAssets.Meshes.Cone; 78 | } 79 | public readonly struct TriangleMesh : IStaticMesh 80 | { 81 | public Mesh GetMesh() => DebugXAssets.Meshes.Triangle; 82 | } 83 | public readonly struct CapsuleBodyMesh : IStaticMesh 84 | { 85 | public Mesh GetMesh() => DebugXAssets.Meshes.CapsuleBody; 86 | } 87 | public readonly struct CapsuleHeadMesh : IStaticMesh 88 | { 89 | public Mesh GetMesh() => DebugXAssets.Meshes.CapsuleHead; 90 | } 91 | public readonly struct FlatCapsuleBodyMesh : IStaticMesh 92 | { 93 | public Mesh GetMesh() => DebugXAssets.Meshes.FlatCapsuleBody; 94 | } 95 | public readonly struct FlatCapsuleHeadMesh : IStaticMesh 96 | { 97 | public Mesh GetMesh() => DebugXAssets.Meshes.FlatCapsuleHead; 98 | } 99 | public readonly struct ArrowMesh : IStaticMesh 100 | { 101 | public Mesh GetMesh() => DebugXAssets.Meshes.Arrow; 102 | } 103 | public readonly struct DotMesh : IStaticMesh 104 | { 105 | public Mesh GetMesh() => DebugXAssets.Meshes.Dot; 106 | } 107 | public readonly struct DotQuadMesh : IStaticMesh 108 | { 109 | public Mesh GetMesh() => DebugXAssets.Meshes.DotQuad; 110 | } 111 | public readonly struct DotDiamondMesh : IStaticMesh 112 | { 113 | public Mesh GetMesh() => DebugXAssets.Meshes.DotDiamond; 114 | } 115 | public readonly struct WireDotDiamondMesh : IStaticMesh 116 | { 117 | public Mesh GetMesh() => DebugXAssets.Meshes.WireDotDiamond; 118 | } 119 | public readonly struct DotCrossMesh : IStaticMesh 120 | { 121 | public Mesh GetMesh() => DebugXAssets.Meshes.DotCross; 122 | } 123 | public readonly struct WireLineMesh : IStaticMesh 124 | { 125 | public Mesh GetMesh() => DebugXAssets.Meshes.WireLine; 126 | } 127 | public readonly struct WireCubeMesh : IStaticMesh 128 | { 129 | public Mesh GetMesh() => DebugXAssets.Meshes.WireCube; 130 | } 131 | public readonly struct WireArcMesh : IStaticMesh 132 | { 133 | public Mesh GetMesh() => DebugXAssets.Meshes.WireArc; 134 | } 135 | public readonly struct WireCircleMesh : IStaticMesh 136 | { 137 | public Mesh GetMesh() => DebugXAssets.Meshes.WireCircle; 138 | } 139 | public readonly struct WireSphereMesh : IStaticMesh 140 | { 141 | public Mesh GetMesh() => DebugXAssets.Meshes.WireSphere; 142 | } 143 | } -------------------------------------------------------------------------------- /Runtime/Utils/StaticData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22426eb6f4e3a274b8d4a0e7ba4bcf5e -------------------------------------------------------------------------------- /Runtime/Utils/ValidationUtils.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace DCFApixels.DebugXCore 4 | { 5 | public static class ValidationUtils 6 | { 7 | public static Quaternion CheckQuaternionOrDefault(this Quaternion quaternion) 8 | { 9 | float sqrMagnitude = quaternion.x * quaternion.x + quaternion.y * quaternion.y + quaternion.z * quaternion.z + quaternion.w * quaternion.w; 10 | if (float.IsNaN(sqrMagnitude) || (sqrMagnitude < float.Epsilon)) 11 | { 12 | return Quaternion.identity; 13 | } 14 | return quaternion; 15 | } 16 | 17 | public static Vector3 CheckNormalOrDefault(this Vector3 normal) 18 | { 19 | float sqrMagnitude = normal.sqrMagnitude; 20 | if (float.IsNaN(sqrMagnitude) || (sqrMagnitude < float.Epsilon)) 21 | { 22 | return Vector3.forward; 23 | } 24 | return normal; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /Runtime/Utils/ValidationUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfcf280d995044a46b559a8da9d2f25d -------------------------------------------------------------------------------- /Samples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4ea86262b8451414db97c5850fe96b28 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/DebugX.Samples.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "DCFApixels.DebugX.Samples", 3 | "rootNamespace": "DCFApixels", 4 | "references": [ 5 | "GUID:1139531e2a3a6bd4c8ad2bc68ae00719" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": true, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Samples/DebugX.Samples.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad77f906ceb59f143976326b11159337 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples/Other.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0888af1fec4b5d4ca233c252ef26bef 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Other/FakeLight.shader: -------------------------------------------------------------------------------- 1 | Shader "DCFApixels/DebugX/Samples/FakeLighth" 2 | { 3 | Properties 4 | { 5 | _Color ("Color", Color) = (1,1,1,1) 6 | } 7 | SubShader 8 | { 9 | Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } 10 | Blend One One 11 | ZWrite Off Fog { Mode Off } 12 | Lighting Off 13 | ZTest On 14 | 15 | Pass 16 | { 17 | CGPROGRAM 18 | #pragma vertex vert 19 | #pragma fragment frag 20 | 21 | #include "UnityCG.cginc" 22 | 23 | struct appdata 24 | { 25 | float4 vertex : POSITION; 26 | float2 uv : TEXCOORD0; 27 | }; 28 | 29 | struct v2f 30 | { 31 | float2 uv : TEXCOORD0; 32 | float4 vertex : SV_POSITION; 33 | }; 34 | 35 | float4 _Color; 36 | 37 | 38 | float2 Unity_PolarCoordinates_float(float2 UV, float2 Center, float RadialScale, float LengthScale) 39 | { 40 | float2 delta = UV - Center; 41 | float radius = length(delta) * 2 * RadialScale; 42 | float angle = atan2(delta.x, delta.y) * 1.0/6.28 * LengthScale; 43 | return float2(radius, angle); 44 | } 45 | 46 | 47 | v2f vert (appdata v) 48 | { 49 | v2f o; 50 | o.vertex = UnityObjectToClipPos(v.vertex); 51 | o.uv = v.uv; 52 | return o; 53 | } 54 | 55 | fixed4 frag (v2f i) : SV_Target 56 | { 57 | float m = (1.0 - Unity_PolarCoordinates_float(i.uv, float2(0.5, 0.5), 1, 1).r); 58 | m = clamp(m, 0, 1); 59 | return _Color * m; 60 | } 61 | ENDCG 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Samples/Other/FakeLight.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef72b49ee3d807c46a7349cc8fca5a77 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Samples/Other/FakeLightMat.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-7614504890241344171 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: FakeLightMat 24 | m_Shader: {fileID: 4800000, guid: ef72b49ee3d807c46a7349cc8fca5a77, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: [] 28 | m_InvalidKeywords: [] 29 | m_LightmapFlags: 4 30 | m_EnableInstancingVariants: 0 31 | m_DoubleSidedGI: 0 32 | m_CustomRenderQueue: -1 33 | stringTagMap: {} 34 | disabledShaderPasses: 35 | - MOTIONVECTORS 36 | m_LockedProperties: 37 | m_SavedProperties: 38 | serializedVersion: 3 39 | m_TexEnvs: 40 | - unity_Lightmaps: 41 | m_Texture: {fileID: 0} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | - unity_LightmapsInd: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - unity_ShadowMasks: 49 | m_Texture: {fileID: 0} 50 | m_Scale: {x: 1, y: 1} 51 | m_Offset: {x: 0, y: 0} 52 | m_Ints: [] 53 | m_Floats: 54 | - _QueueControl: 0 55 | - _QueueOffset: 0 56 | m_Colors: 57 | - _Color: {r: 0, g: 0.08608696, b: 0.11, a: 1} 58 | m_BuildTextureStacks: [] 59 | m_AllowLocking: 1 60 | -------------------------------------------------------------------------------- /Samples/Other/FakeLightMat.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2f63c26458d0fc47b7e09470ecca5b2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Other/FakeLitShader.shader: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DCFApixels/Unity-DebugX/e470b229bc95be1f4abe7d6b95f1c8b37247862d/Samples/Other/FakeLitShader.shader -------------------------------------------------------------------------------- /Samples/Other/FakeLitShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 641d3099bf3dda540b930dfb62da2142 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Samples/Other/Skybox.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &-1886556038976168383 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 11 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | version: 9 16 | --- !u!21 &2100000 17 | Material: 18 | serializedVersion: 8 19 | m_ObjectHideFlags: 0 20 | m_CorrespondingSourceObject: {fileID: 0} 21 | m_PrefabInstance: {fileID: 0} 22 | m_PrefabAsset: {fileID: 0} 23 | m_Name: Skybox 24 | m_Shader: {fileID: 4800000, guid: 2e981515bbfd59549a1c8fce06a0e033, type: 3} 25 | m_Parent: {fileID: 0} 26 | m_ModifiedSerializedProperties: 0 27 | m_ValidKeywords: [] 28 | m_InvalidKeywords: 29 | - _EMISSION 30 | - _RECEIVE_SHADOWS_OFF 31 | - _SPECULARHIGHLIGHTS_OFF 32 | m_LightmapFlags: 0 33 | m_EnableInstancingVariants: 1 34 | m_DoubleSidedGI: 0 35 | m_CustomRenderQueue: -1 36 | stringTagMap: {} 37 | disabledShaderPasses: 38 | - MOTIONVECTORS 39 | m_LockedProperties: 40 | m_SavedProperties: 41 | serializedVersion: 3 42 | m_TexEnvs: 43 | - _AlphaTex: 44 | m_Texture: {fileID: 0} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _BaseMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _BumpMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _DetailAlbedoMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | - _DetailMask: 60 | m_Texture: {fileID: 0} 61 | m_Scale: {x: 1, y: 1} 62 | m_Offset: {x: 0, y: 0} 63 | - _DetailNormalMap: 64 | m_Texture: {fileID: 0} 65 | m_Scale: {x: 1, y: 1} 66 | m_Offset: {x: 0, y: 0} 67 | - _EmissionMap: 68 | m_Texture: {fileID: 0} 69 | m_Scale: {x: 1, y: 1} 70 | m_Offset: {x: 0, y: 0} 71 | - _MainTex: 72 | m_Texture: {fileID: 0} 73 | m_Scale: {x: 1, y: 1} 74 | m_Offset: {x: 0, y: 0} 75 | - _MetallicGlossMap: 76 | m_Texture: {fileID: 0} 77 | m_Scale: {x: 1, y: 1} 78 | m_Offset: {x: 0, y: 0} 79 | - _OcclusionMap: 80 | m_Texture: {fileID: 0} 81 | m_Scale: {x: 1, y: 1} 82 | m_Offset: {x: 0, y: 0} 83 | - _ParallaxMap: 84 | m_Texture: {fileID: 0} 85 | m_Scale: {x: 1, y: 1} 86 | m_Offset: {x: 0, y: 0} 87 | - _SpecGlossMap: 88 | m_Texture: {fileID: 0} 89 | m_Scale: {x: 1, y: 1} 90 | m_Offset: {x: 0, y: 0} 91 | - unity_Lightmaps: 92 | m_Texture: {fileID: 0} 93 | m_Scale: {x: 1, y: 1} 94 | m_Offset: {x: 0, y: 0} 95 | - unity_LightmapsInd: 96 | m_Texture: {fileID: 0} 97 | m_Scale: {x: 1, y: 1} 98 | m_Offset: {x: 0, y: 0} 99 | - unity_ShadowMasks: 100 | m_Texture: {fileID: 0} 101 | m_Scale: {x: 1, y: 1} 102 | m_Offset: {x: 0, y: 0} 103 | m_Ints: [] 104 | m_Floats: 105 | - PixelSnap: 0 106 | - _AddPrecomputedVelocity: 0 107 | - _AlphaClip: 0 108 | - _AlphaToMask: 0 109 | - _Blend: 0 110 | - _BlendModePreserveSpecular: 1 111 | - _BlendOp: 0 112 | - _BumpScale: 1 113 | - _CameraFadingEnabled: 0 114 | - _CameraFarFadeDistance: 2 115 | - _CameraNearFadeDistance: 1 116 | - _ClearCoatMask: 0 117 | - _ClearCoatSmoothness: 0 118 | - _Cull: 2 119 | - _Cutoff: 0.5 120 | - _DetailAlbedoMapScale: 1 121 | - _DetailNormalMapScale: 1 122 | - _DistortionBlend: 0.5 123 | - _DistortionEnabled: 0 124 | - _DistortionStrength: 1 125 | - _DistortionStrengthScaled: 0 126 | - _DstBlend: 0 127 | - _DstBlendAlpha: 0 128 | - _EmissionEnabled: 0 129 | - _EnableExternalAlpha: 0 130 | - _EnvironmentReflections: 1 131 | - _Factor: -10 132 | - _FlipbookMode: 0 133 | - _GlossMapScale: 1 134 | - _Glossiness: 0 135 | - _GlossinessSource: 0 136 | - _GlossyReflections: 1 137 | - _LightingEnabled: 1 138 | - _Metallic: 0 139 | - _Mode: 0 140 | - _OcclusionStrength: 1 141 | - _Offset: -0.56 142 | - _Parallax: 0.02 143 | - _QueueOffset: 0 144 | - _ReceiveShadows: 0 145 | - _Shininess: 0 146 | - _Smoothness: 0 147 | - _SmoothnessSource: 0 148 | - _SmoothnessTextureChannel: 0 149 | - _SoftParticlesEnabled: 0 150 | - _SoftParticlesFarFadeDistance: 1 151 | - _SoftParticlesNearFadeDistance: 0 152 | - _SpecSource: 0 153 | - _SpecularHighlights: 0 154 | - _SrcBlend: 1 155 | - _SrcBlendAlpha: 1 156 | - _Surface: 0 157 | - _UVSec: 0 158 | - _WorkflowMode: 1 159 | - _ZWrite: 1 160 | m_Colors: 161 | - _BaseColor: {r: 0.29222006, g: 0.20719118, b: 0.4528302, a: 1} 162 | - _ButtomColor: {r: 0.0427198, g: 0.025097892, b: 0.11320752, a: 1} 163 | - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} 164 | - _Color: {r: 0.0327363, g: 0.031372547, b: 0.13333334, a: 1} 165 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 166 | - _Flip: {r: 1, g: 1, b: 1, a: 1} 167 | - _RendererColor: {r: 1, g: 1, b: 1, a: 1} 168 | - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} 169 | - _SpecColor: {r: 0.19999993, g: 0.19999993, b: 0.19999993, a: 0} 170 | - _TopColor: {r: 0, g: 0.25344214, b: 0.6698113, a: 1} 171 | m_BuildTextureStacks: [] 172 | m_AllowLocking: 1 173 | -------------------------------------------------------------------------------- /Samples/Other/Skybox.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c9ea1a6331212a40b1ac42f35bdead3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Other/Skybox.shader: -------------------------------------------------------------------------------- 1 | Shader "DCFApixels/DebugX/Samples/Skybox" 2 | { 3 | Properties 4 | { 5 | _TopColor ("Top Color", Color) = (1,1,1,1) 6 | _ButtomColor ("Buttom Color", Color) = (1,1,1,1) 7 | _Factor ("Factor", Float) = 1 8 | _Offset ("Offset", Float) = 1 9 | } 10 | SubShader 11 | { 12 | Tags { "RenderType"="Opaque" } 13 | LOD 100 14 | 15 | Pass 16 | { 17 | CGPROGRAM 18 | #pragma vertex vert 19 | #pragma fragment frag 20 | 21 | #include "UnityCG.cginc" 22 | 23 | struct appdata 24 | { 25 | float4 vertex : POSITION; 26 | float2 uv : TEXCOORD0; 27 | }; 28 | 29 | struct v2f 30 | { 31 | float2 uv : TEXCOORD0; 32 | float4 vertex : SV_POSITION; 33 | }; 34 | 35 | float4 _TopColor; 36 | float4 _ButtomColor; 37 | float _Factor; 38 | float _Offset; 39 | 40 | v2f vert (appdata v) 41 | { 42 | v2f o; 43 | o.vertex = UnityObjectToClipPos(v.vertex); 44 | o.uv = v.uv; 45 | return o; 46 | } 47 | 48 | fixed4 frag (v2f i) : SV_Target 49 | { 50 | fixed4 color = lerp(_ButtomColor, _TopColor, clamp(i.uv.y / _Factor + 0.5 + _Offset, 0, 1)); 51 | return color; 52 | } 53 | ENDCG 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Samples/Other/Skybox.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e981515bbfd59549a1c8fce06a0e033 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Samples/Other/Wall1.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Wall1 11 | m_Shader: {fileID: 4800000, guid: 641d3099bf3dda540b930dfb62da2142, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: {} 21 | disabledShaderPasses: [] 22 | m_LockedProperties: 23 | m_SavedProperties: 24 | serializedVersion: 3 25 | m_TexEnvs: 26 | - _MainTex: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | m_Ints: [] 31 | m_Floats: [] 32 | m_Colors: 33 | - _Color: {r: 0.033745002, g: 0.045134984, b: 0.085, a: 1} 34 | - _FakeAmbientColor: {r: 1, g: 0, b: 0, a: 1} 35 | - _FakeLightColor: {r: 1, g: 1, b: 1, a: 1} 36 | - _FakeLightDir: {r: 0.9, g: 1.61, b: -0.58, a: 0} 37 | m_BuildTextureStacks: [] 38 | m_AllowLocking: 1 39 | -------------------------------------------------------------------------------- /Samples/Other/Wall1.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48d7ade3346b00c42a5ee562708c3251 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Other/Wall2.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 8 6 | m_ObjectHideFlags: 0 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Wall2 11 | m_Shader: {fileID: 4800000, guid: 641d3099bf3dda540b930dfb62da2142, type: 3} 12 | m_Parent: {fileID: 0} 13 | m_ModifiedSerializedProperties: 0 14 | m_ValidKeywords: [] 15 | m_InvalidKeywords: [] 16 | m_LightmapFlags: 4 17 | m_EnableInstancingVariants: 0 18 | m_DoubleSidedGI: 0 19 | m_CustomRenderQueue: -1 20 | stringTagMap: {} 21 | disabledShaderPasses: [] 22 | m_LockedProperties: 23 | m_SavedProperties: 24 | serializedVersion: 3 25 | m_TexEnvs: 26 | - _MainTex: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | m_Ints: [] 31 | m_Floats: [] 32 | m_Colors: 33 | - _Color: {r: 0.23529412, g: 0.26666668, b: 0.5372549, a: 1} 34 | - _FakeAmbientColor: {r: 0.6058384, g: 0.40250087, b: 0.6320754, a: 1} 35 | - _FakeLightColor: {r: 0.2688679, g: 0.9127281, b: 1, a: 1} 36 | - _FakeLightDir: {r: 0.9, g: 1.61, b: -0.58, a: 0} 37 | m_BuildTextureStacks: [] 38 | m_AllowLocking: 1 39 | -------------------------------------------------------------------------------- /Samples/Other/Wall2.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c38d6a0a5405a74c9813cab248f5695 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Sample.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4953a4ae22c9f04a9e12d343c60a75d 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Samples/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d950d418bc87a0469228db504f281af 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Lines.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore.Samples.Internal; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels.DebugXCore.Samples 5 | { 6 | [SelectionBase] 7 | public class DebugXSample_Lines : MonoBehaviour 8 | { 9 | public Gradient Gradient; 10 | public float GradientMultiplier = 5; 11 | public float WidthMultiplier = 1f; 12 | public Transform[] StartLines; 13 | public Transform[] EndLines; 14 | 15 | #if UNITY_EDITOR 16 | private void OnDrawGizmos() 17 | { 18 | Draw(); 19 | } 20 | #else 21 | private void Update() 22 | { 23 | Draw(); 24 | } 25 | #endif 26 | private void Draw() 27 | { 28 | int i = -1; 29 | 30 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).Line(StartLines[i].position, EndLines[i].position); 31 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).WidthLine(StartLines[i].position, EndLines[i].position, 0.2f * WidthMultiplier); 32 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).WidthOutLine(StartLines[i].position, EndLines[i].position, 0.2f * WidthMultiplier); 33 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).ZigzagLine(StartLines[i].position, EndLines[i].position, 0.2f * WidthMultiplier); 34 | 35 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).LineFade(StartLines[i].position, EndLines[i].position); 36 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).LineArrow(StartLines[i].position, EndLines[i].position); 37 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).Line(StartLines[i].position, EndLines[i].position, DebugXLine.Arrow, DebugXLine.Arrow); 38 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).Line(StartLines[i].position, EndLines[i].position, DebugXLine.Arrow, DebugXLine.Fade); 39 | i++; DebugX.Draw(GetColor(StartLines[i], EndLines[i])).Line(StartLines[i].position, EndLines[i].position, DebugXLine.Fade, DebugXLine.Fade); 40 | } 41 | private Color GetColor(Transform pos1, Transform pos2) 42 | { 43 | return Gradient.Evaluate(pos1, pos2, GradientMultiplier); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Lines.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32c4a83bd096cde42b5f0fc752dc26bf -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_LinesList.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace DCFApixels.DebugXCore.Samples 4 | { 5 | [SelectionBase] 6 | public class DebugXSample_LinesList : MonoBehaviour 7 | { 8 | public Color Color; 9 | public Vector3[] Points = new Vector3[32]; 10 | public float Frequency = 1; 11 | public bool IsStrip; 12 | 13 | #if UNITY_EDITOR 14 | private void OnDrawGizmos() 15 | { 16 | Draw(); 17 | } 18 | #else 19 | private void Update() 20 | { 21 | Draw(); 22 | } 23 | #endif 24 | 25 | private void Draw() 26 | { 27 | if (Points == null) { return; } 28 | float sizeX = transform.localScale.x; 29 | float sizeY = transform.localScale.y * 0.5f; 30 | 31 | float start = transform.position.x - sizeX * 0.5f; 32 | float step = sizeX / Points.Length; 33 | for (int i = 0; i < Points.Length; i++) 34 | { 35 | float x = step * i; 36 | float y = Mathf.Sin(x * Frequency) * sizeY; 37 | Points[i] = new Vector3(start + x, transform.position.y + y, transform.position.z); 38 | } 39 | if (IsStrip) 40 | { 41 | DebugX.Draw(Color).LineStrip(Points, 0, Points.Length); 42 | } 43 | else 44 | { 45 | DebugX.Draw(Color).Lines(Points, 0, Points.Length); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_LinesList.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d744ac0aa154f5439d69f59ca1e82d3 3 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Other.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore.Samples.Internal; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels.DebugXCore.Samples 5 | { 6 | [SelectionBase] 7 | public class DebugXSample_Other : MonoBehaviour 8 | { 9 | public Gradient Gradient; 10 | public float GradientMultiplier = 5; 11 | public Color TextBackgroundColor = Color.white; 12 | public Transform[] Points; 13 | 14 | #if UNITY_EDITOR 15 | private void OnDrawGizmos() 16 | { 17 | Draw(); 18 | } 19 | #else 20 | private void Update() 21 | { 22 | Draw(); 23 | } 24 | #endif 25 | private void Draw() 26 | { 27 | int i = -1; 28 | const float RADIUS_M = 0.5f; 29 | 30 | i++; DebugX.Draw(GetColor(Points[i])).BillboardCross(Points[i].position, Points[i].localScale.x); 31 | i++; DebugX.Draw(GetColor(Points[i])).BillboardCircle(Points[i].position, Points[i].localScale.x * RADIUS_M); 32 | i++; DebugX.Draw(GetColor(Points[i])).WireMesh(Points[i].position, Points[i].rotation, Points[i].localScale * RADIUS_M); 33 | i++; DebugX.Draw(GetColor(Points[i])).Text(Points[i].position, Points[i].name, DebugXTextSettings.WorldSpaceScale.SetSize(26).SetBackground(TextBackgroundColor)); 34 | 35 | i++; DebugX.Draw(GetColor(Points[i])).Dot(Points[i].position); 36 | i++; DebugX.Draw(GetColor(Points[i])).WireDot(Points[i].position); 37 | i++; DebugX.Draw(GetColor(Points[i])).DotQuad(Points[i].position); 38 | i++; DebugX.Draw(GetColor(Points[i])).WireDotQuad(Points[i].position); 39 | i++; DebugX.Draw(GetColor(Points[i])).DotDiamond(Points[i].position); 40 | i++; DebugX.Draw(GetColor(Points[i])).WireDotDiamond(Points[i].position); 41 | 42 | i++; DebugX.Draw(GetColor(Points[i])).DotCross(Points[i].position); 43 | } 44 | private Color GetColor(Transform pos1) 45 | { 46 | return Gradient.Evaluate(pos1, GradientMultiplier); 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Other.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db7fca8969860e242b63ddf529b713df -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Primitives2D.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore.Samples.Internal; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels.DebugXCore.Samples 5 | { 6 | [SelectionBase] 7 | public class DebugXSample_Primitives2D : MonoBehaviour 8 | { 9 | public Gradient Gradient; 10 | public float GradientMultiplier = 5; 11 | public Transform[] Points; 12 | 13 | #if UNITY_EDITOR 14 | private void OnDrawGizmos() 15 | { 16 | Draw(); 17 | } 18 | #else 19 | private void Update() 20 | { 21 | Draw(); 22 | } 23 | #endif 24 | 25 | private void Draw() 26 | { 27 | int i = -1; 28 | const float RADIUS_M = 0.5f; 29 | 30 | i++; DebugX.Draw(GetColor(Points[i])).Quad(Points[i].position, Points[i].rotation, Points[i].localScale); 31 | i++; DebugX.Draw(GetColor(Points[i])).WireQuad(Points[i].position, Points[i].rotation, Points[i].localScale); 32 | i++; DebugX.Draw(GetColor(Points[i])).QuadGrid(Points[i].position, Points[i].rotation, Points[i].localScale, Vector2Int.one * 3); 33 | i++; DebugX.Draw(GetColor(Points[i])).QuadPoints(Points[i].position, Points[i].rotation, Points[i].localScale); 34 | 35 | i++; 36 | i++; DebugX.Draw(GetColor(Points[i])).Triangle(Points[i].position, Points[i].rotation, Points[i].localScale); 37 | i++; DebugX.Draw(GetColor(Points[i])).WireTriangle(Points[i].position, Points[i].rotation, Points[i].localScale); 38 | i++; 39 | 40 | i++; DebugX.Draw(GetColor(Points[i])).Circle(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M); 41 | i++; DebugX.Draw(GetColor(Points[i])).WireCircle(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M); 42 | i++; DebugX.Draw(GetColor(Points[i])).FlatCapsule(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 43 | i++; DebugX.Draw(GetColor(Points[i])).WireFlatCapsule(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 44 | } 45 | private Color GetColor(Transform pos1) 46 | { 47 | return Gradient.Evaluate(pos1, GradientMultiplier); 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Primitives2D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 760609f8a4ed270498280da4bfe7ddb1 -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Primitives3D.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore.Samples.Internal; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels.DebugXCore.Samples 5 | { 6 | [SelectionBase] 7 | public class DebugXSample_Primitives3D : MonoBehaviour 8 | { 9 | public Gradient Gradient; 10 | public float GradientMultiplier = 5; 11 | public Transform[] Points; 12 | 13 | #if UNITY_EDITOR 14 | private void OnDrawGizmos() 15 | { 16 | Draw(); 17 | } 18 | #else 19 | private void Update() 20 | { 21 | Draw(); 22 | } 23 | #endif 24 | 25 | 26 | private void Draw() 27 | { 28 | int i = -1; 29 | const float RADIUS_M = 0.5f; 30 | 31 | i++; DebugX.Draw(GetColor(Points[i])).Cube(Points[i].position, Points[i].rotation, Points[i].localScale); 32 | i++; DebugX.Draw(GetColor(Points[i])).WireCube(Points[i].position, Points[i].rotation, Points[i].localScale); 33 | i++; DebugX.Draw(GetColor(Points[i])).CubeGrid(Points[i].position, Points[i].rotation, Points[i].localScale, Vector3Int.one * 3); 34 | i++; DebugX.Draw(GetColor(Points[i])).CubePoints(Points[i].position, Points[i].rotation, Points[i].localScale); 35 | 36 | i++; DebugX.Draw(GetColor(Points[i])).Cylinder(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 37 | i++; DebugX.Draw(GetColor(Points[i])).WireCylinder(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 38 | i++; DebugX.Draw(GetColor(Points[i])).Cone(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 39 | i++; DebugX.Draw(GetColor(Points[i])).WireCone(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 40 | 41 | i++; DebugX.Draw(GetColor(Points[i])).Sphere(Points[i].position, Points[i].localScale.x * RADIUS_M); 42 | i++; DebugX.Draw(GetColor(Points[i])).WireSphere(Points[i].position, Points[i].localScale.x * RADIUS_M); 43 | i++; DebugX.Draw(GetColor(Points[i])).Capsule(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 44 | i++; DebugX.Draw(GetColor(Points[i])).WireCapsule(Points[i].position, Points[i].rotation, Points[i].localScale.x * RADIUS_M, Points[i].localScale.y); 45 | } 46 | private Color GetColor(Transform pos1) 47 | { 48 | return Gradient.Evaluate(pos1, GradientMultiplier); 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Primitives3D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfee330120a0afd45a33031970e97612 -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Raycasts2D.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore.Samples.Internal; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels.DebugXCore.Samples 5 | { 6 | [SelectionBase] 7 | public class DebugXSample_Raycasts2D : MonoBehaviour 8 | { 9 | public Gradient Gradient; 10 | public float GradientMultiplier = 5; 11 | public Transform[] Points; 12 | public Transform WarrningPoint; 13 | 14 | 15 | #if UNITY_EDITOR 16 | private void OnDrawGizmos() 17 | { 18 | Draw(); 19 | } 20 | #else 21 | private void Update() 22 | { 23 | Draw(); 24 | } 25 | #endif 26 | 27 | private void Draw() 28 | { 29 | #if DEBUGX_ENABLE_PHYSICS2D 30 | int i = 0; 31 | const float RADIUS_M = 0.5f; 32 | 33 | Transform point; 34 | Ray ray; 35 | RaycastHit2D hit; 36 | 37 | point = Points[i++]; 38 | ray = new Ray(point.position, point.forward); 39 | hit = Physics2D.Raycast(ray.origin, ray.direction, float.PositiveInfinity, -1); 40 | DebugX.Draw(GetColor(point)).Raycast2D(ray, hit); 41 | 42 | point = Points[i++]; 43 | ray = new Ray(point.position, point.forward); 44 | hit = Physics2D.CircleCast(ray.origin, point.localScale.x * RADIUS_M, ray.direction, float.PositiveInfinity, int.MaxValue); 45 | DebugX.Draw(GetColor(point)).CircleCast2D(ray, point.localScale.x * RADIUS_M, hit); 46 | 47 | point = Points[i++]; 48 | ray = new Ray(point.position, point.forward); 49 | hit = Physics2D.BoxCast(ray.origin, point.localScale, point.eulerAngles.z, ray.direction, float.PositiveInfinity, int.MaxValue); 50 | DebugX.Draw(GetColor(point)).BoxCast2D(ray, point.eulerAngles.z, point.localScale, hit); 51 | 52 | point = Points[i++]; 53 | ray = new Ray(point.position, point.forward); 54 | hit = Physics2D.CapsuleCast(ray.origin, point.localScale, CapsuleDirection2D.Vertical, point.eulerAngles.z, ray.direction, float.PositiveInfinity, int.MaxValue); 55 | DebugX.Draw(GetColor(point)).CapsuleCast2D(ray, point.eulerAngles.z, point.localScale, CapsuleDirection2D.Vertical, hit); 56 | #else 57 | DebugX.Draw(GetColor(WarrningPoint).Inverse()).Text(WarrningPoint.position, "Add \"DEBUGX_ENABLE_PHYSICS2D\" define", DebugXTextSettings.WorldSpaceScale.SetSize(22).SetAnchor(TextAnchor.MiddleCenter)); 58 | #endif 59 | } 60 | private Color GetColor(Transform pos1) 61 | { 62 | return Gradient.Evaluate(pos1, GradientMultiplier); 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Raycasts2D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0eb828199b6984f45a508878c98fb48a -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Raycasts3D.cs: -------------------------------------------------------------------------------- 1 | using DCFApixels.DebugXCore.Samples.Internal; 2 | using UnityEngine; 3 | 4 | namespace DCFApixels.DebugXCore.Samples 5 | { 6 | [SelectionBase] 7 | public class DebugXSample_Raycasts3D : MonoBehaviour 8 | { 9 | public Gradient Gradient; 10 | public float GradientMultiplier = 5; 11 | public Transform[] Points; 12 | public Transform WarrningPoint; 13 | 14 | 15 | #if UNITY_EDITOR 16 | private void OnDrawGizmos() 17 | { 18 | Draw(); 19 | } 20 | #else 21 | private void Update() 22 | { 23 | Draw(); 24 | } 25 | #endif 26 | 27 | private void Draw() 28 | { 29 | #if DEBUGX_ENABLE_PHYSICS3D 30 | int i = 0; 31 | const float RADIUS_M = 0.5f; 32 | 33 | Transform point; 34 | Ray ray; 35 | RaycastHit hit; 36 | 37 | point = Points[i++]; 38 | ray = new Ray(point.position, point.forward); 39 | Physics.Raycast(ray, out hit, float.PositiveInfinity, int.MaxValue, QueryTriggerInteraction.UseGlobal); 40 | DebugX.Draw(GetColor(point)).Raycast(ray, hit); 41 | 42 | point = Points[i++]; 43 | ray = new Ray(point.position, point.forward); 44 | Physics.SphereCast(ray.origin, point.localScale.x * RADIUS_M, ray.direction, out hit, float.PositiveInfinity, int.MaxValue, QueryTriggerInteraction.UseGlobal); 45 | DebugX.Draw(GetColor(point)).SphereCast(ray, point.localScale.x * RADIUS_M, hit); 46 | 47 | point = Points[i++]; 48 | ray = new Ray(point.position, point.forward); 49 | Physics.BoxCast(ray.origin, point.localScale * RADIUS_M, ray.direction, out hit, point.rotation, float.PositiveInfinity, int.MaxValue, QueryTriggerInteraction.UseGlobal); 50 | DebugX.Draw(GetColor(point)).BoxCast(ray, point.rotation, point.localScale * RADIUS_M, hit); 51 | 52 | point = Points[i++]; 53 | ray = new Ray(point.position, point.forward); 54 | Vector3 point1 = ray.origin + point.up * point.localScale.y * RADIUS_M * 0.5f; 55 | Vector3 point2 = ray.origin + point.up * point.localScale.y * RADIUS_M * -0.5f; 56 | Physics.CapsuleCast(point1, point2, point.localScale.x * RADIUS_M, ray.direction, out hit, float.PositiveInfinity, int.MaxValue, QueryTriggerInteraction.UseGlobal); 57 | DebugX.Draw(GetColor(point)).CapsuleCast(point1, point2, ray.direction, point.localScale.x * RADIUS_M, hit); 58 | #else 59 | DebugX.Draw(GetColor(WarrningPoint).Inverse()).Text(WarrningPoint.position, "Add \"DEBUGX_ENABLE_PHYSICS3D\" define", DebugXTextSettings.WorldSpaceScale.SetSize(22).SetAnchor(TextAnchor.MiddleCenter)); 60 | #endif 61 | } 62 | private Color GetColor(Transform pos1) 63 | { 64 | return Gradient.Evaluate(pos1, GradientMultiplier); 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /Samples/Scripts/DebugXSample_Raycasts3D.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc9bc861dfe94664ba81c8550492378c -------------------------------------------------------------------------------- /Samples/Scripts/QuasiRandom.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e15f57fd3f0e3f40b1c1da4ccc65703 -------------------------------------------------------------------------------- /Samples/Scripts/QuasiRandom.unity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d8c807b31d3eea4aa2f0ace139b7157 -------------------------------------------------------------------------------- /Samples/Scripts/Utils.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace DCFApixels.DebugXCore.Samples.Internal 4 | { 5 | internal static class Utils 6 | { 7 | public static Color Evaluate(this Gradient gradient, Transform transform, float m) 8 | { 9 | Vector3 pos = transform.localPosition; 10 | pos /= m == 0 ? 1 : m; 11 | pos += Vector3.one * 0.5f; 12 | float t = pos.x + pos.z; 13 | t /= 2f; 14 | return gradient.Evaluate(Mathf.Clamp01(t)); 15 | } 16 | public static Color Evaluate(this Gradient gradient, Transform transform0, Transform transform1, float m) 17 | { 18 | Vector3 pos = (transform0.localPosition + transform1.localPosition) * 0.5f; 19 | pos /= m == 0 ? 1 : m; 20 | pos += Vector3.one * 0.5f; 21 | float t = pos.x + pos.z; 22 | t /= 3f; 23 | return gradient.Evaluate(Mathf.Clamp01(t)); 24 | } 25 | public static Color Inverse(this Color c) 26 | { 27 | var a = c.a; 28 | c = Color.white - c; 29 | c.a = a; 30 | return c; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Samples/Scripts/Utils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 646aedc98b9a6f3458a27f6d43e85990 -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.dcfa_pixels.debugx", 3 | "author": 4 | { 5 | "name": "DCFApixels", 6 | "url": "https://github.com/DCFApixels" 7 | }, 8 | "displayName": "DebugX", 9 | "description": "", 10 | "unity": "2021.3", 11 | "version": "0.8.12", 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/DCFApixels/DebugX.git" 15 | }, 16 | "keywords": 17 | [ 18 | "editor", 19 | "utility", 20 | "gizmos" 21 | ] 22 | } -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5deedea8fed3f64090aa177ce49ca2c 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------