From 24ffa4f4a5371a5fbdfaaeb8517af6518711e5ef Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Sat, 22 Feb 2025 17:25:54 +0800 Subject: [PATCH] init --- .gitattributes | 2 + .gitignore | 1 - DebugX.asmdef | 14 + DebugX.asmdef.meta | 7 + Editor.meta | 8 + Editor/Settings.meta | 8 + Editor/Settings/DebugXSettings.cs | 53 + Editor/Settings/DebugXSettings.cs.meta | 2 + LICENSE | 2 +- LICENSE.meta | Bin 0 -> 155 bytes README.md | 3 + README.md.meta | 7 + Runtime.meta | 8 + Runtime/Consts.cs | 33 + Runtime/Consts.cs.meta | 2 + Runtime/DebugX.cs | 898 +++ Runtime/DebugX.cs.meta | 2 + Runtime/Gizmos.meta | 8 + Runtime/Gizmos/DebugX.base.cs | 600 ++ Runtime/Gizmos/DebugX.base.cs.meta | 2 + Runtime/Gizmos/DebugX.lines.cs | 329 + Runtime/Gizmos/DebugX.lines.cs.meta | 2 + Runtime/Gizmos/DebugX.primitives.cs | 408 + Runtime/Gizmos/DebugX.primitives.cs.meta | 2 + Runtime/Gizmos/DebugX.raycasts.cs | 129 + Runtime/Gizmos/DebugX.raycasts.cs.meta | 2 + Runtime/Internal.meta | 8 + Runtime/Internal/ColorExtensions.cs | 13 + Runtime/Internal/ColorExtensions.cs.meta | 2 + Runtime/Internal/GizmoTypeCode.cs | 42 + Runtime/Internal/GizmoTypeCode.cs.meta | 2 + Runtime/Internal/MeshesListLoader.cs | 46 + Runtime/Internal/MeshesListLoader.cs.meta | 2 + Runtime/Materials.meta | 8 + Runtime/Materials/Billboard.mat | 135 + Runtime/Materials/Billboard.mat.meta | 8 + Runtime/Materials/Dot.mat | 135 + Runtime/Materials/Dot.mat.meta | 8 + Runtime/Materials/Lit.mat | 135 + Runtime/Materials/Lit.mat.meta | 8 + Runtime/Materials/Unlit.mat | 135 + Runtime/Materials/Unlit.mat.meta | 8 + Runtime/Materials/WireLine.mat | 135 + Runtime/Materials/WireLine.mat.meta | 8 + Runtime/Meshes.meta | 8 + Runtime/Meshes/Arrow.asset | 167 + Runtime/Meshes/Arrow.asset.meta | 8 + Runtime/Meshes/CapsuleBody.asset | 167 + Runtime/Meshes/CapsuleBody.asset.meta | 8 + Runtime/Meshes/CapsuleHead.asset | 167 + Runtime/Meshes/CapsuleHead.asset.meta | 8 + Runtime/Meshes/Circle.asset | 167 + Runtime/Meshes/Circle.asset.meta | 8 + Runtime/Meshes/Dot.asset | 167 + Runtime/Meshes/Dot.asset.meta | 8 + Runtime/Meshes/DotCross.asset | 167 + Runtime/Meshes/DotCross.asset.meta | 8 + Runtime/Meshes/DotDiamond.asset | 167 + Runtime/Meshes/DotDiamond.asset.meta | 8 + Runtime/Meshes/FlatCapsuleBody.asset | 167 + Runtime/Meshes/FlatCapsuleBody.asset.meta | 8 + Runtime/Meshes/FlatCapsuleHead.asset | 167 + Runtime/Meshes/FlatCapsuleHead.asset.meta | 8 + Runtime/Meshes/Quad.asset | 167 + Runtime/Meshes/Quad.asset.meta | 8 + Runtime/Meshes/Sphere.asset | 167 + Runtime/Meshes/Sphere.asset.meta | 8 + Runtime/Meshes/WireArc.asset | 167 + Runtime/Meshes/WireArc.asset.meta | 8 + Runtime/Meshes/WireCircle.asset | 167 + Runtime/Meshes/WireCircle.asset.meta | 8 + Runtime/Meshes/WireCube.asset | 167 + Runtime/Meshes/WireCube.asset.meta | 8 + Runtime/Meshes/WireLine.asset | 167 + Runtime/Meshes/WireLine.asset.meta | 8 + Runtime/Meshes/WireSphere.asset | 167 + Runtime/Meshes/WireSphere.asset.meta | 8 + Runtime/Resources.meta | 8 + Runtime/Resources/DCFApixels.DebugX.meta | 8 + .../DCFApixels.DebugX/Handles.shader | 72 + .../DCFApixels.DebugX/Handles.shader.meta | 9 + .../DCFApixels.DebugX/HandlesBillboard.shader | 84 + .../HandlesBillboard.shader.meta | 9 + .../DCFApixels.DebugX/HandlesDot.shader | 105 + .../DCFApixels.DebugX/HandlesDot.shader.meta | 9 + .../DCFApixels.DebugX/HandlesLit.shader | 84 + .../DCFApixels.DebugX/HandlesLit.shader.meta | 9 + .../DCFApixels.DebugX/HandlesWire.shader | 101 + .../DCFApixels.DebugX/HandlesWire.shader.meta | 9 + .../DCFApixels.DebugX/MeshesList.prefab | 1695 +++++ .../DCFApixels.DebugX/MeshesList.prefab.meta | 7 + Runtime/Utils.meta | 8 + Runtime/Utils/DebugX.assets.cs | 108 + Runtime/Utils/DebugX.assets.cs.meta | 2 + Runtime/Utils/DebugX.utils.cs | 412 + Runtime/Utils/DebugX.utils.cs.meta | 2 + Runtime/Utils/GizmosList.cs | 90 + Runtime/Utils/GizmosList.cs.meta | 2 + Runtime/Utils/IGizmo.cs | 50 + Runtime/Utils/IGizmo.cs.meta | 2 + Runtime/Utils/StaticData.cs | 144 + Runtime/Utils/StaticData.cs.meta | 2 + Samples.meta | 8 + Samples/OtherAssets.meta | 8 + Samples/OtherAssets/Ground.mat | 169 + Samples/OtherAssets/Ground.mat.meta | 8 + Samples/Sample.unity | 6665 +++++++++++++++++ Samples/Sample.unity.meta | 7 + Samples/Scripts.meta | 8 + Samples/Scripts/DebugXLinesSample.cs | 117 + Samples/Scripts/DebugXLinesSample.cs.meta | 2 + Samples/Scripts/DebugXPrimitivesSample.cs | 105 + .../Scripts/DebugXPrimitivesSample.cs.meta | 2 + Samples/Scripts/DebugXRaycastsSample.cs | 71 + Samples/Scripts/DebugXRaycastsSample.cs.meta | 2 + Samples/Scripts/DebugXSampleAnimation.cs | 36 + Samples/Scripts/DebugXSampleAnimation.cs.meta | 2 + package.json | 21 + package.json.meta | 7 + 119 files changed, 16445 insertions(+), 2 deletions(-) create mode 100644 .gitattributes create mode 100644 DebugX.asmdef create mode 100644 DebugX.asmdef.meta create mode 100644 Editor.meta create mode 100644 Editor/Settings.meta create mode 100644 Editor/Settings/DebugXSettings.cs create mode 100644 Editor/Settings/DebugXSettings.cs.meta create mode 100644 LICENSE.meta create mode 100644 README.md create mode 100644 README.md.meta create mode 100644 Runtime.meta create mode 100644 Runtime/Consts.cs create mode 100644 Runtime/Consts.cs.meta create mode 100644 Runtime/DebugX.cs create mode 100644 Runtime/DebugX.cs.meta create mode 100644 Runtime/Gizmos.meta create mode 100644 Runtime/Gizmos/DebugX.base.cs create mode 100644 Runtime/Gizmos/DebugX.base.cs.meta create mode 100644 Runtime/Gizmos/DebugX.lines.cs create mode 100644 Runtime/Gizmos/DebugX.lines.cs.meta create mode 100644 Runtime/Gizmos/DebugX.primitives.cs create mode 100644 Runtime/Gizmos/DebugX.primitives.cs.meta create mode 100644 Runtime/Gizmos/DebugX.raycasts.cs create mode 100644 Runtime/Gizmos/DebugX.raycasts.cs.meta create mode 100644 Runtime/Internal.meta create mode 100644 Runtime/Internal/ColorExtensions.cs create mode 100644 Runtime/Internal/ColorExtensions.cs.meta create mode 100644 Runtime/Internal/GizmoTypeCode.cs create mode 100644 Runtime/Internal/GizmoTypeCode.cs.meta create mode 100644 Runtime/Internal/MeshesListLoader.cs create mode 100644 Runtime/Internal/MeshesListLoader.cs.meta create mode 100644 Runtime/Materials.meta create mode 100644 Runtime/Materials/Billboard.mat create mode 100644 Runtime/Materials/Billboard.mat.meta create mode 100644 Runtime/Materials/Dot.mat create mode 100644 Runtime/Materials/Dot.mat.meta create mode 100644 Runtime/Materials/Lit.mat create mode 100644 Runtime/Materials/Lit.mat.meta create mode 100644 Runtime/Materials/Unlit.mat create mode 100644 Runtime/Materials/Unlit.mat.meta create mode 100644 Runtime/Materials/WireLine.mat create mode 100644 Runtime/Materials/WireLine.mat.meta create mode 100644 Runtime/Meshes.meta create mode 100644 Runtime/Meshes/Arrow.asset create mode 100644 Runtime/Meshes/Arrow.asset.meta create mode 100644 Runtime/Meshes/CapsuleBody.asset create mode 100644 Runtime/Meshes/CapsuleBody.asset.meta create mode 100644 Runtime/Meshes/CapsuleHead.asset create mode 100644 Runtime/Meshes/CapsuleHead.asset.meta create mode 100644 Runtime/Meshes/Circle.asset create mode 100644 Runtime/Meshes/Circle.asset.meta create mode 100644 Runtime/Meshes/Dot.asset create mode 100644 Runtime/Meshes/Dot.asset.meta create mode 100644 Runtime/Meshes/DotCross.asset create mode 100644 Runtime/Meshes/DotCross.asset.meta create mode 100644 Runtime/Meshes/DotDiamond.asset create mode 100644 Runtime/Meshes/DotDiamond.asset.meta create mode 100644 Runtime/Meshes/FlatCapsuleBody.asset create mode 100644 Runtime/Meshes/FlatCapsuleBody.asset.meta create mode 100644 Runtime/Meshes/FlatCapsuleHead.asset create mode 100644 Runtime/Meshes/FlatCapsuleHead.asset.meta create mode 100644 Runtime/Meshes/Quad.asset create mode 100644 Runtime/Meshes/Quad.asset.meta create mode 100644 Runtime/Meshes/Sphere.asset create mode 100644 Runtime/Meshes/Sphere.asset.meta create mode 100644 Runtime/Meshes/WireArc.asset create mode 100644 Runtime/Meshes/WireArc.asset.meta create mode 100644 Runtime/Meshes/WireCircle.asset create mode 100644 Runtime/Meshes/WireCircle.asset.meta create mode 100644 Runtime/Meshes/WireCube.asset create mode 100644 Runtime/Meshes/WireCube.asset.meta create mode 100644 Runtime/Meshes/WireLine.asset create mode 100644 Runtime/Meshes/WireLine.asset.meta create mode 100644 Runtime/Meshes/WireSphere.asset create mode 100644 Runtime/Meshes/WireSphere.asset.meta create mode 100644 Runtime/Resources.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX/Handles.shader create mode 100644 Runtime/Resources/DCFApixels.DebugX/Handles.shader.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader create mode 100644 Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader.meta create mode 100644 Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab create mode 100644 Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab.meta create mode 100644 Runtime/Utils.meta create mode 100644 Runtime/Utils/DebugX.assets.cs create mode 100644 Runtime/Utils/DebugX.assets.cs.meta create mode 100644 Runtime/Utils/DebugX.utils.cs create mode 100644 Runtime/Utils/DebugX.utils.cs.meta create mode 100644 Runtime/Utils/GizmosList.cs create mode 100644 Runtime/Utils/GizmosList.cs.meta create mode 100644 Runtime/Utils/IGizmo.cs create mode 100644 Runtime/Utils/IGizmo.cs.meta create mode 100644 Runtime/Utils/StaticData.cs create mode 100644 Runtime/Utils/StaticData.cs.meta create mode 100644 Samples.meta create mode 100644 Samples/OtherAssets.meta create mode 100644 Samples/OtherAssets/Ground.mat create mode 100644 Samples/OtherAssets/Ground.mat.meta create mode 100644 Samples/Sample.unity create mode 100644 Samples/Sample.unity.meta create mode 100644 Samples/Scripts.meta create mode 100644 Samples/Scripts/DebugXLinesSample.cs create mode 100644 Samples/Scripts/DebugXLinesSample.cs.meta create mode 100644 Samples/Scripts/DebugXPrimitivesSample.cs create mode 100644 Samples/Scripts/DebugXPrimitivesSample.cs.meta create mode 100644 Samples/Scripts/DebugXRaycastsSample.cs create mode 100644 Samples/Scripts/DebugXRaycastsSample.cs.meta create mode 100644 Samples/Scripts/DebugXSampleAnimation.cs create mode 100644 Samples/Scripts/DebugXSampleAnimation.cs.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore index 3496b7c..58cbc82 100644 --- a/.gitignore +++ b/.gitignore @@ -59,7 +59,6 @@ sysinfo.txt *.apk *.aab *.unitypackage -*.unitypackage.meta *.app # Crashlytics generated file diff --git a/DebugX.asmdef b/DebugX.asmdef new file mode 100644 index 0000000..23e7dd4 --- /dev/null +++ b/DebugX.asmdef @@ -0,0 +1,14 @@ +{ + "name": "DCFApixels.DebugX", + "rootNamespace": "DCFApixels", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/DebugX.asmdef.meta b/DebugX.asmdef.meta new file mode 100644 index 0000000..1dc990c --- /dev/null +++ b/DebugX.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1139531e2a3a6bd4c8ad2bc68ae00719 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor.meta b/Editor.meta new file mode 100644 index 0000000..5407eb5 --- /dev/null +++ b/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69b88b9c96288ed4bbd865e41090f8db +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Settings.meta b/Editor/Settings.meta new file mode 100644 index 0000000..10ceba0 --- /dev/null +++ b/Editor/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2aa216c9de30dac4fbd278883c463d15 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Settings/DebugXSettings.cs b/Editor/Settings/DebugXSettings.cs new file mode 100644 index 0000000..6ced309 --- /dev/null +++ b/Editor/Settings/DebugXSettings.cs @@ -0,0 +1,53 @@ +#if UNITY_EDITOR +using UnityEditor; +using UnityEngine; + +namespace DCFApixels.DebugXCore.Internal +{ + internal class DebugXSettings : EditorWindow + { + [MenuItem("Tools/DebugX/Settings")] + private static void Open() + { + DebugXSettings window = (DebugXSettings)EditorWindow.GetWindow(typeof(DebugXSettings)); + window.Show(); + } + + private void OnGUI() + { + float tmpValue; + + DebugX.GlobalTimeScale = EditorGUILayout.FloatField("TimeScale", DebugX.GlobalTimeScale); + EditorGUI.BeginChangeCheck(); + tmpValue = EditorGUILayout.Slider(DebugX.GlobalTimeScale, 0, 2); + if (EditorGUI.EndChangeCheck()) + { + DebugX.GlobalTimeScale = tmpValue; + } + + DebugX.GlobalDotSize = EditorGUILayout.FloatField("DotSize", DebugX.GlobalDotSize); + EditorGUI.BeginChangeCheck(); + tmpValue = EditorGUILayout.Slider(DebugX.GlobalDotSize, 0, 2); + if (EditorGUI.EndChangeCheck()) + { + DebugX.GlobalDotSize = tmpValue; + } + + DebugX.GlobalColor = EditorGUILayout.ColorField("Color", DebugX.GlobalColor); + Color color = DebugX.GlobalColor; + color.a = EditorGUILayout.Slider(DebugX.GlobalColor.a, 0, 1); + DebugX.GlobalColor = color; + + if (GUILayout.Button("Reset")) + { + DebugX.ResetGlobals(); + } + + if (GUILayout.Button("Clear All Gizmos")) + { + DebugX.ClearAllGizmos(); + } + } + } +} +#endif \ No newline at end of file diff --git a/Editor/Settings/DebugXSettings.cs.meta b/Editor/Settings/DebugXSettings.cs.meta new file mode 100644 index 0000000..2c40aa4 --- /dev/null +++ b/Editor/Settings/DebugXSettings.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bc3681ae976053d4b8a19a105ae0b81e \ No newline at end of file diff --git a/LICENSE b/LICENSE index 5a2b04d..7f2f12a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 Mikhail +Copyright (c) 2025 DCFApixels Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/LICENSE.meta b/LICENSE.meta new file mode 100644 index 0000000000000000000000000000000000000000..e666e059f431e739bd70ddf220e7e3b63d331da0 GIT binary patch literal 155 zcmZ9=y$-@46hPskeVW$dw)KG#eoor*P)OiVj+!YkcKGSoFXczI!AH_v49%s%D>W c*H*EtK%iM4s1@nbk_~u+i2t@j@sOzV4_}coz5oCK literal 0 HcmV?d00001 diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ca7a64 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Unity-DebugX + +![image](https://github.com/user-attachments/assets/fb3edbce-9164-4ad7-a7a2-85748edf58e0) diff --git a/README.md.meta b/README.md.meta new file mode 100644 index 0000000..ba26f87 --- /dev/null +++ b/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f7937e1a77861c4448a0275c638017bc +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime.meta b/Runtime.meta new file mode 100644 index 0000000..ec4e1e9 --- /dev/null +++ b/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 98079f62e17df38458ef9a2e4d04cd14 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Consts.cs b/Runtime/Consts.cs new file mode 100644 index 0000000..3b19e02 --- /dev/null +++ b/Runtime/Consts.cs @@ -0,0 +1,33 @@ +using System.Runtime.CompilerServices; +using UnityEngine; + +namespace DCFApixels +{ + public static partial class DebugX + { + internal const MethodImplOptions LINE = MethodImplOptions.AggressiveInlining; + + private const float MinTime = 0f; + private static readonly Color DefaultColor = Color.white; + + private const float DOT_SIZE = DOT_RADIUS * 2f; + private const float DOT_RADIUS = 0.05f; + private const float BackfaceAlphaMultiplier = 0.3f; + + internal readonly static int ColorPropertyID = Shader.PropertyToID("_Color"); + internal readonly static int GlobalDotSizePropertyID = Shader.PropertyToID("_DebugX_GlobalDotSize"); + internal readonly static int GlobalColorPropertyID = Shader.PropertyToID("_DebugX_GlobalColor"); + + private readonly static bool IsSRP; + private readonly static bool IsSupportsComputeShaders = SystemInfo.supportsComputeShaders; + + public const float IMMEDIATE_DURATION = -1; + } + + public enum DebugXLine + { + Default, + Arrow, + Fade, + } +} \ No newline at end of file diff --git a/Runtime/Consts.cs.meta b/Runtime/Consts.cs.meta new file mode 100644 index 0000000..1f19d90 --- /dev/null +++ b/Runtime/Consts.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 22628015b1c17ea43a12c150546ea369 \ No newline at end of file diff --git a/Runtime/DebugX.cs b/Runtime/DebugX.cs new file mode 100644 index 0000000..e12f8d9 --- /dev/null +++ b/Runtime/DebugX.cs @@ -0,0 +1,898 @@ +//#undef DEBUG + +#if DEBUG +#define DEV_MODE +#endif +using System; +using DCFApixels.DebugXCore; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.Rendering; +using UnityEngine.LowLevel; +using UnityEngine.PlayerLoop; +using Unity.Collections.LowLevel.Unsafe; +using DCFApixels.DebugXCore.Internal; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace DCFApixels +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + +#if UNITY_EDITOR + // [InitializeOnLoad] +#endif + public static unsafe partial class DebugX + { + private static PauseStateX _pauseState = PauseStateX.Unpaused; + private static bool _isCameraContext = false; + private static ulong _lastEditorTicks = 1000; + + private static double _lastUnityTime; + private static float _deltaTime = 0; + + private static ulong _editorTicks = 0; + private static ulong _renderTicks = 100; + private static ulong _timeTicks = 0; + + #region Globals + private const string GlobalTimeScalePrefName = "DCFApixels.DebugX.TimeScale"; + private static float _timeScaleCache; + public static float GlobalTimeScale + { + get { return _timeScaleCache; } + set + { + value = Mathf.Max(0f, value); + if (_timeScaleCache == value) { return; } + _timeScaleCache = value; +#if UNITY_EDITOR + EditorPrefs.SetFloat(GlobalTimeScalePrefName, value); +#endif + } + } + private const string GlobalDotSizePrefName = "DCFApixels.DebugX.DotSize"; + private static float _dotSizeCache; + public static float GlobalDotSize + { + get { return _dotSizeCache; } + set + { + if (_dotSizeCache == value) { return; } + _dotSizeCache = value; + Shader.SetGlobalFloat(GlobalDotSizePropertyID, _dotSizeCache); +#if UNITY_EDITOR + EditorPrefs.SetFloat(GlobalDotSizePrefName, _dotSizeCache); +#endif + } + } + private const string GlobalColorPrefName = "DCFApixels.DebugX.Color"; + private static Color _globalColorCache; + public static Color GlobalColor + { + get { return _globalColorCache; } + set + { + if (_globalColorCache == value) { return; } + _globalColorCache = value; + Shader.SetGlobalVector(nameID: GlobalColorPropertyID, _globalColorCache); + + Color32 c32 = (Color32)value; + var record = *(int*)&c32; +#if UNITY_EDITOR + EditorPrefs.SetInt(GlobalColorPrefName, record); +#endif + } + } + public static void ResetGlobals() + { +#if UNITY_EDITOR + EditorPrefs.DeleteKey(GlobalTimeScalePrefName); + EditorPrefs.DeleteKey(GlobalDotSizePrefName); + EditorPrefs.DeleteKey(GlobalColorPrefName); + _dotSizeCache = default; + _timeScaleCache = default; + _globalColorCache = default; + InitGlobals(); +#endif + } + public static void InitGlobals() + { + GlobalTimeScale = 1; + GlobalDotSize = 1; + GlobalColor = Color.white; +#if UNITY_EDITOR + GlobalTimeScale = EditorPrefs.GetFloat(GlobalTimeScalePrefName, 1f); + GlobalDotSize = EditorPrefs.GetFloat(GlobalDotSizePrefName, 1f); + var colorCode = EditorPrefs.GetInt(GlobalColorPrefName, -1); + GlobalColor = (Color)(*(Color32*)&colorCode); +#endif + } + #endregion + + #region Other + public static void ClearAllGizmos() + { + RenderContextController.ClearAllGizmos(); + } + private static void SetCameraContext() + { + _isCameraContext = true; + } + private static void SetGameSceneContext() + { + _isCameraContext = false; + } + private enum PauseStateX + { + Unpaused = 0, + PreUnpaused = 1, // + Paused = 2, + } +#if UNITY_EDITOR + private static void EditorApplication_pauseStateChanged(PauseState obj) + { + _pauseState = obj == PauseState.Paused ? PauseStateX.Paused : PauseStateX.PreUnpaused; + } +#endif + + #endregion + + #region ctor + static DebugX() + { + InitGlobals(); + + Meshes = LoadMeshesList(new MeshesList(), $"DCFApixels.DebugX/MeshesList"); + + IsSRP = GraphicsSettings.currentRenderPipeline != null; + + if (IsSRP) + { + RenderPipelineManager.beginCameraRendering -= OnPreRender_SRP; + RenderPipelineManager.beginCameraRendering += OnPreRender_SRP; + + RenderPipelineManager.endCameraRendering -= OnPostRender_SRP; + RenderPipelineManager.endCameraRendering += OnPostRender_SRP; + } + else + { + Camera.onPreRender -= OnPreRender_BRP; + Camera.onPreRender += OnPreRender_BRP; + + Camera.onPostRender -= OnPostRender_BRP; + Camera.onPostRender += OnPostRender_BRP; + } + + var curentLoop = PlayerLoop.GetCurrentPlayerLoop(); + var systemsList = curentLoop.subSystemList; + for (int i = 0; i < systemsList.Length; i++) + { + ref var system = ref systemsList[i]; + if (system.type == typeof(EarlyUpdate)) + { + system.updateDelegate -= PreUpdateCallback; + system.updateDelegate += PreUpdateCallback; + } + if (system.type == typeof(PostLateUpdate)) + { + system.updateDelegate -= PreRenderCallback; + system.updateDelegate += PreRenderCallback; + } + } + curentLoop.subSystemList = systemsList; + PlayerLoop.SetPlayerLoop(curentLoop); + + //Application.onBeforeRender -= Application_onBeforeRender; + //Application.onBeforeRender += Application_onBeforeRender; + +#if UNITY_EDITOR + EditorApplication.pauseStateChanged -= EditorApplication_pauseStateChanged; + EditorApplication.pauseStateChanged += EditorApplication_pauseStateChanged; + EditorApplication.update -= EditorApplication_update; + EditorApplication.update += EditorApplication_update; +#endif + } + #endregion + + #region Draw/DrawHandler + public static DrawHandler Draw() + { + return new DrawHandler(MinTime, DefaultColor); + } + public static DrawHandler Draw(float duration) + { + return new DrawHandler(duration, DefaultColor); + } + public static DrawHandler Draw(Color color) + { + return new DrawHandler(MinTime, color); + } + public static DrawHandler Draw(float duration, Color color) + { + return new DrawHandler(duration, color); + } + public readonly partial struct DrawHandler + { + public readonly Color Color; + public readonly float Duration; + //private readonly RenderContextController ContextController; + //public Camera Camera + //{ + // get { return ContextController.Context.Camera; } + //} + [IN(LINE)] + public DrawHandler(float time, Color color) + { + Color = color; + Duration = time; + //ContextController = GetCurrenRenderContextController(); + } + [IN(LINE)] public DrawHandler Setup(float duration, Color color) => new DrawHandler(duration, color); + [IN(LINE)] public DrawHandler Setup(float duration) => new DrawHandler(duration, Color); + [IN(LINE)] public DrawHandler Setup(Color color) => new DrawHandler(Duration, color); + //[IN(LINE)] + //private DrawHandler(float time, Color color, RenderContextController contextController) + //{ + // Color = color; + // Duration = time; + // ContextController = contextController; + //} + //[IN(LINE)] public DrawHandler Setup(float duration, Color color) => new DrawHandler(duration, color, ContextController); + //[IN(LINE)] public DrawHandler Setup(float duration) => new DrawHandler(duration, Color, ContextController); + //[IN(LINE)] public DrawHandler Setup(Color color) => new DrawHandler(Duration, color, ContextController); + //[IN(LINE)] public DrawHandler Setup(Camera camera) => new DrawHandler(Duration, Color, ContextController.Context.Camera != camera ? RenderContextController.GetController(new RenderContext(camera)) : ContextController); + } + #endregion + + #region Gizmo data + internal struct GizmoInternal where T : IGizmo + { + public readonly T Value; + public readonly Color Color; + public float Timer; + //public int IsSwaped; + [IN(LINE)] + public GizmoInternal(T value, float timer, Color color) + { + Value = value; + Timer = timer; + Color = color; + //IsSwaped = -1; + } + } + public readonly struct Gizmo + { + public readonly T Value; + public readonly Color Color; + public readonly float Timer; + public Gizmo(T value, Color color, float timer) + { + Value = value; + Color = color; + Timer = timer; + } + //public readonly int IsSwaped; + public override string ToString() + { + return $"{Color} {Timer}"; + } + } + #endregion + + + #region Render Callbacks + private static void OnPreRender_SRP(ScriptableRenderContext context, Camera camera) + { + PreRender_General(camera); + } + private static void OnPostRender_SRP(ScriptableRenderContext context, Camera camera) + { + PostRender_General(new CBExecutor(context), camera); + context.Submit(); + } + private static void OnPreRender_BRP(Camera camera) + { + PreRender_General(camera); + //throw new NotImplementedException(); + } + private static void OnPostRender_BRP(Camera camera) + { + PostRender_General(default, camera); + //throw new NotImplementedException(); + } + + + public static ulong RenderTicks + { + get { return _renderTicks; } + } + public static ulong TimeTicks + { + get { return _timeTicks; } + } + + private static void PreUpdateCallback() + { + _editorTicks++; + _currentCamera = null; + + if (_lastUnityTime < Time.unscaledTimeAsDouble) + { + _timeTicks++; + if (_pauseState == PauseStateX.Unpaused) + { + _deltaTime = Time.unscaledDeltaTime * _timeScaleCache; + } + else + { + const float Min = 1f / 200f; + const float Max = 1f / 20f; + if (_deltaTime < Min || _deltaTime > Max) + { + _deltaTime = Max; + } + } + for (int i = 0, iMax = GizmosBuffer.All.Count; i < iMax; i++) + { + GizmosBuffer.All[i].UpdateTimer(_deltaTime); + } + } + _lastUnityTime = Time.unscaledTimeAsDouble; + if (_pauseState == PauseStateX.PreUnpaused) + { + _pauseState = PauseStateX.Unpaused; + } + SetGameSceneContext(); + } + private static void PreRenderCallback() + { + RenderContextController.ClearCommandBuffers(); + SetCameraContext(); + _currentCamera = null; + } + + + private static void EditorApplication_update() + { + _editorTicks++; + } + + private static void PreRender_General(Camera camera) + { + if (camera == null) { return; } + _currentCamera = camera; + } + + + private static void PostRender_General(CBExecutor cbExecutor, Camera camera) + { + if (_lastEditorTicks != _editorTicks) + { + _renderTicks++; + _lastEditorTicks = _editorTicks; + } + + if (IsGizmosRender()) + { + RenderContextController.StaicContextController.Prepare(); + RenderContextController.StaicContextController.Render(cbExecutor); + } + + if (camera == null) { return; } + _currentCamera = camera; + RenderContextController contextController = RenderContextController.GetController(new RenderContext(camera)); + contextController.Prepare(); + contextController.Render(cbExecutor); + } + private readonly struct CBExecutor + { + public readonly ScriptableRenderContext RenderContext; + public CBExecutor(ScriptableRenderContext renderContext) + { + RenderContext = renderContext; + } + public void Execute(CommandBuffer cb) + { + if(RenderContext == default) + { + Graphics.ExecuteCommandBuffer(cb); + } + else + { + RenderContext.ExecuteCommandBuffer(cb); + } + } + } + +#if UNITY_EDITOR + + [DrawGizmo(GizmoType.NonSelected | GizmoType.Selected)] + private static void DrawGizmos(Camera obj, GizmoType gizmoType) + { + if (obj != Camera.main) { return; } + + Camera camera = Camera.current; + + Color guiColor = GUI.color; + Color gizmosColor = Gizmos.color; + Color handlesColor = Handles.color; + GL.MultMatrix(Handles.matrix); + + RenderContextController.StaicContextController.Render_UnityGizmos(); + + if (camera == null) { return; } + _currentCamera = camera; + RenderContextController.GetController(new RenderContext(camera)).Render_UnityGizmos(); + + GUI.color = guiColor; + Gizmos.color = gizmosColor; + Handles.color = handlesColor; + } +#endif + + #endregion + + + #region Gizmo Method + private static Camera _currentCamera; + private static Camera GetCurrentCamera() + { + return _currentCamera == null ? Camera.current : _currentCamera; + } + private static RenderContextController _currenRenderContextControler; + public readonly partial struct DrawHandler + { + [IN(LINE)] + public DrawHandler Gizmo(T value) where T : IGizmo + { + GetCurrentContextController().Add(value, Duration, Color); + return this; + } + [IN(LINE)] + public DrawHandler Gizmos(ReadOnlySpan values) where T : IGizmo + { + GetCurrentContextController().AddRange(values, Duration, Color); + return this; + } + + private static RenderContextController GetCurrentContextController() + { + //RenderContextController controller; + //if (ContextController == null) + //{ + // controller = DrawHandler.GetCurrentContextController(); + //} + //else + //{ + // controller = ContextController; + //} + //return controller; + + + if (_isCameraContext) + { + if (_currenRenderContextControler.Context.Camera != GetCurrentCamera()) + { + _currenRenderContextControler = RenderContextController.GetController(new RenderContext(Camera.current)); + } + } + else + { + _currenRenderContextControler = RenderContextController.StaicContextController; + } + return _currenRenderContextControler; + } + } + #endregion + + + #region RenderContextControler + private class RenderContextController + { + private static readonly Dictionary _allControllers = new Dictionary(); + private static readonly RenderContextController _staicContextController; + private static readonly CommandBuffer _staticContextBuffer; + static RenderContextController() + { + _staticContextBuffer = new CommandBuffer(); + _staticContextBuffer.name = "DebugX_StaticContextRender"; + //_staicContextController = new RenderContextControler(new RenderContext(null), _staticContextBuffer); + + _staicContextController = GetController(new RenderContext(null)); + } + public static IEnumerable AllConteollers + { + get { return _allControllers.Values; } + } + public static RenderContextController StaicContextController + { + get { return _staicContextController; } + } + public static RenderContextController GetController(RenderContext context) + { + if (_allControllers.TryGetValue(context, out RenderContextController result) == false) + { + CommandBuffer cb; + if (context.Camera == null) + { + cb = _staticContextBuffer; + } + else + { + cb = new CommandBuffer(); + cb.name = "DebugX_CameraContextRender"; + } + result = new RenderContextController(context, cb); + //TODO + _allControllers.Add(context, result); + } + return result; + } + public static void ClearCommandBuffers() + { + foreach (var item in _allControllers) + { + item.Value.commandBuffer.Clear(); + } + } + public static void UpdateControllersList() + { + + } + public static void ClearAllGizmos() + { + foreach (var controller in AllConteollers) + { + foreach (var buffer in controller._buffers) + { + buffer.Clear(); + } + } + } + + public readonly RenderContext Context; + private readonly CommandBuffer commandBuffer; + private GizmosBuffer[] _buffersMap = Array.Empty(); + private readonly List _buffers = new List(); + + private readonly Unity.Profiling.ProfilerMarker _cameraMarker; + + //private long _version; + //private long _lastVersion; + //private void IncrementVersion() + //{ + // System.Threading.Interlocked.Increment(ref _version); + //} + + private RenderContextController(RenderContext context, CommandBuffer cb) + { + Context = context; + commandBuffer = cb; + + _cameraMarker = new Unity.Profiling.ProfilerMarker($"{Context.Camera}"); + + _buffersMap = new GizmosBuffer[GizmoTypeCode.TypesCount]; + //TODO + GizmoTypeCode.OnAddNewID += TypeCode_OnAddNewID; + } + private void TypeCode_OnAddNewID(int count) + { + Array.Resize(ref _buffersMap, NextPow2(count)); + } + + + [IN(LINE)] + public void Add(T value, float time, Color color) where T : IGizmo + { + GetBuffer().Add(value, time, color); + } + [IN(LINE)] + public void AddRange(ReadOnlySpan values, float time, Color color) where T : IGizmo + { + GetBuffer().AddRange(values, time, color); + } + [IN(LINE)] + private GizmosBuffer GetBuffer() where T : IGizmo + { + int id = GizmoTypeCode.ID; + if (_buffersMap[id] == null) + { + var result = new GizmosBuffer(Context, commandBuffer); + _buffersMap[id] = result; + _buffers.Add(result); + _buffers.Sort((a, b) => a.ExecuteOrder - b.ExecuteOrder); + return result; + } + else + { + return UnsafeUtility.As>(ref _buffersMap[id]); + } + } + + //[IN(LINE)] + //public void UpdateTimer(float deltaTime) + //{ + // int removed = 0; + // for (int i = 0, iMax = _buffers.Count; i < iMax; i++) + // { + // removed |= _buffers[i].UpdateTimer(deltaTime); + // } + // //if(removed > 0) + // //{ + // // IncrementVersion(); + // //} + //} + + + [IN(LINE)] + public void Prepare() + { +#if UNITY_EDITOR + using (_cameraMarker.Auto()) +#endif + { + for (int i = 0, iMax = _buffers.Count; i < iMax; i++) + { + _buffers[i].Prepare(); + } + } + } + + [IN(LINE)] + public void Render(CBExecutor cbExecutor) + { +#if UNITY_EDITOR + using (_cameraMarker.Auto()) +#endif + { + for (int i = 0, iMax = _buffers.Count; i < iMax; i++) + { + _buffers[i].Render(cbExecutor); + } + + + RunEnd(); + } + } + + + [IN(LINE)] + public void Render_UnityGizmos() + { +#if UNITY_EDITOR + using (_cameraMarker.Auto()) +#endif + { + for (int i = 0, iMax = _buffers.Count; i < iMax; i++) + { + _buffers[i].Render_UnityGizmos(); + } + } + } + + public void RunEnd() + { + int removed = 0; + for (int i = 0, iMax = _buffers.Count; i < iMax; i++) + { + removed |= _buffers[i].RunEnd(); + } + //if (removed > 0) + //{ + // IncrementVersion(); + //} + } + } + #endregion + + #region GizmosBuffer + private abstract class GizmosBuffer + { + public readonly static List All = new List(); + + public abstract int ExecuteOrder { get; } + public abstract int UpdateTimer(float deltaTime); + public abstract void Prepare(); + public abstract void Render(CBExecutor cbExecutor); + public abstract void Render_UnityGizmos(); + public abstract int RunEnd(); + public abstract void Clear(); + } + private class GizmosBuffer : GizmosBuffer where T : IGizmo + { + private class DummyRenderer : IGizmoRenderer + { + public int ExecuteOrder { get { return 0; } } + public bool IsStaticRender { get { return true; } } + public void Prepare(Camera camera, GizmosList list) { } + public void Render(Camera camera, GizmosList list, CommandBuffer cb) { } + } + + private StructList> _gizmos = new StructList>(32); + private readonly string _debugName; + + private readonly RenderContext _context; + private readonly CommandBuffer _staticCommandBuffer; + //private readonly CommandBuffer _dynamicCommandBuffer; + + private readonly IGizmoRenderer _renderer; + private readonly IGizmoRenderer_UnityGizmos _rendererUnityGizmos; + private readonly bool _isStatic; + +#if DEV_MODE + private static readonly Unity.Profiling.ProfilerMarker _timerMarker = new Unity.Profiling.ProfilerMarker($"{GetGenericTypeName_Internal(typeof(T), 3, false)}.{nameof(UpdateTimer)}"); + private static readonly Unity.Profiling.ProfilerMarker _prepareMarker = new Unity.Profiling.ProfilerMarker($"{GetGenericTypeName_Internal(typeof(T), 3, false)}.{nameof(Prepare)}"); + private static readonly Unity.Profiling.ProfilerMarker _renderMarker = new Unity.Profiling.ProfilerMarker($"{GetGenericTypeName_Internal(typeof(T), 3, false)}.{nameof(Render)}"); +#endif + + public GizmosBuffer(RenderContext context, CommandBuffer cb) + { + Type type = typeof(T); + _context = context; + _staticCommandBuffer = cb; + _debugName = GetGenericTypeName_Internal(type, 3, false); + //_dynamicCommandBuffer = new CommandBuffer(); + //_dynamicCommandBuffer.name = _debugName; + + _renderer = default(T).RegisterNewRenderer(); + if (_renderer == null) + { + _renderer = new DummyRenderer(); + } + _isStatic = _renderer.IsStaticRender; + _rendererUnityGizmos = _renderer as IGizmoRenderer_UnityGizmos; + + All.Add(this); + All.Sort((a, b) => a.ExecuteOrder - b.ExecuteOrder); + + } + [IN(LINE)] + public void Add(T value, float time, Color color) + { + _gizmos.Add(new GizmoInternal(value, time, color)); + } + [IN(LINE)] + public void AddRange(ReadOnlySpan values, float time, Color color) + { + _gizmos.UpSize(_gizmos._count + values.Length); + for (int i = 0; i < values.Length; i++) + { + _gizmos.Add(new GizmoInternal(values[i], time, color)); + } + } + + public override int ExecuteOrder { get { return _renderer.ExecuteOrder; } } + + + private static readonly bool _isUnmanaged = UnsafeUtility.IsUnmanaged(typeof(T)); + public sealed override int UpdateTimer(float deltaTime) + { + _staticCommandBuffer.Clear(); + int removeCount = 0; +#if DEV_MODE + using (_timerMarker.Auto()) +#endif + { + for (int i = 0; i < _gizmos.Count; i++) + { + ref var item = ref _gizmos._items[i]; + if (item.Timer <= 0) + { + _gizmos.FastRemoveAt(i); + i--; + removeCount++; + continue; + } + item.Timer -= deltaTime; + } + } + return removeCount; + } + public sealed override int RunEnd() + { + int removeCount = 0; +#if DEV_MODE + using (_timerMarker.Auto()) +#endif + { + int lastCount = _gizmos.Count; + for (int i = 0; i < _gizmos.Count; i++) + { + ref var item = ref _gizmos._items[i]; + if (item.Timer < 0) + { + _gizmos.FastRemoveAt(i); + i--; + removeCount++; + continue; + } + } + //, , managed + if (_isUnmanaged == false) + { + for (int i = _gizmos.Count; i < lastCount; i++) + { + _gizmos._items[i] = default; + } + } + } + return removeCount; + } + + + private ulong _prepareLastRenderTicks = 0; + public override void Prepare() + { + if (_gizmos.Count <= 0) { return; } +#if DEV_MODE + using (_prepareMarker.Auto()) +#endif + { + if (_isStatic == false || _prepareLastRenderTicks != _renderTicks) + { + _prepareLastRenderTicks = _renderTicks; + GizmosList list = GizmosList.From(_gizmos._items, _gizmos._count); + try + { + _renderer.Prepare(GetCurrentCamera(), list); + } + catch (Exception e) { throw new Exception($"[{_debugName}] [Prepare] ", e); } + } + } + } + private ulong _renderLastRenderTicks = 0; + public override void Render(CBExecutor cbExecutor) + { + if (_gizmos.Count <= 0) { return; } +#if DEV_MODE + using (_renderMarker.Auto()) +#endif + { + //if (_isStatic == false || _renderLastRenderTicks != _renderTicks) + { + _renderLastRenderTicks = _renderTicks; + GizmosList list = GizmosList.From(_gizmos._items, _gizmos._count); + try + { + _staticCommandBuffer.Clear(); + _renderer.Render(GetCurrentCamera(), list, _staticCommandBuffer); + } + catch (Exception e) { throw new Exception($"[{_debugName}] [Render] ", e); } + } + cbExecutor.Execute(_staticCommandBuffer); + } + } + public override void Render_UnityGizmos() + { + if (_rendererUnityGizmos == null) { return; } + if (_gizmos.Count <= 0) { return; } +#if DEV_MODE + using (_renderMarker.Auto()) +#endif + { + GizmosList list = GizmosList.From(_gizmos._items, _gizmos._count); + try + { + _rendererUnityGizmos.Render_UnityGizmos(GetCurrentCamera(), list); + } + catch (Exception e) { throw new Exception($"[{_debugName}] [Render] ", e); } + } + } + + public override void Clear() + { + if (_isUnmanaged) + { + _gizmos.FastClear(); + } + else + { + _gizmos.Clear(); + } + } + } + #endregion + } +} \ No newline at end of file diff --git a/Runtime/DebugX.cs.meta b/Runtime/DebugX.cs.meta new file mode 100644 index 0000000..fc224e7 --- /dev/null +++ b/Runtime/DebugX.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e9d419d5313e7ff48a7a8e9561e30b17 \ No newline at end of file diff --git a/Runtime/Gizmos.meta b/Runtime/Gizmos.meta new file mode 100644 index 0000000..d621f2b --- /dev/null +++ b/Runtime/Gizmos.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b4ea287971497fd448a4721fc2513808 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Gizmos/DebugX.base.cs b/Runtime/Gizmos/DebugX.base.cs new file mode 100644 index 0000000..fc641f8 --- /dev/null +++ b/Runtime/Gizmos/DebugX.base.cs @@ -0,0 +1,600 @@ +//#undef DEBUG +using DCFApixels.DebugXCore; +using Unity.Collections.LowLevel.Unsafe; +using Unity.Jobs; +using UnityEngine; +using UnityEngine.Rendering; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace DCFApixels +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + public static unsafe partial class DebugX + { + public readonly partial struct DrawHandler + { + #region Lambda //TODO + //[IN(LINE)] + //public DrawHandler Lambda(Action<(Color color, float duration)> drawCallback) + //{ + // return Gizmo(new LambdaGizmo(drawCallback)); + //} + //private readonly struct LambdaGizmo : IGizmo + //{ + // public readonly Action<(Color color, float duration)> Action; + // [IN(LINE)] public LambdaGizmo(Action<(Color color, float duration)> action) { Action = action; } + // public IGizmoRenderer RegisterNewRenderer() => new Renderer(); + // private class Renderer : IGizmoRenderer + // { + // public int ExecuteOrder => 0; + // public bool IsStaticRender => false; + // public void Prepare(Camera camera, GizmosList list) { } + // public void Render(Camera camera, GizmosList list, CommandBuffer cb) + // { + // foreach (var item in list) + // { + // item.Value.Action((item.Color, item.Timer)); + // } + // } + // } + //} + #endregion + + #region Mesh //TODO потестить + [IN(LINE)] + public DrawHandler Mesh(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 size) + where TMat : struct, IStaticMaterial + { + return Gizmo(new MeshGizmo(mesh, position, rotation, size)); + } + [IN(LINE)] + public DrawHandler Mesh(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 size) + { + return Gizmo(new MeshGizmo(mesh, position, rotation, size)); + } + [IN(LINE)] + public DrawHandler UnlitMesh(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 size) + { + return Gizmo(new MeshGizmo(mesh, position, rotation, size)); + } + [IN(LINE)] + public DrawHandler WireMesh(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 size) + { + return Gizmo(new MeshGizmo(mesh, position, rotation, size)); + } + + private readonly struct MeshGizmoLayout + { + public readonly Mesh Mesh; + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + public MeshGizmoLayout(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 size) + { + Mesh = mesh; + Rotation = rotation; + Position = position; + Size = size; + } + } + private readonly struct MeshGizmo : IGizmo> + where TMat : struct, IStaticMaterial + { + public readonly Mesh Mesh; + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + [IN(LINE)] + public MeshGizmo(Mesh mesh, Vector3 position, Quaternion rotation, Vector3 size) + { + Mesh = mesh; + Position = position; + Rotation = rotation; + Size = size; + } + public IGizmoRenderer> RegisterNewRenderer() { return new Renderer(); } + + private class Renderer : MeshRendererBase, IGizmoRenderer> + { + public Renderer() : base(default(TMat)) { } + public void Prepare(Camera camera, GizmosList> list) + { + Prepare(list); + } + public void Render(Camera camera, GizmosList> list, CommandBuffer cb) + { + Render(cb); + } + } + } + #endregion + + #region InstancingMesh + [IN(LINE)] + public DrawHandler Mesh(Vector3 position, Quaternion rotation, Vector3 size) + where TMesh : struct, IStaticMesh + where TMat : struct, IStaticMaterial + { + return Gizmo(new InstancingMeshGizmo(position, rotation, size)); + } + [IN(LINE)] + public DrawHandler Mesh(Vector3 position, Quaternion rotation, Vector3 size) + where TMesh : struct, IStaticMesh + { + return Gizmo(new InstancingMeshGizmo(position, rotation, size)); + } + [IN(LINE)] + public DrawHandler UnlitMesh(Vector3 position, Quaternion rotation, Vector3 size) + where TMesh : struct, IStaticMesh + { + return Gizmo(new InstancingMeshGizmo(position, rotation, size)); + } + [IN(LINE)] + public DrawHandler WireMesh(Vector3 position, Quaternion rotation, Vector3 size) + where TMesh : struct, IStaticMesh + { + return Gizmo(new InstancingMeshGizmo(position, rotation, size)); + } + + private readonly struct InstancingMeshGizmoLayout + { + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + public InstancingMeshGizmoLayout(Vector3 position, Quaternion rotation, Vector3 size) + { + Rotation = rotation; + Position = position; + Size = size; + } + } + private readonly struct InstancingMeshGizmo : IGizmo> + where TMesh : struct, IStaticMesh + where TMat : struct, IStaticMaterial + { + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + [IN(LINE)] + public InstancingMeshGizmo(Vector3 position, Quaternion rotation, Vector3 size) + { + Rotation = rotation; + Position = position; + Size = size; + } + public IGizmoRenderer> RegisterNewRenderer() { return new Renderer(); } + private class Renderer : InstancingMeshRendererBase, IGizmoRenderer> + { + public Renderer() : base(default(TMesh), default(TMat)) { } + public void Prepare(Camera camera, GizmosList> list) + { + Prepare(list); + } + public void Render(Camera camera, GizmosList> list, CommandBuffer cb) + { + Render(cb); + } + } + } + #endregion + + #region Line + [IN(LINE)] + public DrawHandler Line(Vector3 start, Vector3 end) + where TMat : struct, IStaticMaterial + { + return Gizmo(new WireLineGizmo(start, end)); + } + [IN(LINE)] + public DrawHandler Line(Vector3 start, Vector3 end) + { + return Gizmo(new WireLineGizmo(start, end)); + } + private readonly struct WireLineGizmo : IGizmo> + where TMat : struct, IStaticMaterial + { + public readonly Vector3 Start; + public readonly Vector3 End; + [IN(LINE)] + public WireLineGizmo(Vector3 start, Vector3 end) + { + Start = start; + End = end; + } + public IGizmoRenderer> RegisterNewRenderer() { return new Renderer(); } + private class Renderer : WireLineRendererBase, IGizmoRenderer> + { + public Renderer() : base(default(TMat)) { } + public void Prepare(Camera camera, GizmosList> list) + { + Prepare(list); + } + public void Render(Camera camera, GizmosList> list, CommandBuffer cb) + { + Render(cb); + } + } + } + #endregion + + #region Text + [IN(LINE)] public DrawHandler Text(Vector3 position, object text) => Gizmo(new TextGizmo(position, text)); + private readonly struct TextGizmo : IGizmo + { + public readonly Vector3 Position; + public readonly string Text; + [IN(LINE)] + public TextGizmo(Vector3 position, object text) + { + Position = position; + Text = text.ToString(); + } + public IGizmoRenderer RegisterNewRenderer() { return new Renderer(); } + + #region Renderer + private class Renderer : IGizmoRenderer_UnityGizmos + { + private static GUIStyle _labelStyle; + private static GUIContent _labelDummy; + public int ExecuteOrder => default(UnlitMat).GetExecuteOrder(); + public bool IsStaticRender => false; + public void Prepare(Camera camera, GizmosList list) { } + public void Render(Camera camera, GizmosList list, CommandBuffer cb) { } + public void Render_UnityGizmos(Camera camera, GizmosList list) + { +#if UNITY_EDITOR + Color defaultColor = GUI.color; + if (_labelStyle == null || _labelDummy == null) + { + _labelStyle = GUI.skin.label; + _labelStyle.richText = false; + _labelDummy = new GUIContent(); + } + Handles.BeginGUI(); + foreach (ref readonly var item in list) + { + GUI.color = item.Color * GlobalColor; + _labelDummy.text = item.Value.Text; + if (!(HandleUtility.WorldToGUIPointWithDepth(item.Value.Position).z < 0f)) + { + GUI.Label(HandleUtility.WorldPointToSizedRect(item.Value.Position, _labelDummy, _labelStyle), _labelDummy, _labelStyle); + } + } + Handles.EndGUI(); + GUI.color = defaultColor; +#endif + } + } + #endregion + } + #endregion + + // Base Renderers + + #region MeshRendererBase + private class MeshRendererBase + { + private readonly struct GizmoData + { + public readonly Mesh Mesh; + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + } + private readonly struct UnmanagedGizmoData + { + public readonly void* RawMesh; + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + } + private struct PrepareJob : IJobParallelFor + { + [NativeDisableUnsafePtrRestriction] + public Gizmo* Items; + [NativeDisableUnsafePtrRestriction] + public Matrix4x4* ResultMatrices; + [NativeDisableUnsafePtrRestriction] + public Vector4* ResultColors; + public void Execute(int index) + { + ref readonly var item = ref Items[index]; + //if (item.IsSwaped == 0) { return; } + ResultMatrices[index] = Matrix4x4.TRS(item.Value.Position, item.Value.Rotation, item.Value.Size); + ResultColors[index] = item.Color; + } + } + + private readonly IStaticMaterial _material; + + private int _buffersLength = 0; + private PinnedArray _matrices; + private PinnedArray _colors; + private PinnedArray> _gizmos; + + private readonly MaterialPropertyBlock _materialPropertyBlock; + + private JobHandle _jobHandle; + private int _prepareCount = 0; + + public virtual int ExecuteOrder => _material.GetExecuteOrder(); + public virtual bool IsStaticRender => true; + + public MeshRendererBase(IStaticMaterial material) + { + _materialPropertyBlock = new MaterialPropertyBlock(); + _material = material; + _matrices = PinnedArray.Pin(DummyArray.Get()); + _colors = PinnedArray.Pin(DummyArray.Get()); + } + public void Prepare(GizmosList rawList) + { + var list = rawList.As(); + var items = list.Items; + var count = list.Count; + _prepareCount = count; + + if (_buffersLength < count) + { + if (_matrices.Array != null) + { + _matrices.Dispose(); + _colors.Dispose(); + } + _matrices = PinnedArray.Pin(new Matrix4x4[NextPow2(count)]); + _colors = PinnedArray.Pin(new Color[NextPow2(count)]).As(); + _buffersLength = count; + } + if (ReferenceEquals(_gizmos.Array, items) == false) + { + if (_gizmos.Array != null) + { + _gizmos.Dispose(); + } + var itemsUnmanaged = UnsafeUtility.As[], Gizmo[]>(ref items); + _gizmos = PinnedArray>.Pin(itemsUnmanaged); + } + + var job = new PrepareJob + { + Items = _gizmos.Ptr, + ResultMatrices = _matrices.Ptr, + ResultColors = _colors.Ptr, + }; + _jobHandle = job.Schedule(count, 64); + } + public void Render(CommandBuffer cb) + { + Material material = _material.GetMaterial(); + var items = new GizmosList(_gizmos.Array, _prepareCount).As().Items; + _materialPropertyBlock.Clear(); + _jobHandle.Complete(); + + for (int i = 0; i < _prepareCount; i++) + { + ref readonly var item = ref items[i]; + _materialPropertyBlock.SetColor(ColorPropertyID, item.Color); + cb.DrawMesh(item.Value.Mesh, _matrices.Ptr[i], material, 0, -1, _materialPropertyBlock); + } + } + } + #endregion + + #region InstancingMeshRendererBase + private class InstancingMeshRendererBase + { + private readonly struct GizmoData + { + public readonly Quaternion Rotation; + public readonly Vector3 Position; + public readonly Vector3 Size; + } + private struct PrepareJob : IJobParallelFor + { + [NativeDisableUnsafePtrRestriction] + public Gizmo* Items; + [NativeDisableUnsafePtrRestriction] + public Matrix4x4* ResultMatrices; + [NativeDisableUnsafePtrRestriction] + public Vector4* ResultColors; + public void Execute(int index) + { + ref readonly var item = ref Items[index]; + //if (item.IsSwaped == 0) { return; } + ResultMatrices[index] = Matrix4x4.TRS(item.Value.Position, item.Value.Rotation, item.Value.Size); + ResultColors[index] = item.Color; + } + } + + private readonly IStaticMesh _mesh; + private readonly IStaticMaterial _material; + + private readonly MaterialPropertyBlock _materialPropertyBlock; + + private int _buffersLength = 0; + private PinnedArray _matrices; + private PinnedArray _colors; + private PinnedArray> _gizmos; + + private JobHandle _jobHandle; + private int _prepareCount = 0; + + public InstancingMeshRendererBase(IStaticMesh mesh, IStaticMaterial material) + { + _mesh = mesh; + _material = material; + _materialPropertyBlock = new MaterialPropertyBlock(); + + _matrices = PinnedArray.Pin(DummyArray.Get()); + _colors = PinnedArray.Pin(DummyArray.Get()); + } + public virtual int ExecuteOrder => _material.GetExecuteOrder(); + public virtual bool IsStaticRender => true; + protected void Prepare(GizmosList rawList) + { + var list = rawList.As(); + _prepareCount = list.Count; + var items = list.Items; + var count = list.Count; + + if (_buffersLength < count) + { + _matrices.Dispose(); + _colors.Dispose(); + _matrices = PinnedArray.Pin(new Matrix4x4[NextPow2(count)]); + _colors = PinnedArray.Pin(new Vector4[NextPow2(count)]); + _buffersLength = count; + } + if (ReferenceEquals(_gizmos.Array, items) == false) + { + if (_gizmos.Array != null) + { + _gizmos.Dispose(); + } + _gizmos = PinnedArray>.Pin(items); + } + + var job = new PrepareJob + { + Items = _gizmos.Ptr, + ResultMatrices = _matrices.Ptr, + ResultColors = _colors.Ptr, + }; + _jobHandle = job.Schedule(count, 64); + } + protected void Render(CommandBuffer cb) + { + Material material = _material.GetMaterial(); + Mesh mesh = _mesh.GetMesh(); + _materialPropertyBlock.Clear(); + _jobHandle.Complete(); + if (IsSupportsComputeShaders) + { + _materialPropertyBlock.SetVectorArray(ColorPropertyID, _colors.Array); + cb.DrawMeshInstanced(mesh, 0, material, -1, _matrices.Array, _prepareCount, _materialPropertyBlock); + } + else + { + for (int i = 0; i < _prepareCount; i++) + { + _materialPropertyBlock.SetColor(ColorPropertyID, _colors.Ptr[i]); + cb.DrawMesh(mesh, _matrices.Ptr[i], material, 0, -1, _materialPropertyBlock); + } + } + } + } + #endregion + + #region LineRendererBase + private class WireLineRendererBase + { + private readonly struct GizmoData + { + public readonly Vector3 Start; + public readonly Vector3 End; + } + private struct PrepareJob : IJobParallelFor + { + [NativeDisableUnsafePtrRestriction] + public Gizmo* Items; + [NativeDisableUnsafePtrRestriction] + public Matrix4x4* ResultMatrices; + [NativeDisableUnsafePtrRestriction] + public Vector4* ResultColors; + public void Execute(int index) + { + ref readonly var item = ref Items[index]; + + Vector3 halfDiff = (item.Value.End - item.Value.Start) * 0.5f; + Vector3 position = item.Value.Start + halfDiff; + + ResultMatrices[index] = Matrix4x4.TRS(position, Quaternion.identity, halfDiff); + ResultColors[index] = item.Color; + } + } + private readonly IStaticMesh _mesh = default(WireLineMesh); + private readonly IStaticMaterial _material; + private readonly MaterialPropertyBlock _materialPropertyBlock; + + private int _buffersLength = 0; + + private PinnedArray _matrices; + private PinnedArray _colors; + private PinnedArray> _gizmos; + + private JobHandle _jobHandle; + private int _prepareCount = 0; + + public WireLineRendererBase(IStaticMaterial material) + { + _material = material; + _materialPropertyBlock = new MaterialPropertyBlock(); + + _matrices = PinnedArray.Pin(DummyArray.Get()); + _colors = PinnedArray.Pin(DummyArray.Get()); + } + public virtual int ExecuteOrder => _material.GetExecuteOrder(); + public virtual bool IsStaticRender => true; + public void Prepare(GizmosList rawList) + { + var list = rawList.As(); + _prepareCount = list.Count; + var items = list.Items; + var count = list.Count; + + if (_buffersLength < count) + { + if (_matrices.Array != null) + { + _matrices.Dispose(); + _colors.Dispose(); + } + _matrices = PinnedArray.Pin(new Matrix4x4[NextPow2(count)]); + _colors = PinnedArray.Pin(new Vector4[NextPow2(count)]); + _buffersLength = count; + } + if (ReferenceEquals(_gizmos.Array, items) == false) + { + if (_gizmos.Array != null) + { + _gizmos.Dispose(); + } + _gizmos = PinnedArray>.Pin(items); + } + + var job = new PrepareJob + { + Items = _gizmos.Ptr, + ResultMatrices = _matrices.Ptr, + ResultColors = _colors.Ptr, + }; + _jobHandle = job.Schedule(count, 16); + } + public void Render(CommandBuffer cb) + { + Material material = _material.GetMaterial(); + Mesh mesh = _mesh.GetMesh(); + _materialPropertyBlock.Clear(); + _jobHandle.Complete(); + + if (IsSupportsComputeShaders) + { + _materialPropertyBlock.SetVectorArray(ColorPropertyID, _colors.Array); + cb.DrawMeshInstanced(mesh, 0, material, -1, _matrices.Array, _prepareCount, _materialPropertyBlock); + } + else + { + for (int i = 0; i < _prepareCount; i++) + { + _materialPropertyBlock.SetColor(ColorPropertyID, _colors.Ptr[i]); + cb.DrawMesh(mesh, _matrices.Ptr[i], material, 0, -1, _materialPropertyBlock); + } + } + } + } + #endregion + } + } +} \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.base.cs.meta b/Runtime/Gizmos/DebugX.base.cs.meta new file mode 100644 index 0000000..7455a7b --- /dev/null +++ b/Runtime/Gizmos/DebugX.base.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0ea79479ee4b85e4d92f876c7c1cfb7c \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.lines.cs b/Runtime/Gizmos/DebugX.lines.cs new file mode 100644 index 0000000..caf1bb5 --- /dev/null +++ b/Runtime/Gizmos/DebugX.lines.cs @@ -0,0 +1,329 @@ +//#undef DEBUG +using DCFApixels.DebugXCore; +using UnityEngine; +using UnityEngine.Rendering; + +namespace DCFApixels +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + public static unsafe partial class DebugX + { + public readonly partial struct DrawHandler + { + //TODO часть функционала рейкастс перенести сюда, типа рисование линий примитивами + #region LineFade + [IN(LINE)] + public DrawHandler LineFade(Vector3 start, Vector3 end) + { + const int StepsCount = 6; + const float Step = 1f / StepsCount; + Color color = Color; + + Vector3 startPoint = start; + for (int i = 1; i <= StepsCount; i++) + { + Vector3 endPoint = Vector3.Lerp(start, end, i * Step); + color.a = 1f - Color.a * i * Step; + Setup(color).Line(startPoint, endPoint); + startPoint = endPoint; + } + return this; + } + #endregion + + #region LineArrow + [IN(LINE)] + public DrawHandler LineArrow(Vector3 start, Vector3 end) + { + const float MinDistance = 2.5f; + Vector3 direction = end - start; + + float distance = FastSqrt(direction.sqrMagnitude); + Quaternion rotation = direction == default ? Quaternion.identity : Quaternion.LookRotation(direction); + + var arrowSize = 0.5f; + if (distance < MinDistance) + { + float x = distance / MinDistance; + arrowSize *= x; + } + + Line(start, end); + Mesh(end, rotation, new Vector3(arrowSize, arrowSize, arrowSize)); + return this; + } + #endregion + + #region Line custom + [IN(LINE)] public DrawHandler Line(Vector3 start, Vector3 end, DebugXLine endType) => Line(start, end, DebugXLine.Default, endType); + [IN(LINE)] + public DrawHandler Line(Vector3 start, Vector3 end, DebugXLine startType, DebugXLine endType) + { + if (endType == DebugXLine.Default) + { + (end, start, startType, endType) = (start, end, endType, startType); + } + if (startType == DebugXLine.Default) + { + switch (endType) + { + case DebugXLine.Default: + Line(start, end); + break; + case DebugXLine.Arrow: + LineArrow(start, end); + break; + case DebugXLine.Fade: + LineFade(start, end); + break; + //case DebugXLine.Dot: + // Line(start, end); + // Dot(end); + // break; + //case DebugXLine.DotCross: + // Line(start, end); + // DotCross(end); + // break; + //case DebugXLine.DotQuad: + // Line(start, end); + // DotQuad(end); + // break; + //case DebugXLine.DotDiamond: + // Line(start, end); + // DotDiamond(end); + // break; + } + } + else + { + Vector3 center = (start + end) * 0.5f; + Line(center, start, startType); + Line(center, end, endType); + } + return this; + } + #endregion + + + #region Ray + [IN(LINE)] public DrawHandler Ray(Vector3 origin, Quaternion rotation) => Ray(origin, rotation * Vector3.forward); + [IN(LINE)] public DrawHandler Ray(Ray ray) => Ray(ray.origin, ray.direction); + [IN(LINE)] public DrawHandler Ray(Vector3 origin, Vector3 direction) => Line(origin, origin + direction); + #endregion + + #region RayFade + [IN(LINE)] public DrawHandler RayFade(Vector3 origin, Quaternion rotation) => Ray(origin, rotation * Vector3.forward); + [IN(LINE)] public DrawHandler RayFade(Ray ray) => RayFade(ray.origin, ray.direction); + [IN(LINE)] public DrawHandler RayFade(Vector3 origin, Vector3 direction) => LineFade(origin, origin + direction); + #endregion + + #region RayArrow + [IN(LINE)] public DrawHandler RayArrow(Vector3 origin, Quaternion rotation) => RayArrow(origin, rotation * Vector3.forward); + [IN(LINE)] public DrawHandler RayArrow(Ray ray) => RayArrow(ray.origin, ray.direction); + [IN(LINE)] public DrawHandler RayArrow(Vector3 origin, Vector3 direction) => LineArrow(origin, origin + direction); + #endregion + + #region Ray custom + [IN(LINE)] + public DrawHandler Ray(Vector3 start, Vector3 direction, DebugXLine endType) => Line(start, start + direction, DebugXLine.Default, endType); + public DrawHandler Ray(Vector3 start, Vector3 direction, DebugXLine startType, DebugXLine endType) => Line(start, start + direction, startType, endType); + #endregion + + + #region WidthLine + [IN(LINE)] public DrawHandler WidthLine(Vector3 start, Vector3 end, float width) => Gizmo(new WidthLineGizmo(start, end, width)); + private readonly struct WidthLineGizmo : IGizmo + { + public readonly Vector3 Start; + public readonly Vector3 End; + public readonly float HalfWidth; + [IN(LINE)] + public WidthLineGizmo(Vector3 start, Vector3 end, float width) + { + Start = start; + End = end; + HalfWidth = width * 0.5f; + } + public IGizmoRenderer RegisterNewRenderer() { return new Renderer(); } + + #region Renderer + private class Renderer : IGizmoRenderer + { + public int ExecuteOrder => default(UnlitMat).GetExecuteOrder(); + public bool IsStaticRender => false; + public void Prepare(Camera camera, GizmosList list) { } + public void Render(Camera camera, GizmosList list, CommandBuffer cb) + { + default(UnlitMat).GetMaterial().SetPass(0); + GL.Begin(GL.QUADS); + Vector3 cameraPosition = camera.transform.position; + foreach (ref readonly var item in list) + { + GL.Color(item.Color); + item.Value.Draw(cameraPosition); + } + GL.End(); + } + } + [IN(LINE)] + public void Draw(Vector3 cameraPosition) + { + Vector3 lineDirection = (End - Start).normalized; + + Vector3 cameraDirection = (cameraPosition - Start).normalized; + Vector3 perpendicular = Vector3.Cross(lineDirection, cameraDirection).normalized * HalfWidth; + GL.Vertex(Start - perpendicular); + GL.Vertex(Start + perpendicular); + cameraDirection = (cameraPosition - End).normalized; + perpendicular = Vector3.Cross(lineDirection, cameraDirection).normalized * HalfWidth; + GL.Vertex(End + perpendicular); + GL.Vertex(End - perpendicular); + } + #endregion + } + #endregion + + #region WidthOutLine + [IN(LINE)] public DrawHandler WidthOutLine(Vector3 start, Vector3 end, float width) => Gizmo(new WidthOutLineGizmo(start, end, width)); + private readonly struct WidthOutLineGizmo : IGizmo + { + public readonly Vector3 Start; + public readonly Vector3 End; + public readonly float HalfWidth; + [IN(LINE)] + public WidthOutLineGizmo(Vector3 start, Vector3 end, float width) + { + Start = start; + End = end; + HalfWidth = width * 0.5f; + } + public IGizmoRenderer RegisterNewRenderer() { return new Renderer(); } + + #region Renderer + private class Renderer : IGizmoRenderer + { + public int ExecuteOrder => default(UnlitMat).GetExecuteOrder(); + public bool IsStaticRender => false; + public void Prepare(Camera camera, GizmosList list) { } + public void Render(Camera camera, GizmosList list, CommandBuffer cb) + { + default(UnlitMat).GetMaterial().SetPass(0); + GL.Begin(GL.LINES); + var cameraPosition = camera.transform.position; + foreach (ref readonly var item in list) + { + GL.Color(item.Color); + item.Value.Draw(cameraPosition); + } + GL.End(); + } + } + [IN(LINE)] + public void Draw(Vector3 cameraPosition) + { + Vector3 lineDirection = (End - Start).normalized; + + Vector3 cameraDirection = (cameraPosition - Start).normalized; + Vector3 perpendicular = Vector3.Cross(lineDirection, cameraDirection).normalized * HalfWidth; + Vector3 Start1 = Start - perpendicular; + Vector3 Start2 = Start + perpendicular; + + cameraDirection = (cameraPosition - End).normalized; + perpendicular = Vector3.Cross(lineDirection, cameraDirection).normalized * HalfWidth; + GL.Vertex(Start1); + GL.Vertex(End - perpendicular); + GL.Vertex(Start2); + GL.Vertex(End + perpendicular); + } + #endregion + } + #endregion + + #region ZigzagLine + public DrawHandler ZigzagLine(Vector3 start, Vector3 end) => Gizmo(new ZigzagLineGizmo(start, end, 0.3f)); + public DrawHandler ZigzagLine(Vector3 start, Vector3 end, float height) => Gizmo(new ZigzagLineGizmo(start, end, height)); + private readonly struct ZigzagLineGizmo : IGizmo + { + public readonly Vector3 Start; + public readonly Vector3 End; + public readonly float Width; + [IN(LINE)] + public ZigzagLineGizmo(Vector3 start, Vector3 end, float width) + { + Start = start; + End = end; + Width = width; + } + public IGizmoRenderer RegisterNewRenderer() + { + return new Renderer(); + } + + #region Renderer + private class Renderer : IGizmoRenderer + { + public bool IsStaticRender => false; + public int ExecuteOrder => default(UnlitMat).GetExecuteOrder(); + public void Prepare(Camera camera, GizmosList list) { } + public void Render(Camera camera, GizmosList list, CommandBuffer cb) + { + GL.PushMatrix(); + default(UnlitMat).GetMaterial().SetPass(0); + GL.Begin(GL.LINES); + var cameraPosition = camera.transform.position; + foreach (ref readonly var item in list) + { + GL.Color(item.Color); + item.Value.Draw(cameraPosition); + } + GL.End(); + GL.PopMatrix(); + } + } + [IN(LINE)] + public void Draw(Vector3 cameraPosition) + { + var waveFrequency = 0.75f / Width; + var waveAmplitude = Width / 2f; + + + Vector3 lineDirection = (End - Start).normalized; + float lineLength = (End - Start).magnitude; + + int waveCount = Mathf.FloorToInt(lineLength * waveFrequency) | 1; + + Vector3 perpendicularStart = Vector3.Cross(lineDirection, (cameraPosition - Start).normalized).normalized; + Vector3 perpendicularEnd = Vector3.Cross(lineDirection, (cameraPosition - End).normalized).normalized; + + + Vector3 prevPoint = Start; + float t = 0f; + float addT = 1f / waveCount; + for (int i = 0; i < waveCount - 1; i++) + { + t += addT; + + Vector3 pointOnLine = Vector3.Lerp(Start, End, t); + Vector3 perpendicular = Vector3.Lerp(perpendicularStart, perpendicularEnd, t); + + int bitFloat = ((i & 1) << 31) | 0x3F800000/* -1f */; + float offset = (*(float*)&bitFloat) * waveAmplitude; + + Vector3 nextPoint = pointOnLine + perpendicular * offset; + + GL.Vertex(prevPoint); + GL.Vertex(nextPoint); + + prevPoint = nextPoint; + } + + GL.Vertex(prevPoint); + GL.Vertex(End); + } + #endregion + + } + #endregion + } + } +} \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.lines.cs.meta b/Runtime/Gizmos/DebugX.lines.cs.meta new file mode 100644 index 0000000..c43f50e --- /dev/null +++ b/Runtime/Gizmos/DebugX.lines.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4c6a033bdaff458438cea80ca3f5e89b \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.primitives.cs b/Runtime/Gizmos/DebugX.primitives.cs new file mode 100644 index 0000000..4401a99 --- /dev/null +++ b/Runtime/Gizmos/DebugX.primitives.cs @@ -0,0 +1,408 @@ +//#undef DEBUG +using DCFApixels.DebugXCore; +using System; +using UnityEngine; +using UnityEngine.Rendering; + +namespace DCFApixels +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + + public unsafe static partial class DebugX + { + public readonly partial struct DrawHandler + { + #region BillboardCircle + [IN(LINE)] public DrawHandler BillboardCircle(Vector3 position, float radius) => Mesh(position, Quaternion.identity, new Vector3(radius, radius, radius)); + #endregion + + #region Cross + [IN(LINE)] public DrawHandler Cross(Vector3 position, float size) => Mesh(position, Quaternion.identity, new Vector3(size, size, size)); + #endregion + + #region DotCross + [IN(LINE)] public DrawHandler DotCross(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(0.06f, 0.06f, 0.06f)); + #endregion + + + #region Sphere + [IN(LINE)] public DrawHandler Sphere(Vector3 position, float radius) => Mesh(position, Quaternion.identity, new Vector3(radius, radius, radius)); + #endregion + + #region WireSphere + [IN(LINE)] + public DrawHandler WireSphere(Vector3 position, float radius) + { + Mesh(position, Quaternion.identity, new Vector3(radius, radius, radius)); + Gizmo(new WireSphereGizmo(position, radius)); + return this; + } + private readonly struct WireSphereGizmo : IGizmo + { + public readonly Vector3 Position; + public readonly float Radius; + [IN(LINE)] + public WireSphereGizmo(Vector3 position, float radius) + { + Position = position; + Radius = radius; + } + public IGizmoRenderer RegisterNewRenderer() { return new Renderer(); } + + #region Renderer + private class Renderer : InstancingMeshRendererBase, IGizmoRenderer + { + private Gizmo[] _buffer = Array.Empty>(); + public Renderer() : base(default(WireCircleMesh), default(UnlitMat)) { } + public override bool IsStaticRender => false; + public void Prepare(Camera camera, GizmosList list) + { + if (camera == null) { return; } + + if (_buffer.Length < list.Count) + { + _buffer = new Gizmo[list.Items.Length]; + } + + if (camera.orthographic) + { + Quaternion cameraRotation = camera.transform.rotation; + for (int i = 0; i < list.Count; i++) + { + ref readonly var item = ref list[i]; + _buffer[i] = new Gizmo( + new InstancingMeshGizmoLayout(item.Value.Position, cameraRotation, new Vector3(item.Value.Radius, item.Value.Radius, item.Value.Radius)), + item.Color, IMMEDIATE_DURATION); + } + } + else + { + Vector3 cameraPosition = camera.transform.position; + for (int i = 0; i < list.Count; i++) + { + ref readonly var item = ref list[i]; + Vector3 vector = item.Value.Position - Matrix4x4.Inverse(Matrix4x4.identity).MultiplyPoint(cameraPosition); + float sqrMagnitude = vector.sqrMagnitude; + float sqrRadius = item.Value.Radius * item.Value.Radius; + float x = sqrRadius * sqrRadius / sqrMagnitude; + if (x / sqrRadius < 1f) + { + float resultSize = FastSqrt(sqrRadius - x); + + _buffer[i] = new Gizmo( + new InstancingMeshGizmoLayout( + item.Value.Position - sqrRadius * vector / sqrMagnitude, + Quaternion.LookRotation((cameraPosition - item.Value.Position).normalized), + new Vector3(resultSize, resultSize, resultSize)), + item.Color, IMMEDIATE_DURATION); + } + } + } + + Prepare(new GizmosList(_buffer, list.Count)); + } + public void Render(Camera camera, GizmosList list, CommandBuffer cb) + { + if (camera == null) { return; } + + Render(cb); + } + } + #endregion + } + #endregion + + #region Circle + [IN(LINE)] public DrawHandler Circle(Vector3 position, Vector3 normal, float radius) => Mesh(position, Quaternion.LookRotation(normal), new Vector3(radius, radius, radius)); + [IN(LINE)] public DrawHandler Circle(Vector3 position, Quaternion rotation, float radius) => Mesh(position, rotation, new Vector3(radius, radius, radius)); + #endregion + + #region WireCircle + [IN(LINE)] public DrawHandler WireCircle(Vector3 position, Vector3 normal, float radius) => WireCircle(position, Quaternion.LookRotation(normal), radius); + [IN(LINE)] public DrawHandler WireCircle(Vector3 position, Quaternion rotation, float radius) => Mesh(position, rotation, new Vector3(radius, radius, radius)); + #endregion + + #region Dot + [IN(LINE)] public DrawHandler Dot(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_RADIUS, DOT_RADIUS, DOT_RADIUS)); + #endregion + + #region WireDot + [IN(LINE)] public DrawHandler WireDot(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_RADIUS / 2, DOT_RADIUS / 2, DOT_RADIUS / 2)); + #endregion + + #region Capsule + [IN(LINE)] + public DrawHandler Capsule(Vector3 position, Quaternion rotation, float radius, float height) + { + radius = Mathf.Max(0, radius); + height -= radius * 2f; + height = Mathf.Max(0, height); + var halfHeigth = height * 0.5f; + var normal = rotation * Vector3.up; + + Mesh(position + normal * halfHeigth, rotation, new Vector3(radius, radius, radius)); + Mesh(position, rotation, new Vector3(radius, height, radius)); + Mesh(position - normal * halfHeigth, rotation * Quaternion.Euler(0, 0, 180), new Vector3(radius, radius, radius)); + return this; + } + #endregion + + #region WireCapsule + public DrawHandler WireCapsule(Vector3 point1, Vector3 point2, float radius) + { + //TODO посмотреть поворот + return WireCapsule((point1 + point2) * 0.5f, Quaternion.LookRotation(point2 - point1), radius, Vector3.Distance(point1, point2)); + } + public DrawHandler WireCapsule(Vector3 position, Quaternion rotation, float radius, float height) + { + WireFlatCapsule(position, rotation, radius, height); + WireFlatCapsule(position, rotation * Quaternion.Euler(0, 90, 0), radius, height); + + radius = Mathf.Max(0, radius); + height -= radius * 2f; + height = Mathf.Max(0, height); + var halfHeigth = height * 0.5f; + var normalUp = rotation * Vector3.up; + + var center = position; + + Vector3 Start, End; + Start = center - normalUp * halfHeigth; + End = center + normalUp * halfHeigth; + + WireCircle(Start, rotation * Quaternion.Euler(90, 0, 0), radius); + WireCircle(End, rotation * Quaternion.Euler(90, 0, 0), radius); + return this; + } + #endregion + + #region FlatCapsule + [IN(LINE)] + public DrawHandler FlatCapsule(Vector3 position, Quaternion rotation, float radius, float height) + { + radius = Mathf.Max(0, radius); + height -= radius * 2f; + height = Mathf.Max(0, height); + var halfHeigth = height * 0.5f; + var normal = rotation * Vector3.up; + + Mesh(position + normal * halfHeigth, rotation, new Vector3(radius, radius, radius)); + Mesh(position, rotation, new Vector3(radius, height, radius)); + Mesh(position - normal * halfHeigth, rotation * Quaternion.Euler(0, 0, 180), new Vector3(radius, radius, radius)); + return this; + } + #endregion + + #region WireFlatCapsule + private static readonly Quaternion Rot180 = Quaternion.Euler(0, 0, 180); + [IN(LINE)] + public DrawHandler WireFlatCapsule(Vector3 position, Quaternion rotation, float radius, float height) + { + height -= radius * 2f; + + var normalForward = rotation * Vector3.forward; + var normalUp = rotation * Vector3.up; + var halfHeigth = height * 0.5f; + + Vector3 from = Vector3.Cross(normalForward, normalUp).normalized; + Vector3 start = position - normalUp * halfHeigth; + Vector3 end = position + normalUp * halfHeigth; + + Mesh(end, rotation, new Vector3(radius, radius, radius)); + Mesh(start, rotation * Rot180, new Vector3(radius, radius, radius)); + + Vector3 perpendicular = from * radius; + + Vector3* lines = stackalloc Vector3[] + { + start - perpendicular, + end - perpendicular, + start + perpendicular, + end + perpendicular, + }; + + Line(lines[0], lines[1]); + Line(lines[2], lines[3]); + + return this; + } + #endregion + + #region Cube + //[IN(LINE)] public void Cube(Vector3 position, float size) => Cube(position, Quaternion.identity, new Vector3(size, size, size)); + //[IN(LINE)] public void Cube(Vector3 position, Vector3 size) => Cube(position, Quaternion.identity, size); + [IN(LINE)] public DrawHandler Cube(Vector3 position, Quaternion rotation, float size) => Mesh(position, rotation, new Vector3(size, size, size)); + [IN(LINE)] public DrawHandler Cube(Vector3 position, Quaternion rotation, Vector3 size) => Mesh(position, rotation, size); + #endregion + + #region WireCube + //[IN(LINE)] public void WireCube(Vector3 position, float size) => WireCube(position, Quaternion.identity, new Vector3(size, size, size)); + //[IN(LINE)] public void WireCube(Vector3 position, Vector3 size) => WireCube(position, Quaternion.identity, size); + [IN(LINE)] public DrawHandler WireCube(Vector3 position, Quaternion rotation, float size) => WireCube(position, rotation, new Vector3(size, size, size)); + [IN(LINE)] public DrawHandler WireCube(Vector3 position, Quaternion rotation, Vector3 size) => Mesh(position, rotation, size); + #endregion + + #region CubePoints + [IN(LINE)] public DrawHandler CubePoints(Vector3 position, Quaternion rotation, float size) => CubePoints(position, rotation, new Vector3(size, size, size)); + [IN(LINE)] + public DrawHandler CubePoints(Vector3 position, Quaternion rotation, Vector3 size) + { + Vector3 halfSize = size / 2f; + + Vector3* vertices = stackalloc Vector3[] + { + new Vector3(-halfSize.x, -halfSize.y, -halfSize.z), // 0 + new Vector3(halfSize.x, -halfSize.y, -halfSize.z), // 1 + new Vector3(halfSize.x, -halfSize.y, halfSize.z), // 2 + new Vector3(-halfSize.x, -halfSize.y, halfSize.z), // 3 + new Vector3(-halfSize.x, halfSize.y, -halfSize.z), // 4 + new Vector3(halfSize.x, halfSize.y, -halfSize.z), // 5 + new Vector3(halfSize.x, halfSize.y, halfSize.z), // 6 + new Vector3(-halfSize.x, halfSize.y, halfSize.z), // 7 + }; + + for (int i = 0; i < 8; i++) + { + Dot(rotation * vertices[i] + position); + } + + return this; + } + #endregion + + #region CubeGrid + [IN(LINE)] public DrawHandler CubeGrid(Vector3 position, Quaternion rotation, float size, Vector3Int cells) => CubeGrid(position, rotation, new Vector3(size, size, size), cells); + [IN(LINE)] + public unsafe DrawHandler CubeGrid(Vector3 position, Quaternion rotation, Vector3 size, Vector3Int cells) + { + Vector3 halfSize = size / 2f; + + Vector3* vertices = stackalloc Vector3[] + { + new Vector3(-halfSize.x, -halfSize.y, -halfSize.z), // 0 + new Vector3(halfSize.x, -halfSize.y, -halfSize.z), // 1 + new Vector3(halfSize.x, -halfSize.y, halfSize.z), // 2 + new Vector3(-halfSize.x, -halfSize.y, halfSize.z), // 3 + new Vector3(-halfSize.x, halfSize.y, -halfSize.z), // 4 + new Vector3(halfSize.x, halfSize.y, -halfSize.z), // 5 + new Vector3(halfSize.x, halfSize.y, halfSize.z), // 6 + new Vector3(-halfSize.x, halfSize.y, halfSize.z), // 7 + }; + + for (int i = 0; i < 8; i++) + { + vertices[i] = rotation * vertices[i] + position; + } + + Vector3 up = rotation * Vector3.up * (size.y / cells.y); + for (int i = 0; i <= cells.y; i++) + { + Vector3 pos = up * i; + Line(vertices[0] + pos, vertices[1] + pos); + Line(vertices[1] + pos, vertices[2] + pos); + Line(vertices[2] + pos, vertices[3] + pos); + Line(vertices[3] + pos, vertices[0] + pos); + } + Vector3 right = rotation * Vector3.right * (size.x / cells.x); + for (int i = 0; i <= cells.x; i++) + { + Vector3 pos = right * i; + Line(vertices[0] + pos, vertices[3] + pos); + Line(vertices[3] + pos, vertices[7] + pos); + Line(vertices[4] + pos, vertices[0] + pos); + Line(vertices[7] + pos, vertices[4] + pos); + } + Vector3 forward = rotation * Vector3.forward * (size.z / cells.z); + for (int i = 0; i <= cells.z; i++) + { + Vector3 pos = forward * i; + Line(vertices[4] + pos, vertices[5] + pos); + Line(vertices[5] + pos, vertices[1] + pos); + Line(vertices[1] + pos, vertices[0] + pos); + Line(vertices[0] + pos, vertices[4] + pos); + } + + return this; + } + #endregion + + #region Quad + //[IN(LINE)] public DrawHandler Quad(Vector3 position, Vector3 normal, float size) => Mesh(Meshes.Quad, position, Quaternion.LookRotation(normal), new Vector3(size, size, size)); + //[IN(LINE)] public DrawHandler Quad(Vector3 position, Vector3 normal, Vector2 size) => Mesh(Meshes.Quad, position, Quaternion.LookRotation(normal), size); + [IN(LINE)] public DrawHandler Quad(Vector3 position, Quaternion rotation, float size) => Mesh(position, rotation, new Vector3(size, size, size)); + [IN(LINE)] public DrawHandler Quad(Vector3 position, Quaternion rotation, Vector2 size) => Mesh(position, rotation, size); + #endregion + + #region WireQuad + //[IN(LINE)] public DrawHandler WireQuad(Vector3 position, Vector3 normal, float size) => WireQuad(position, Quaternion.LookRotation(normal), new Vector2(size, size)); + //[IN(LINE)] public DrawHandler WireQuad(Vector3 position, Vector3 normal, Vector2 size) => WireQuad(position, Quaternion.LookRotation(normal), size); + [IN(LINE)] public DrawHandler WireQuad(Vector3 position, Quaternion rotation, float size) => WireQuad(position, rotation, new Vector2(size, size)); + [IN(LINE)] public DrawHandler WireQuad(Vector3 position, Quaternion rotation, Vector2 size) => Mesh(position, rotation, size); + #endregion + + #region QuadPoints + [IN(LINE)] public DrawHandler QuadPoints(Vector3 position, Quaternion rotation, float size) => QuadPoints(position, rotation, new Vector2(size, size)); + [IN(LINE)] + public DrawHandler QuadPoints(Vector3 position, Quaternion rotation, Vector2 size) + { + const int PointsCount = 4; + Vector2 halfSize = size * 0.5f; + Vector3* vertices = stackalloc Vector3[PointsCount] + { + new Vector3(-halfSize.x, -halfSize.y, 0), // 0 + new Vector3(halfSize.x, -halfSize.y, 0f), // 1 + new Vector3(halfSize.x, halfSize.y, 0f), // 2 + new Vector3(-halfSize.x, halfSize.y, 0f), // 3 + }; + + for (int i = 0; i < PointsCount; i++) + { + Dot(rotation * vertices[i] + position); + } + + return this; + } + #endregion + + #region QuadGrid + [IN(LINE)] public DrawHandler QuadGrid(Vector3 position, Quaternion rotation, float size, Vector2Int сells) => QuadGrid(position, rotation, new Vector2(size, size), сells); + [IN(LINE)] + public DrawHandler QuadGrid(Vector3 position, Quaternion rotation, Vector2 size, Vector2Int сells) + { + Vector2 halfSize = size * 0.5f; + Vector3 Start, End; + + Start = rotation * new Vector3(-halfSize.x, -halfSize.y, 0) + position; + End = rotation * new Vector3(-halfSize.x, halfSize.y, 0f) + position; + Vector3 right = rotation * (Vector3.right * size / сells.x); + for (int i = 0; i <= сells.x; i++) + { + Line(Start, End); + Start += right; + End += right; + } + + Start = rotation * new Vector3(-halfSize.x, -halfSize.y, 0) + position; + End = rotation * new Vector3(halfSize.x, -halfSize.y, 0f) + position; + Vector3 up = rotation * (Vector3.up * size / сells.y); + for (int i = 0; i <= сells.y; i++) + { + Line(Start, End); + Start += up; + End += up; + } + + return this; + } + #endregion + + #region DotQuad + [IN(LINE)] public DrawHandler DotQuad(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_RADIUS, DOT_RADIUS, DOT_RADIUS)); + #endregion + + #region DotDiamond + [IN(LINE)] public DrawHandler DotDiamond(Vector3 position) => Mesh(position, Quaternion.identity, new Vector3(DOT_RADIUS * 0.9f, DOT_RADIUS * 0.9f, DOT_RADIUS * 0.9f)); + #endregion + } + } +} \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.primitives.cs.meta b/Runtime/Gizmos/DebugX.primitives.cs.meta new file mode 100644 index 0000000..63b84e6 --- /dev/null +++ b/Runtime/Gizmos/DebugX.primitives.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ec7ff37ecff47ce42b8c4a7d76c6b0ae \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.raycasts.cs b/Runtime/Gizmos/DebugX.raycasts.cs new file mode 100644 index 0000000..08a1243 --- /dev/null +++ b/Runtime/Gizmos/DebugX.raycasts.cs @@ -0,0 +1,129 @@ +//#undef DEBUG +using DCFApixels.DebugXCore.Internal; +using UnityEngine; + +namespace DCFApixels +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + + public static partial class DebugX + { + private const float ShadowAlphaMultiplier = 0.3f; + public readonly partial struct DrawHandler + { + #region Raycast + [IN(LINE)] public DrawHandler Raycast(Ray ray, RaycastHit hit) => Raycast(ray.origin, ray.direction, hit); + [IN(LINE)] + public DrawHandler Raycast(Vector3 origin, Vector3 direction, RaycastHit hit) + { + if (hit.collider == null) + { + RayFade(origin, direction * 3f); + } + else + { + Line(origin, origin + direction * hit.distance); + + DotDiamond(hit.point); + RayArrow(hit.point, hit.normal); + } + return this; + } + #endregion + + #region Spherecast + [IN(LINE)] public DrawHandler SphereCast(Ray ray, float radius, RaycastHit hit) => SphereCast(ray.origin, ray.direction, radius, hit); + [IN(LINE)] + public DrawHandler SphereCast(Vector3 origin, Vector3 direction, float radius, RaycastHit hit) + { + WireSphere(origin, radius); + if (hit.collider == null) + { + RayFade(origin, direction * 3f); + } + else + { + Vector3 end = origin + direction * hit.distance; + + WidthOutLine(origin, end, radius * 2f); + + DotDiamond(hit.point); + WireSphere(end, radius); + RayArrow(hit.point, hit.normal); + + Setup(Color.SetAlpha(ShadowAlphaMultiplier)).Line(origin, end); + } + return this; + } + #endregion + + #region Spherecast + [IN(LINE)] public DrawHandler BoxCast(Ray ray, Quaternion rotation, Vector3 size, RaycastHit hit) => BoxCast(ray.origin, ray.direction, rotation, size, hit); + [IN(LINE)] + public DrawHandler BoxCast(Vector3 origin, Vector3 direction, Quaternion rotation, Vector3 size, RaycastHit hit) + { + WireCube(origin, rotation, size * 2f); + if (hit.collider == null) + { + RayFade(origin, direction * 3f); + } + else + { + Vector3 end = origin + direction * hit.distance; + + WidthOutLine(origin, end, size.x * 2f); + + DotDiamond(hit.point); + WireCube(end, rotation, size * 2f); + RayArrow(hit.point, hit.normal); + + + Setup(Color.SetAlpha(ShadowAlphaMultiplier)).Line(origin, end); + } + return this; + } + #endregion + + #region Spherecast + [IN(LINE)] + public DrawHandler CapsuleCast(Vector3 point1, Vector3 point2, Vector3 direction, float radius, RaycastHit hit) + { + Vector3 center = (point1 + point2) * 0.5f; + Quaternion rotation = Quaternion.LookRotation(point2 - point1, Vector3.up); + rotation = rotation * Quaternion.Euler(90, 0, 0); + CapsuleCast(center, direction, rotation, radius, Vector3.Distance(point1, point2) + radius * 2f, hit); + return this; + } + [IN(LINE)] + public DrawHandler CapsuleCast(Ray ray, Vector3 size, Quaternion rotation, float radius, float height, RaycastHit hit) + { + CapsuleCast(ray.origin, ray.direction, rotation, radius, height, hit); + return this; + } + [IN(LINE)] + public DrawHandler CapsuleCast(Vector3 origin, Vector3 direction, Quaternion rotation, float radius, float height, RaycastHit hit) + { + WireCapsule(origin, rotation, radius, height); + if (hit.collider == null) + { + RayFade(origin, direction * 3f); + } + else + { + Vector3 end = origin + direction * hit.distance; + + WidthOutLine(origin, end, radius * 2f); + + DotDiamond(hit.point); + WireCapsule(end, rotation, radius, height); + RayArrow(hit.point, hit.normal); + + + Setup(Color.SetAlpha(ShadowAlphaMultiplier)).Line(origin, end); + } + return this; + } + #endregion + } + } +} \ No newline at end of file diff --git a/Runtime/Gizmos/DebugX.raycasts.cs.meta b/Runtime/Gizmos/DebugX.raycasts.cs.meta new file mode 100644 index 0000000..2541ac6 --- /dev/null +++ b/Runtime/Gizmos/DebugX.raycasts.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0e6fb19c25b76b44583a920736fc2d59 \ No newline at end of file diff --git a/Runtime/Internal.meta b/Runtime/Internal.meta new file mode 100644 index 0000000..8a792ed --- /dev/null +++ b/Runtime/Internal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e03ea31c233f72449c2b0741a24deea +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Internal/ColorExtensions.cs b/Runtime/Internal/ColorExtensions.cs new file mode 100644 index 0000000..6344136 --- /dev/null +++ b/Runtime/Internal/ColorExtensions.cs @@ -0,0 +1,13 @@ +using UnityEngine; + +namespace DCFApixels.DebugXCore.Internal +{ + internal static class ColorExtensions + { + public static Color SetAlpha(this Color self, float v) + { + self.a *= v; + return self; + } + } +} diff --git a/Runtime/Internal/ColorExtensions.cs.meta b/Runtime/Internal/ColorExtensions.cs.meta new file mode 100644 index 0000000..aff16cf --- /dev/null +++ b/Runtime/Internal/ColorExtensions.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0aa4d751b3780904fa6c43f4a431614b \ No newline at end of file diff --git a/Runtime/Internal/GizmoTypeCode.cs b/Runtime/Internal/GizmoTypeCode.cs new file mode 100644 index 0000000..ee7db2a --- /dev/null +++ b/Runtime/Internal/GizmoTypeCode.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; + +namespace DCFApixels.DebugXCore.Internal +{ + internal interface IGizmoTypeCodeAddCallback + { + void OnAddGizmoTypeCode() where T : IGizmo; + } + internal static class GizmoTypeCode where T : IGizmo + { + public static readonly int ID = GizmoTypeCode.NewID(); + } + internal static class GizmoTypeCode + { + private static int _increment = 0; + private static readonly object _lock = new object(); + private static List _listeners = new List(); + public static int TypesCount + { + get { return _increment; } + } + public static int NewID() + { + lock (_lock) + { + _increment++; + OnAddNewID(_increment); + return _increment - 1; + } + } + public static event Action OnAddNewID = delegate { }; + public static void AddListener(IGizmoTypeCodeAddCallback listener) + { + _listeners.Add(listener); + } + public static void RemoveListener(IGizmoTypeCodeAddCallback listener) + { + _listeners.Remove(listener); + } + } +} \ No newline at end of file diff --git a/Runtime/Internal/GizmoTypeCode.cs.meta b/Runtime/Internal/GizmoTypeCode.cs.meta new file mode 100644 index 0000000..773b1c8 --- /dev/null +++ b/Runtime/Internal/GizmoTypeCode.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5da072c37cd9cee448fd7f583aff40ce \ No newline at end of file diff --git a/Runtime/Internal/MeshesListLoader.cs b/Runtime/Internal/MeshesListLoader.cs new file mode 100644 index 0000000..0dd59b3 --- /dev/null +++ b/Runtime/Internal/MeshesListLoader.cs @@ -0,0 +1,46 @@ +using System.Linq; +using System.Reflection; +using UnityEngine; + +namespace DCFApixels.DebugXCore.Internal +{ + internal static class MeshesListLoader + { + public static T Load(T instance, string path) + { + object obj = instance; + var type = obj.GetType(); + var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).Where(o => o.FieldType == typeof(Mesh)); + var prefab = Resources.Load(path); + + if (prefab == null) + { + Debug.LogError($"{path} not found"); + return (T)obj; + } + + if (fields.Count() <= 0) + { + Debug.LogError($"{typeof(T).Name} no fields"); + return (T)obj; + } + + foreach (var field in fields) + { + //if (prefab == null) { continue; } + var child = prefab.transform.Find(field.Name); + var meshFilter = child.GetComponent(); + if (meshFilter != null) + { + field.SetValue(obj, meshFilter.sharedMesh); + } + else + { + Debug.LogWarning(field.Name + " not found"); + } + } + + return (T)obj; + } + } +} \ No newline at end of file diff --git a/Runtime/Internal/MeshesListLoader.cs.meta b/Runtime/Internal/MeshesListLoader.cs.meta new file mode 100644 index 0000000..2274ab2 --- /dev/null +++ b/Runtime/Internal/MeshesListLoader.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2482dd3495375b040ab937f0af691464 \ No newline at end of file diff --git a/Runtime/Materials.meta b/Runtime/Materials.meta new file mode 100644 index 0000000..66ee23b --- /dev/null +++ b/Runtime/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9619c5ee054829d4790c4cd8c299f8be +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Materials/Billboard.mat b/Runtime/Materials/Billboard.mat new file mode 100644 index 0000000..a5c1f96 --- /dev/null +++ b/Runtime/Materials/Billboard.mat @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8282512757102464268 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Billboard + m_Shader: {fileID: 4800000, guid: 0fe57c76c30f7274f9ebb46c87d64036, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Runtime/Materials/Billboard.mat.meta b/Runtime/Materials/Billboard.mat.meta new file mode 100644 index 0000000..6779655 --- /dev/null +++ b/Runtime/Materials/Billboard.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7dddf4d8e41a47c44ac3ce8ebeb0858c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Materials/Dot.mat b/Runtime/Materials/Dot.mat new file mode 100644 index 0000000..6f7ef0a --- /dev/null +++ b/Runtime/Materials/Dot.mat @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8282512757102464268 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Dot + m_Shader: {fileID: 4800000, guid: 69efe102f685e6c4cb2e2f25b7f7bdc7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Runtime/Materials/Dot.mat.meta b/Runtime/Materials/Dot.mat.meta new file mode 100644 index 0000000..23285ce --- /dev/null +++ b/Runtime/Materials/Dot.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dff4ce10c87c6034186ba9a371bc8c03 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Materials/Lit.mat b/Runtime/Materials/Lit.mat new file mode 100644 index 0000000..32a7f83 --- /dev/null +++ b/Runtime/Materials/Lit.mat @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8282512757102464268 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Lit + m_Shader: {fileID: 4800000, guid: b3126f69d0ed1ac439449358fc8a54aa, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Runtime/Materials/Lit.mat.meta b/Runtime/Materials/Lit.mat.meta new file mode 100644 index 0000000..53b5f97 --- /dev/null +++ b/Runtime/Materials/Lit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 493816cf77c003846870e9a319025383 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Materials/Unlit.mat b/Runtime/Materials/Unlit.mat new file mode 100644 index 0000000..13134a9 --- /dev/null +++ b/Runtime/Materials/Unlit.mat @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8282512757102464268 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Unlit + m_Shader: {fileID: 4800000, guid: 37036939f3d0a824c82a3f34093d4a42, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Runtime/Materials/Unlit.mat.meta b/Runtime/Materials/Unlit.mat.meta new file mode 100644 index 0000000..8bc6a3f --- /dev/null +++ b/Runtime/Materials/Unlit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ceb677ce98e7f6741859e095d7f04c16 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Materials/WireLine.mat b/Runtime/Materials/WireLine.mat new file mode 100644 index 0000000..60146db --- /dev/null +++ b/Runtime/Materials/WireLine.mat @@ -0,0 +1,135 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8282512757102464268 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WireLine + m_Shader: {fileID: 4800000, guid: 44b75ed8f4e1d21469ab056c86b4c1a1, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Runtime/Materials/WireLine.mat.meta b/Runtime/Materials/WireLine.mat.meta new file mode 100644 index 0000000..9c1561f --- /dev/null +++ b/Runtime/Materials/WireLine.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8f56df4773a3c3943a140e27a3155fb0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes.meta b/Runtime/Meshes.meta new file mode 100644 index 0000000..4569947 --- /dev/null +++ b/Runtime/Meshes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 35818f9da398cd241bdcc291fe92167d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/Arrow.asset b/Runtime/Meshes/Arrow.asset new file mode 100644 index 0000000..7381a62 --- /dev/null +++ b/Runtime/Meshes/Arrow.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Arrow + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 66 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 48 + localAABB: + m_Center: {x: 0, y: 0.0000001937151, z: -0.5} + m_Extent: {x: 0.375, y: 0.375, z: 0.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e001f00200021002200230024002500260026002700240026002800270028002900270028002a0029002a002b0029002b002c0029002b002d002c002b002e002d002e002f002d00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 48 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1920 + _typelessdata: 0000c0bec2a97234000080bfa77e68bfee2f79befb5eae3e76c6b3be0000000045b36fbf000080bfe146a6beefff3fbe000080bfa77e68bfee2f79befb5eae3e74c6b3be0000000045b36fbf000080bf244912b0feffffb10f0cc330a77e68bfee2f79befb5eae3e74c6b3be0000000045b36fbf000080bfe146a6be1000403e000080bfa77e68bfe82f793efe5eae3e73c6b3be0000000045b36fbf000080bf0000c0bec2a97234000080bfa77e68bfe82f793efe5eae3e74c6b3be0000000045b36fbf000080bf244912b0feffffb10f0cc330a77e68bfe82f793efe5eae3e74c6b3be0000000045b36fbf000080bf000040bee846a63e000080bfab322abfad322a3f005fae3e836ee9be000000005cd863bf000080bfe146a6be1000403e000080bfab322abfad322a3f005fae3e836ee9be000000005cd863bf000080bf244912b0feffffb10f0cc330ab322abfad322a3f005fae3e836ee9be000000005cd863bf000080bf224912b00700c03e000080bfe82f79bea57e683f035fae3ea54a50bf00000000b1d414bf000080bf000040bee846a63e000080bfe82f79bea57e683f035fae3ea54a50bf00000000b1d414bf000080bf244912b0feffffb10f0cc330e82f79bea57e683f035fae3ea54a50bf00000000b0d414bf000080bfe146a6beefff3fbe000080bfaf322abfaa322abff95eae3e846ee9be000000005ad863bf000080bf000040bedb46a6be000080bfaf322abfaa322abff95eae3e846ee9be000000005ad863bf000080bf244912b0feffffb10f0cc330af322abfaa322abff95eae3e846ee9be000000005cd863bf000080bf000040bedb46a6be000080bfec2f79bea77e68bff85eae3ea54a50bf00000000b2d414bf000080bf1f4912b0faffbfbe000080bfec2f79bea77e68bff85eae3ea54a50bf00000000b2d414bf000080bf244912b0feffffb10f0cc330ec2f79bea77e68bff85eae3ea54a50bf00000000b3d414bf000080bf1f4912b0faffbfbe000080bfec2f793ea77e68bff85eae3ea54a50bf00000000b2d4143f000080bf0000403edb46a6be000080bfec2f793ea77e68bff85eae3ea54a50bf00000000b2d4143f000080bf244912b0feffffb10f0cc330ec2f793ea77e68bff85eae3ea54a50bf00000000b3d4143f000080bf0000403edb46a6be000080bfb0322a3faa322abffa5eae3e846ee9be000000005ad8633f000080bfe146a63eefff3fbe000080bfb0322a3faa322abffa5eae3e846ee9be000000005ad8633f000080bf244912b0feffffb10f0cc330b0322a3faa322abffa5eae3e846ee9be000000005cd8633f000080bfe146a63eefff3fbe000080bfa77e683fee2f79befc5eae3e76c6b3be0000000045b36f3f000080bf0000c03ec2a97234000080bfa77e683fee2f79befc5eae3e76c6b3be0000000045b36f3f000080bf244912b0feffffb10f0cc330a77e683fee2f79befc5eae3e75c6b3be0000000045b36f3f000080bf0000c03ec2a97234000080bfa77e683fe82f793efe5eae3e74c6b3be0000000045b36f3f000080bfe146a63e1000403e000080bfa77e683fe82f793efe5eae3e73c6b3be0000000045b36f3f000080bf244912b0feffffb10f0cc330a77e683fe82f793efe5eae3e74c6b3be0000000045b36f3f000080bfe146a63e1000403e000080bfab322a3fad322a3f015fae3e836ee9be000000005cd8633f000080bf0000403ee846a63e000080bfab322a3fad322a3f015fae3e836ee9be000000005cd8633f000080bf244912b0feffffb10f0cc330ab322a3fad322a3f015fae3e836ee9be000000005cd8633f000080bf0000403ee846a63e000080bfe82f793ea57e683f035fae3ea54a50bf00000000b1d4143f000080bf224912b00700c03e000080bfe82f793ea57e683f035fae3ea54a50bf00000000b1d4143f000080bf244912b0feffffb10f0cc330e82f793ea57e683f035fae3ea54a50bf00000000b0d4143f000080bfe146a6beefff3fbe000080bf0000000000000000000080bf000080bf00000000000000000000803f0000c0bec2a97234000080bf0000000000000000000080bf000080bf00000000000000000000803fe146a6be1000403e000080bf0000000000000000000080bf000080bf00000000000000000000803f000040bedb46a6be000080bf0000000000000000000080bf000080bf00000000000000000000803f000040bee846a63e000080bf0000000000000000000080bf000080bf00000000000000000000803f1f4912b0faffbfbe000080bf0000000000000000000080bf000080bf00000000000000000000803f224912b00700c03e000080bf0000000000000000000080bf000080bf00000000000000000000803f0000403ee846a63e000080bf0000000000000000000080bf000080bf00000000000000000000803f0000403edb46a6be000080bf0000000000000000000080bf000080bf00000000000000000000803fe146a63eefff3fbe000080bf0000000000000000000080bf000080bf00000000000000000000803fe146a63e1000403e000080bf0000000000000000000080bf000080bf00000000000000000000803f0000c03ec2a97234000080bf0000000000000000000080bf000080bf00000000000000000000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0.0000001937151, z: -0.5} + m_Extent: {x: 0.375, y: 0.375, z: 0.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/Arrow.asset.meta b/Runtime/Meshes/Arrow.asset.meta new file mode 100644 index 0000000..672a43e --- /dev/null +++ b/Runtime/Meshes/Arrow.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 32bf5ba487f330849a963c35503a6be9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/CapsuleBody.asset b/Runtime/Meshes/CapsuleBody.asset new file mode 100644 index 0000000..be23ead --- /dev/null +++ b/Runtime/Meshes/CapsuleBody.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CapsuleBody + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 192 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 128 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 0.50000006, z: 1} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300040005000600040006000700080009000a0008000a000b000c000d000e000c000e000f00100011001200100012001300140015001600140016001700180019001a0018001a001b001c001d001e001c001e001f00200021002200200022002300240025002600240026002700280029002a0028002a002b002c002d002e002c002e002f00300031003200300032003300340035003600340036003700380039003a0038003a003b003c003d003e003c003e003f00400041004200400042004300440045004600440046004700480049004a0048004a004b004c004d004e004c004e004f00500051005200500052005300540055005600540056005700580059005a0058005a005b005c005d005e005c005e005f00600061006200600062006300640065006600640066006700680069006a0068006a006b006c006d006e006c006e006f00700071007200700072007300740075007600740076007700780079007a0078007a007b007c007d007e007c007e007f00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 128 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 5120 + _typelessdata: c2c5473efeffffbebf147bbfc5c5473e00000000be147bbfbe147b3f00000000c5c5473e000080bf254912b0fdffffbe000080bf0000000000000000000080bf0000803f0000000000000000000080bf254912b00100003fffff7fbf0000000000000000000080bf0000803f0000000000000000000080bfc2c5473e0100003fbd147bbfc5c5473e00000000be147bbfbe147b3f00000000c3c5473e000080bf16efc33efeffffbe5f836cbf12efc33e000000005e836cbf5e836c3f0000000012efc33e000080bfc2c5473efeffffbebf147bbfc5c5473e00000000be147bbfbe147b3f00000000c4c5473e000080bfc2c5473e0100003fbd147bbfc5c5473e00000000be147bbfbe147b3f00000000c4c5473e000080bf16efc33e0100003f5d836cbf12efc33e000000005e836cbf5e836c3f0000000014efc33e000080bfda390e3ffeffffbe32db54bfda390e3f0000000031db54bf31db543f00000000d9390e3f000080bf16efc33efeffffbe5f836cbf12efc33e000000005e836cbf5e836c3f0000000012efc33e000080bf16efc33e0100003f5d836cbf12efc33e000000005e836cbf5e836c3f0000000011efc33e000080bfda390e3f0100003f30db54bfda390e3f0000000031db54bf31db543f00000000d9390e3f000080bff304353ffeffffbef40435bff304353f00000000f30435bff304353f00000000f304353f000080bfda390e3ffeffffbe32db54bfda390e3f0000000031db54bf31db543f00000000d9390e3f000080bfda390e3f0100003f30db54bfda390e3f0000000031db54bf31db543f00000000d9390e3f000080bff304353f0100003ff20435bff304353f00000000f30435bff304353f00000000f304353f000080bf31db543fffffffbedb390ebf30db543f00000000da390ebfdb390e3f0000000030db543f000080bff304353ffeffffbef40435bff304353f00000000f30435bff304353f00000000f304353f000080bff304353f0100003ff20435bff304353f00000000f30435bff304353f00000000f304353f000080bf31db543f0100003fd9390ebf30db543f00000000da390ebfdb390e3f0000000030db543f000080bf5e836c3fffffffbe17efc3be5e836c3f0000000014efc3be13efc33e000000005e836c3f000080bf31db543fffffffbedb390ebf30db543f00000000da390ebfda390e3f0000000031db543f000080bf31db543f0100003fd9390ebf30db543f00000000da390ebfda390e3f0000000030db543f000080bf5e836c3f0000003f15efc3be5e836c3f0000000014efc3be14efc33e000000005e836c3f000080bfbe147b3f000000bfc5c547bebe147b3f00000000c3c547bec5c5473e00000000be147b3f000080bf5e836c3fffffffbe17efc3be5e836c3f0000000014efc3be15efc33e000000005e836c3f000080bf5e836c3f0000003f15efc3be5e836c3f0000000014efc3be15efc33e000000005e836c3f000080bfbe147b3f0000003fbfc547bebe147b3f00000000c4c547bec4c5473e00000000be147b3f000080bf0000803f000000bf38151fb30000803f000000000000000000000000000000000000803f000080bfbe147b3f000000bfc5c547bebe147b3f00000000c3c547bec4c5473e00000000be147b3f000080bfbe147b3f0000003fbfc547bebe147b3f00000000c4c547bec5c5473e00000000be147b3f000080bf0000803f0000003f9a2d25330000803f000000000000000000000000000000000000803f000080bfbe147b3f000000bfbfc5473ebe147b3f00000000c4c5473ec5c547be00000000be147b3f000080bf0000803f000000bf38151fb30000803f000000000000000000000000000000000000803f000080bf0000803f0000003f9a2d25330000803f000000000000000000000000000000000000803f000080bfbe147b3f0000003fc5c5473ebe147b3f00000000c5c5473ec6c547be00000000be147b3f000080bf5e836c3f000000bf15efc33e5e836c3f0000000013efc33e15efc3be000000005e836c3f000080bfbe147b3f000000bfbfc5473ebe147b3f00000000c4c5473ec4c547be00000000be147b3f000080bfbe147b3f0000003fc5c5473ebe147b3f00000000c5c5473ec5c547be00000000be147b3f000080bf5e836c3fffffff3e17efc33e5e836c3f0000000014efc33e15efc3be000000005e836c3f000080bf31db543f010000bfd9390e3f30db543f00000000da390e3fda390ebf0000000030db543f000080bf5e836c3f000000bf15efc33e5e836c3f0000000013efc33e14efc3be000000005e836c3f000080bf5e836c3fffffff3e17efc33e5e836c3f0000000014efc33e13efc3be000000005e836c3f000080bf31db543fffffff3edb390e3f30db543f00000000da390e3fda390ebf0000000031db543f000080bff304353f010000bff204353ff304353f00000000f304353ff30435bf00000000f304353f000080bf31db543f010000bfd9390e3f30db543f00000000da390e3fdb390ebf0000000030db543f000080bf31db543fffffff3edb390e3f30db543f00000000da390e3fdb390ebf0000000030db543f000080bff304353ffeffff3ef404353ff304353f00000000f304353ff30435bf00000000f304353f000080bfda390e3f010000bf30db543fda390e3f0000000031db543f31db54bf00000000d9390e3f000080bff304353f010000bff204353ff304353f00000000f304353ff30435bf00000000f304353f000080bff304353ffeffff3ef404353ff304353f00000000f304353ff30435bf00000000f304353f000080bfda390e3ffeffff3e32db543fda390e3f0000000031db543f31db54bf00000000d9390e3f000080bf16efc33e010000bf5d836c3f12efc33e000000005e836c3f5e836cbf0000000011efc33e000080bfda390e3f010000bf30db543fda390e3f0000000031db543f31db54bf00000000d9390e3f000080bfda390e3ffeffff3e32db543fda390e3f0000000031db543f31db54bf00000000d9390e3f000080bf16efc33efeffff3e5f836c3f12efc33e000000005e836c3f5e836cbf0000000012efc33e000080bfc2c5473e010000bfbd147b3fc5c5473e00000000be147b3fbe147bbf00000000c4c5473e000080bf16efc33e010000bf5d836c3f12efc33e000000005e836c3f5e836cbf0000000014efc33e000080bf16efc33efeffff3e5f836c3f12efc33e000000005e836c3f5e836cbf0000000012efc33e000080bfc2c5473efeffff3ebf147b3fc5c5473e00000000be147b3fbe147bbf00000000c4c5473e000080bf254912b0010000bfffff7f3f00000000000000000000803f000080bf0000000000000000000080bfc2c5473e010000bfbd147b3fc5c5473e00000000be147b3fbe147bbf00000000c3c5473e000080bfc2c5473efeffff3ebf147b3fc5c5473e00000000be147b3fbe147bbf00000000c5c5473e000080bf254912b0fdffff3e0000803f00000000000000000000803f000080bf0000000000000000000080bfc2c547be010000bfbd147b3fc5c547be00000000be147b3fbe147bbf00000000c5c547be000080bf254912b0010000bfffff7f3f00000000000000000000803f000080bf0000000000000000000080bf254912b0fdffff3e0000803f00000000000000000000803f000080bf0000000000000000000080bfc2c547befeffff3ebf147b3fc5c547be00000000be147b3fbe147bbf00000000c6c547be000080bf16efc3be010000bf5d836c3f12efc3be000000005e836c3f5e836cbf0000000014efc3be000080bfc2c547be010000bfbd147b3fc5c547be00000000be147b3fbe147bbf00000000c4c547be000080bfc2c547befeffff3ebf147b3fc5c547be00000000be147b3fbe147bbf00000000c4c547be000080bf16efc3befeffff3e5f836c3f12efc3be000000005e836c3f5e836cbf0000000012efc3be000080bfda390ebf010000bf30db543fda390ebf0000000031db543f31db54bf00000000d9390ebf000080bf16efc3be010000bf5d836c3f12efc3be000000005e836c3f5e836cbf0000000012efc3be000080bf16efc3befeffff3e5f836c3f12efc3be000000005e836c3f5e836cbf0000000011efc3be000080bfda390ebffeffff3e32db543fda390ebf0000000031db543f31db54bf00000000d9390ebf000080bff30435bf010000bff204353ff30435bf00000000f304353ff30435bf00000000f30435bf000080bfda390ebf010000bf30db543fda390ebf0000000031db543f31db54bf00000000d9390ebf000080bfda390ebffeffff3e32db543fda390ebf0000000031db543f31db54bf00000000d9390ebf000080bff30435bffeffff3ef404353ff30435bf00000000f304353ff30435bf00000000f30435bf000080bf31db54bf010000bfd9390e3f30db54bf00000000da390e3fdb390ebf0000000030db54bf000080bff30435bf010000bff204353ff30435bf00000000f304353ff30435bf00000000f30435bf000080bff30435bffeffff3ef404353ff30435bf00000000f304353ff30435bf00000000f30435bf000080bf31db54bfffffff3edb390e3f30db54bf00000000da390e3fdb390ebf0000000030db54bf000080bf5e836cbf000000bf15efc33e5e836cbf0000000014efc33e12efc3be000000005e836cbf000080bf31db54bf010000bfd9390e3f30db54bf00000000da390e3fda390ebf0000000031db54bf000080bf31db54bfffffff3edb390e3f30db54bf00000000da390e3fdb390ebf0000000030db54bf000080bf5e836cbfffffff3e17efc33e5e836cbf0000000014efc33e15efc3be000000005e836cbf000080bfbe147bbf000000bfbfc5473ebe147bbf00000000c4c5473ec5c547be00000000be147bbf000080bf5e836cbf000000bf15efc33e5e836cbf0000000014efc33e15efc3be000000005e836cbf000080bf5e836cbfffffff3e17efc33e5e836cbf0000000014efc33e15efc3be000000005e836cbf000080bfbe147bbf0000003fc5c5473ebe147bbf00000000c3c5473ec4c547be00000000be147bbf000080bf000080bf000000bf38151fb3000080bf00000000000000000000000000000000000080bf000080bfbe147bbf000000bfbfc5473ebe147bbf00000000c4c5473ec5c547be00000000be147bbf000080bfbe147bbf0000003fc5c5473ebe147bbf00000000c3c5473ec4c547be00000000be147bbf000080bf000080bf0000003f9a2d2533000080bf00000000000000000000000000000000000080bf000080bfbe147bbf000000bfc5c547bebe147bbf00000000c5c547bec6c5473e00000000be147bbf000080bf000080bf000000bf38151fb3000080bf00000000000000000000000000000000000080bf000080bf000080bf0000003f9a2d2533000080bf00000000000000000000000000000000000080bf000080bfbe147bbf0000003fbfc547bebe147bbf00000000c4c547bec5c5473e00000000be147bbf000080bf5e836cbfffffffbe17efc3be5e836cbf0000000014efc3be15efc33e000000005e836cbf000080bfbe147bbf000000bfc5c547bebe147bbf00000000c5c547bec4c5473e00000000be147bbf000080bfbe147bbf0000003fbfc547bebe147bbf00000000c4c547bec5c5473e00000000be147bbf000080bf5e836cbf0000003f15efc3be5e836cbf0000000013efc3be13efc33e000000005e836cbf000080bf31db54bfffffffbedb390ebf30db54bf00000000da390ebfdb390e3f0000000030db54bf000080bf5e836cbfffffffbe17efc3be5e836cbf0000000014efc3be15efc33e000000005e836cbf000080bf5e836cbf0000003f15efc3be5e836cbf0000000013efc3be12efc33e000000005e836cbf000080bf31db54bf0100003fd9390ebf30db54bf00000000da390ebfda390e3f0000000031db54bf000080bff30435bffeffffbef40435bff30435bf00000000f30435bff304353f00000000f30435bf000080bf31db54bfffffffbedb390ebf30db54bf00000000da390ebfdb390e3f0000000030db54bf000080bf31db54bf0100003fd9390ebf30db54bf00000000da390ebfdb390e3f0000000030db54bf000080bff30435bf0100003ff20435bff30435bf00000000f30435bff304353f00000000f30435bf000080bfda390ebffeffffbe32db54bfda390ebf0000000031db54bf31db543f00000000d9390ebf000080bff30435bffeffffbef40435bff30435bf00000000f30435bff304353f00000000f30435bf000080bff30435bf0100003ff20435bff30435bf00000000f30435bff304353f00000000f30435bf000080bfda390ebf0100003f30db54bfda390ebf0000000031db54bf31db543f00000000d9390ebf000080bf16efc3befeffffbe5f836cbf12efc3be000000005e836cbf5e836c3f0000000011efc3be000080bfda390ebffeffffbe32db54bfda390ebf0000000031db54bf31db543f00000000d9390ebf000080bfda390ebf0100003f30db54bfda390ebf0000000031db54bf31db543f00000000d9390ebf000080bf16efc3be0100003f5d836cbf12efc3be000000005e836cbf5e836c3f0000000012efc3be000080bfc2c547befeffffbebf147bbfc5c547be00000000be147bbfbe147b3f00000000c4c547be000080bf16efc3befeffffbe5f836cbf12efc3be000000005e836cbf5e836c3f0000000012efc3be000080bf16efc3be0100003f5d836cbf12efc3be000000005e836cbf5e836c3f0000000014efc3be000080bfc2c547be0100003fbd147bbfc5c547be00000000be147bbfbe147b3f00000000c4c547be000080bf254912b0fdffffbe000080bf0000000000000000000080bf0000803f0000000000000000000080bfc2c547befeffffbebf147bbfc5c547be00000000be147bbfbe147b3f00000000c6c547be000080bfc2c547be0100003fbd147bbfc5c547be00000000be147bbfbe147b3f00000000c5c547be000080bf254912b00100003fffff7fbf0000000000000000000080bf0000803f0000000000000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 0.50000006, z: 1} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/CapsuleBody.asset.meta b/Runtime/Meshes/CapsuleBody.asset.meta new file mode 100644 index 0000000..12d052b --- /dev/null +++ b/Runtime/Meshes/CapsuleBody.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fce15fb7a59a1ed41aa1b626fd3fd30d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/CapsuleHead.asset b/Runtime/Meshes/CapsuleHead.asset new file mode 100644 index 0000000..d485682 --- /dev/null +++ b/Runtime/Meshes/CapsuleHead.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: CapsuleHead + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 1152 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 256 + localAABB: + m_Center: {x: 0, y: 0.49999997, z: 0} + m_Extent: {x: 1, y: 0.50000006, z: 1} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020000000300010004000300000003000500010004000600030007000600040003000800050006000800030008000900050007000a0006000b000a0007000b000c000a0006000d0008000a000d00060008000e0009000d000e0008000e000f0009000c0010000a000a0010000d000c00110010000d0012000e00100012000d000e0013000f00120013000e00130014000f0011001500100010001500120011001600150012001700130015001700120013001800140017001800130018001900140016001a00150015001a00170016001b001a0017001c0018001a001c00170018001d0019001c001d0018001d001e0019001b001f001a001a001f001c001b0020001f001c0021001d001f0021001c001d0022001e00210022001d00220023001e00200024001f001f002400210020002500240021002600220024002600210022002700230026002700220027002800230025002900240024002900260025002a00290026002b00270029002b00260027002c0028002b002c0027002c002d0028002a002e00290029002e002b002a002f002e002b0030002c002e0030002b002c0031002d00300031002c00310032002d002f0033002e002e00330030002f003400330030003500310033003500300031003600320035003600310036003700320034003800330033003800350034003900380035003a00360038003a00350036003b0037003a003b0036003b003c00370039003d00380038003d003a0039003e003d003a003f003b003d003f003a003b0040003c003f0040003b00400041003c003e0042003d003d0042003f003e00430042003f0044004000420044003f0040004500410044004500400045004600410043004700420042004700440043004800470044004900450047004900440045004a00460049004a0045004a004b0046004a004c004b0048004d00470047004d00490048004e004d0049004f004a004f004c004a004d004f0049004f0050004c004e0051004d004d0051004f00510050004f004e005200510051005300500052005300510052005400530055005600570055005800560059005800550058005a00560059005b0058005c005b00590058005d005a005b005d0058005d005e005a005c005f005b0060005f005c00600061005f005b0062005d005f0062005b005d0063005e00620063005d00630064005e00610065005f005f006500620061006600650062006700630065006700620063006800640067006800630068006900640066006a00650065006a00670066006b006a0067006c0068006a006c00670068006d0069006c006d0068006d006e0069006b006f006a006a006f006c006b0070006f006c0071006d006f0071006c006d0072006e00710072006d00720073006e00700074006f006f007400710070007500740071007600720074007600710072007700730076007700720077007800730077007900780075007a00740074007a00760075007b007a0076007c0077007c00790077007a007c0076007c007d0079007b007e007a007a007e007c007e007d007c007b007f007e007e0080007d007f0080007e007f008100800082008300840082008500830086008500820085008700830086008800850089008800860085008a00870088008a0085008a008b00870089008c0088008d008c00890088008e008a008c008e0088008a008f008b008e008f008a008f0090008b008d0091008c00920091008d008c0093008e00910093008c008e0094008f00930094008e008f0095009000940095008f0095009600900092009700910098009700920091009900930097009900910093009a00940099009a00930094009b0095009a009b00940095009c0096009b009c0095009c009d00960098009e0097009f009e0098009700a00099009e00a00097009900a1009a00a000a10099009a00a2009b00a100a2009a009b00a3009c00a200a3009b009c00a4009d00a300a4009c00a400a5009d009f00a6009e00a700a6009f00a700a800a6009e00a900a000a600a9009e00a800aa00a600a600aa00a900a800ab00aa00a400ac00a500ac00ad00a500ac00ae00ad00a900af00a000a000af00a100ab00b000aa00ab00b100b000aa00b200a900a900b200af00aa00b000b200b300ac00a400a300b300a400b400ae00ac00b300b400ac00b400b500ae00af00b600a100a100b600a200a200b700a300b700b300a300b600b700a200b200b800af00af00b800b600b000b900b200b200b900b800ba00b400b300b700ba00b300bb00b500b400ba00bb00b400bb00bc00b500b600bd00b700b800bd00b600bd00ba00b700be00bb00ba00bd00be00ba00bf00bc00bb00be00bf00bb00bf00c000bc00b800c100bd00c100be00bd00b900c100b800c200bf00be00c100c200be00c300c000bf00c200c300bf00c300c400c000b900c500c100c500c200c100c600c300c200c500c600c200c700c400c300c600c700c300c700c800c400c900c500b900b000c900b900b100c900b000b100ca00c900c900cb00c500ca00cb00c900cb00c600c500ca00cc00cb00cb00cd00c600cc00cd00cb00cd00c700c600cc00ce00cd00cf00c800c700cd00cf00c700ce00cf00cd00cf00d000c800ce00d100cf00d100d000cf00d100d200d000d300d400d500d300d600d400d700d600d300d600d800d400d700d900d600da00d900d700d600db00d800d900db00d600db00dc00d800da00dd00d900de00dd00da00de00df00dd00d900e000db00dd00e000d900db00e100dc00e000e100db00e100e200dc00df00e300dd00dd00e300e000df00e400e300e000e500e100e300e500e000e100e600e200e500e600e100e600e700e200e400e800e300e300e800e500e400e900e800e500ea00e600e800ea00e500e600eb00e700ea00eb00e600eb00ec00e700e900ed00e800e800ed00ea00e900ee00ed00ea00ef00eb00ed00ef00ea00eb00f000ec00ef00f000eb00f000f100ec00ee00f200ed00ed00f200ef00ee00f300f200ef00f400f000f200f400ef00f000f500f100f400f500f000f500f600f100f500f700f600f300f800f200f200f800f400f300f900f800f400fa00f500fa00f700f500f800fa00f400fa00fb00f700f900fc00f800f800fc00fa00fc00fb00fa00f900fd00fc00fc00fe00fb00fd00fe00fc00fd00ff00fe00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 256 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 10240 + _typelessdata: 25611e3f53eff73e24611ebf5c451f3fb752f33e5e451fbf08b687be2328603f77bdce3e000080bf4eeff73e24611e3f22611ebfa752f33e5e451f3f62451fbfe6a834bec697423fc917203f000080bf3acd133f3ccd133f39cd13bf34cd133f3bcd133f3ecd13bfee05d1beeb05513fee05d13e000080bfb503003fb503003fb7ff34bfcf1dfd3edc1dfd3e1a0937bf593618bef9c55b3f3d4cfb3e000080bf14fc293f0c07b03e16fc29bf09552a3fcd51ad3e06552abfca9458be92b3703fe5a1883e000080bf0707b03e17fc293f13fc29bfcd51ad3e09552a3f06552abfcaf59fbd267b393fe94e2f3f000080bfc47a073f914fb43e7f9e45bf87e2063f34f5b13e8f8e46bfe9bb26be08db6f3fb3569e3e000080bfdf20323f0e47363edf2032bf7b33323f3cfd333e783332bf60d2e4bd88f97b3f9d170c3e000080bf8d4fb43ec57a073f7e9e45bf35f5b13e8ce2063f8b8e46bf091e8fbd9de5563fe7f7093f000080bf0a47363ede20323fde2032bf3dfd333e7833323f793332bf5dd41ebdd521363f23a0333f000080bf927f0d3f5d3a3a3edd3250bfadf90c3f1afb373e80ad50bf7463adbdaec97b3fdc6b233e000080bff504353f24da6e33f40435bff047343fbbc9b83ded4734bf60d568bd87f17e3f79e6903d000080bff2ca0f3f282572330ecd53bf40a20e3fa615bc3d734753bfb2354abdd9ea7e3f36ad9e3d000080bfbb48bd3ebf48bd3e61395abf738dbb3e768dbb3e69f85abfe2e8ddbd90066e3f741db43e000080bf573a3a3e937f0d3fdc3250bf1bfb373eb2f90c3f7fad50bf2b29dbbc5dc0543fc6370e3f000080bf8594de31f504353ff30435bf00000000f304353ff30435bf67f1ac3b4d04353f4d04353f000080bf7f5cc53eb7cf423e1b2467bfcacfc33e06bd403e259467bf83a152bd8b5a7b3f30ef3a3e000080bf56b4c83ea3398933d3826bbf232dc63e83c4c33d14c66abfbd011dbddad37e3f4a5bb33d000080bfb1cf423e815cc53e1b2467bf07bd403ececfc33e259467bf707d4cbd2a716c3ffe9ac23e000080bfd6105b32f3ca0f3f0dcd53bf000000003b3d0f3ffd2c54bf50f72ebbcb2c543f1a3d0f3f000080bf094736bede20323fde2032bf35fd33be7933323f793332bf54b6183d3118363f35af333f000080bf09224b3e10224b3e3ab875bfabf6483ea6f6483e46f175bf65bdf2bc6b027b3fcae7463e000080bf6cc84e3e2e1fa933e1b97abf49664b3e9132cb3d299c79bfb3a48fbc75bc7e3f0d0ec83d000080bfea15e23158b4c83ed3826bbf000000008b16c73e8eda6bbf0f47a93bbfd96b3fdc15c73e000080bf563a3abe917f0d3fdc3250bf1bfb37beb1f90c3f7fad50bf619a0c3d20e6543fe2e30d3f000080bf0707b0be15fc293f15fc29bfc051adbe09552a3f0a552abfa49fac3dddc7393f73cd2e3f000080bfaca705316fc84e3ee1b97abf0000000075684c3e05d97abf551fadbb1fd87a3fba674c3e000080bf4847e4b1934abe33000080bf00000000a03dce3ddab27ebf00000000dab27e3f9e3dce3d000080bfb2cf42be805cc53e1b2467bfffbc40bed2cfc33e249467bfcb71453d086e6c3f46c7c23e000080bf8f4fb4bec47a073f7e9e45bf2bf5b1be8ae2063f8f8e46bf7e59ab3d5360573f65b6083f000080bf51eff7be26611e3f24611ebfa852f3be62451f3f5d451fbf6842123e5f95403f2aa7243f000080bf09224bbe0e224b3e3bb875bfadf648bea1f6483e48f175bf059cc73c19fe7a3f2dfe473e000080bf6bc84ebecdbbcc33e1b97abf57664bbe8b32cb3d279c79bfbaa68f3c75bc7e3fec0dc83d000080bfbf48bdbec148bd3e61395abf758dbbbe758dbb3e69f85abf1867b93d90cd6d3f3bd5b73e000080bfb60300bfb703003fb7ff34bfd21dfdbed21dfd3e1b0937bf39eb3d3e3f135d3fdb0ff03e000080bf3ccd13bf3ccd133f3acd13bf3bcd13bf3dcd133f35cd13bfaf97b03e4839503fefdaef3e000080bf7d5cc5beb6cf423e1a2467bfcdcfc3be03bd403e259467bfb3f85a3dc25d7b3f2a103a3e000080bf56b4c8be56a5ba33d3826bbf242dc6be9bc4c33d12c66abf10f70b3d8cd37e3fcdf3b63d000080bfc37a07bf914fb43e7e9e45bf89e206bf2df5b13e8f8e46bf43ee143ec99b6f3f0b2aa43e000080bf25611ebf52eff73e24611ebf5e451fbfa952f33e5e451fbf6484bd3e8ef9603ff82e9a3e000080bf23611ebf26611e3f4eeff7be5f451fbf64451f3fa052f3bed117203fc197423fe7a8343e000080bf917f0dbf5d3a3a3edd3250bfacf90cbf26fb373e80ad50bf7966bc3d16d27b3f3a611e3e000080bff2ca0fbfbfa580330fcd53bf3ca20ebfd015bc3d744753bf35e5493dd5ea7e3f92c89e3d000080bf14fc29bf0c07b03e14fc29bf06552abfca51ad3e0a552abf3b1c753ed5e2703f781c753e000080bfb9ff34bfb603003fb40300bf1e0937bfd01dfd3ecc1dfdbe2e4cfb3efdc55b3f5336183e000080bf14fc29bf16fc293f0407b0be09552abf0b552a3fc151adbe90ec2f3f4519393fbe43903d000080bfdf2032bf0e47363edf2032bf793332bf43fd333e783332bfb58afe3dad037c3f748bfe3d000080bff40435bfa2f81f33f40435bff04734bfc5c9b83dee4734bf39aa823daef47e3f39aa823d000080bf7f9e45bf8e4fb43ec37a07bf908e46bf30f5b13e85e206bf93b4a03ea2c46f3ff9881f3e000080bf7f9e45bfc47a073f8b4fb4be908e46bf87e2063f2ff5b1be86f3083f234a573fdf08a63d000080bfdf2032bfdd20323f064736be7b3332bf7733323f37fd33be63e5333f11f4353fbf5b023d000080bfdd3250bf5c3a3a3e927f0dbf80ad50bf1ffb373eadf90cbf11611e3e16d27b3fd566bc3d000080bf0ecd53bfe5579f32f2ca0fbf744753bf9215bc3d3fa20ebf63c89e3dd5ea7e3fe0e4493d000080bf61395abfbe48bd3eba48bdbe6cf85abf728dbb3e6d8dbbbea4ceb63eaadf6d3f628cc33d000080bfdd3250bf927f0d3f543a3abe80ad50bfaff90c3f1afb37be7ec50d3fccf2543fb1a4173d000080bff40435bff404353f4e976e33f40435bff104353f000000004c04353f5004353faff2acbb000080bf1b2467bfb3cf423e7f5cc5be259467bf09bd403ec8cfc3be67ab373ef6647b3f34d7713d000080bfd3826bbf82e94d3256b4c8be14c66abf86c4c33d212dc6bec2f3b63d8ed37e3fd7f60b3d000080bf1b2467bf7f5cc53eaecf42be259467bfc7cfc33effbc40be5151c33e03636c3f484e2f3d000080bf0ecd53bff2ca0f3ffa031233fd2c54bf393d0f3f00000000163d0f3fcb2c543fc9d82e3b000080bfdf2032bfdf20323f0d47363e793332bf7933323f35fd333e2068333f2844363f763035bd000080bf3ab875bf0a224b3e07224bbe48f175bfa4f6483e9af648be104a473e1c017b3fd78ae33c000080bfe0b97abf26579d316dc84ebe299c79bfad32cb3d3d664bbe042ac63d75bc7e3ffdc6b43c000080bfd3826bbf56b4c83e4a08a03290da6bbf8216c73e00000000d515c73ec3d96b3fb84ba93b000080bfdd3250bf907f0d3f593a3a3e7fad50bfb1f90c3f16fb373e1e550e3f25b2543f7a11c5bc000080bf16fc29bf14fc293f0907b03e08552abf0a552a3fc651ad3eed4e2f3f247b393f7ff59fbd000080bfe0b97abf6cc84e3e3c02993105d97abf72684c3e00000000f9664c3e37d77a3f27fef5bb000080bf000080bf28d85aaf88df3eb2dab27ebfac3dce3d00000000243dce3d31b27e3f03db923b000080bf1b2467bf7e5cc53eb4cf423e259467bfc8cfc33e04bd403e069bc23e2a716c3f727b4cbd000080bf7f9e45bfc37a073f904fb43e8e8e46bf89e2063f2ef5b13edef7093fa1e5563f751e8fbd000080bf25611ebf24611e3f53eff73e5d451fbf61451f3fa952f33ecc17203fc497423ff8a834be000080bf3bb875bf08224b3e0a224b3e48f175bf9bf6483ea0f6483ec1e7463e6d027b3f0bbdf2bc000080bfe1b97abf1a5f87b16bc84e3e299c79bfa432cb3d41664b3e060ec83d75bc7e3fb6a68fbc000080bf61395abfbe48bd3ec048bd3e6bf85abf718dbb3e798dbb3e6a1db43e91066e3fffe8ddbd000080bfb8ff34bfb503003fb703003f1d0937bfcb1dfd3ed51dfd3e284cfb3effc55b3f5a3618be000080bf3bcd13bf3acd133f3dcd133f34cd13bf3bcd133f3ecd133fce05d13eeb05513f0c06d1be000080bf25611ebf4eeff73e26611e3f5f451fbfa252f33e62451f3f59bdce3e2928603f0cb687be000080bf1a2467bfafcf423e7d5cc53e259467bffcbc403ecdcfc33e2cef3a3e8b5a7b3f27a152bd000080bfd3826bbfae0718b256b4c83e12c66abf9dc4c33d242dc63e455bb33dd8d37e3f63021dbd000080bf7e9e45bf8e4fb43ec37a073f8e8e46bf2ef5b13e8ae2063fa0569e3e09db6f3f10bc26be000080bf14fc29bf0807b03e14fc293f09552abfc551ad3e08552a3fe5a1883e92b3703fb49458be000080bfdd3250bf563a3a3e917f0d3f80ad50bf25fb373eadf90c3fc0c3243e95c67b3f6e61a9bd000080bf0fcd53bf2dc6c7b2f1ca0f3f744753bfb715bc3d3ca20e3ff739993dddea7e3f755b5abd000080bfdf2032bf0647363edf20323f773332bf45fd333e7a33323f68af0f3e08f37b3fc495ddbd000080bff50435bf82ae28b3f404353fec4734bfc6c9b83df147343f52aa823daef47e3f25aa82bd000080bf25611e3f4feff73e26611e3f62451f3fab52f33e5d451f3f4e0eacbe423e613f000eacbe000080bf22611e3f24611e3f51eff73e5e451f3f5f451f3fab52f33e0cd526bf5e793f3fb60901be000080bf3acd133f3acd133f3bcd133f3fcd133f3acd133f36cd133fb2a506bf12c84d3fbb448ebe000080bfb8ff343fb303003fb603003f1b09373fd31dfd3ed01dfd3e8ba1edbe2a4c5d3ffed645be000080bf16fc293f0807b03e14fc293f08552a3fc551ad3e09552a3fdfa188be92b3703fbd9458be000080bf14fc293f16fc293f0907b03e08552a3f09552a3fc551ad3e96ec2fbf4019393ff84290bd000080bf7f9e453f8e4fb43ec47a073f8f8e463f2ff5b13e87e2063f11d0a1be9bb86f3f9d261cbe000080bfdf20323f0647363edf20323f7833323f3bfd333e7b33323f38af0fbe0af37b3f0696ddbd000080bf7f9e453fc47a073f8e4fb43e8f8e463f87e2063f2ff5b13e640708bf019d573f476dbabd000080bfdf20323fdd20323f0e47363e7a33323f7833323f34fd333e35af33bf3118363f3eb618bd000080bfdd32503f563a3a3e927f0d3f7fad503f1afb373eaff90c3f98c324be97c67b3fc761a9bd000080bff404353fe7b85bb3f504353fee47343fb1c9b83df047343f15aa82bdaef47e3f42aa82bd000080bf0ecd533f890352b3f2ca0f3f7347533f9615bc3d40a20e3f383a99bdddea7e3f415a5abd000080bf61395a3fbc48bd3ebc48bd3e6bf85a3f708dbb3e748dbb3e430cb9bebeb56d3f3f4fadbd000080bfdd32503f907f0d3f5a3a3a3e82ad503fadf90c3f16fb373edfe30dbf23e6543f99990cbd000080bff404353ff404353f49e58233f304353ff304353f000000004d0435bf4d04353fa4f6acbb000080bf1b24673fb0cf423e7f5cc53e2594673f07bd403ecccfc33e229837be26657b3fe08e72bd000080bfd3826b3fdb1625b356b4c83e14c66a3f89c4c33d212dc63e0a16b7bd84d37e3f57540bbd000080bf1b24673f7f5cc53eb3cf423e2594673fc5cfc33e00bd403e4e51c3be04636c3f1e4e2fbd000080bf0ecd533ff2ca0f3fc5d95a33fe2c543f393d0f3f00000000173d0fbfcb2c543f05fb2e3b000080bfdf20323fdd20323f074736be7b33323f7833323f2cfd33be65e533bf11f4353f5b5b023d000080bf3ab8753f09224b3e0a224b3e48f1753fa8f6483e9ef6483e06db46be93027b3fbfb6f4bc000080bfe0b97a3f9369b7b26cc84e3e299c793fbd32cb3d3d664b3e87f3c7bd7dbc7e3f60b191bc000080bfd3826b3f56b4c83e3b7f083390da6b3f8416c73e00000000d515c7bec1d96b3f2842a9bb000080bfdd32503f907f0d3f563a3abe7fad503fb1f90c3f10fb37be7cc50dbfcdf2543fd3a5173d000080bf16fc293f14fc293f0507b0be0a552a3f0a552a3fba51adbe6ccd2ebfe0c7393f42a0ac3d000080bfe0b97a3f6cc84e3efe77803205d97a3f75684c3e00000000fc664cbe35d77a3f7bfff53b000080bf0000803fe83a7a305cb205b2dab27e3fb83dce3d000000002e3dcebd30b27e3ffce092bb000080bf1b24673f7e5cc53eb0cf42be2594673fcbcfc33efebc40beee50c3be0b636c3f905e2f3d000080bf7f9e453fc37a073f8e4fb4be8f8e463f8ce2063f26f5b1be759f09bfde08573f61f4963d000080bf23611e3f26611e3f4feff7be5b451f3f62451f3fad52f3be77b71dbf527d433fabcc453e000080bf3bb8753f0b224b3e09224bbe48f1753fa0f6483e9ef648bec6e746be6d027b3f5ebdf23c000080bfe1b97a3f6282f3326bc84ebe299c793fa532cb3d40664bbeeb0dc8bd75bc7e3fc4a88f3c000080bf61395a3fc048bd3ebe48bdbe6bf85a3f728dbb3e728dbbbef693b5bef4f26d3fd8a1cf3d000080bfb8ff343fb703003fb50300bf1a09373fda1dfd3ece1dfdbee79ffdbeac715b3f292a103e000080bf3acd133f3ccd133f39cd13bf34cd133f3bcd133f3ecd13bfee05d1beeb05513fee05d13e000080bf25611e3f53eff73e24611ebf5c451f3fb752f33e5e451fbf55bdcebe2528603f2cb6873e000080bf1a24673fb3cf423e7d5cc5be2594673f00bd403ecdcfc3be2cef3abe8b5a7b3f50a1523d000080bfd3826b3fa2eb5c3356b4c8be12c66a3f9ec4c33d272dc6beaa5bb3bdd8d37e3f7e001d3d000080bf7e9e453f904fb43ec37a07bf908e463f31f5b13e86e206bf9f569ebe09db6f3f21bc263e000080bf14fc293f0c07b03e16fc29bf09552a3fcd51ad3e06552abfe8a188be92b3703fc694583e000080bfdd32503f5c3a3a3e917f0dbf80ad503f21fb373eadf90cbfd9c324be95c67b3f1761a93d000080bf0fcd533fdafe6c33f1ca0fbf7347533fb915bc3d40a20ebf6a3a99bdddea7e3f285a5a3d000080bfdf20323f0e47363edf2032bf7b33323f3cfd333e783332bf7eaf0fbe08f37b3f7b95dd3d000080bff504353f24da6e33f40435bff047343fbbc9b83ded4734bf49aa82bdaef47e3f1baa823d000080bf4eeff73e24611e3f22611ebfa752f33e5e451f3f62451fbf2628603f66bdcebe06b6873e000080bf23611e3f26611e3f4feff7be5b451f3f62451f3fad52f3bec897423fca1720bfd7a8343e000080bf3acd133f3ccd133f39cd13bf34cd133f3bcd133f3ecd13bff005513fda05d1beed05d13e000080bfb503003fb9ff343fb50300bfd01dfd3e1b09373fd61dfdbefdc55b3f2e4cfbbe6036183e000080bf0707b03e17fc293f13fc29bfcd51ad3e09552a3f06552abf92b3703fdfa188bed694583e000080bf16fc293f14fc293f0507b0be0a552a3f0a552a3fba51adbe247b393fed4e2fbf57f59f3d000080bf8d4fb43e809e453fc27a07bf32f5b13e8e8e463f88e206bfa2c56f3fce9ba0be95d41f3e000080bf0a47363ede20323fde2032bf3dfd333e7833323f793332bf88f97b3f9b170cbe69d2e43d000080bfc37a073f7f9e453f8b4fb4be8ae2063f908e463f23f5b1bec729573f284a09bf09769e3d000080bfdf20323fdd20323f074736be7b33323f7833323f2cfd33bed321363f26a033bf58d41e3d000080bf593a3a3ede32503f917f0dbf1ffb373e7fad503faef90cbfe3d27b3f3aa71dbe1d8fbe3d000080bf8594de31f504353ff30435bf00000000f304353ff30435bf0000803f0000000000000000000080bfbd48bd3e61395a3fb948bdbe758dbb3e6cf85a3f678dbbbe27c86d3ff71eb8be1d8bb63d000080bf907f0d3fdd32503f533a3abeb1f90c3f7fad503f1dfb37bed4e1543feeed0dbf33ee083d000080bff404353ff404353f49e58233f304353ff304353f000000004d04353f4f0435bf25f4acbb000080bf6c4115b10fcd533ff0ca0fbf00000000fe2c543f373d0fbf0000803f0000000000000000000080bf094736bede20323fde2032bf35fd33be7933323f793332bfaf037c3f1c8bfe3ded8afebd000080bfb1cf423e1b24673f7d5cc5be02bd403e2794673fc2cfc3be976b7b3fb4d133be8f3c8b3d000080bf7e5cc53e1b24673faccf42bec9cfc33e2594673f08bd40be03636c3f5351c3be2a4e2f3d000080bff2ca0f3f0ecd533f2f0c90333a3d0f3ffd2c543f00000000cb2c543f173d0fbfd2d62e3b000080bfdf20323fdd20323f0e47363e7a33323f7833323f34fd333e2744363f206833bfa03035bd000080bf593a3abedd32503f917f0dbf14fb37be7fad503faff90cbf8ad57b3fedab183e6355cdbd000080bf0707b0be15fc293f15fc29bfc051adbe09552a3f0a552abf097d703fb9258f3efe1d4bbe000080bf8dd761b2d3826b3f54b4c8be0000000090da6b3f8016c7be0000803f0000000000000000000080bf09224b3e3ab8753f03224bbe9ef6483e48f1753f9ff648be95027b3ffada46befcb6f43c000080bf56b4c83ed3826b3f226f90338616c73e8eda6b3f00000000c1d96b3fd815c7beaa4aa93b000080bf907f0d3fdd32503f5d3a3a3eaff90c3f7fad503f1bfb373e26b2543f1d550ebfb611c5bc000080bf14fc293f16fc293f0907b03e08552a3f09552a3fc551ad3e267b393fe94e2fbf8af59fbd000080bf8c4fb4be809e453fc27a07bf29f5b1be918e463f86e206bf137c6f3f4568a63ef3ff0dbe000080bf51eff7be26611e3f24611ebfa852f3be62451f3f5d451fbf423e613f1d0eac3e2d0eacbe000080bfb3cf42be1b24673f7c5cc5befdbc40be2594673fc8cfc3be976b7b3fbad1333e5f3c8bbd000080bf03e231b2e0b97a3f67c84ebe0000000005d97a3f6d684cbe0000803f0000000000000000000080bf6cc84e3ee0b97a3ffa58b23373684c3e05d97a3f0000000035d77a3ffb664cbe00fff5bb000080bf7e5cc53e1b24673fbacf423ecbcfc33e2594673f07bd403e2a716c3f089bc2be8c7b4cbd000080bfc37a073f7f9e453f914fb43e8ae2063f8f8e463f2df5b13ea1e5563fdef709bf7f1e8fbd000080bf22611e3f24611e3f51eff73e5e451f3f5f451f3fab52f33ec797423fc71720bf02a934be000080bfb50300bfb9ff343fb60300bfd01dfdbe1f09373fcb1dfdbe42135d3fc70ff03e79eb3dbe000080bf3ccd13bf3ccd133f3acd13bf3bcd13bf3dcd133f35cd13bf17c84d3f9aa5063ffc448ebe000080bf23611ebf26611e3f4eeff7be5f451fbf64451f3fa052f3be6395403f2aa7243f444212be000080bfbf48bdbe61395a3fbb48bdbe748dbbbe69f85a3f778dbbbe77b86d3f59eab83efea1aebd000080bfc47a07bf7f9e453f8a4fb4be8ae206bf8f8e463f2cf5b1be131f573f3666093f72ff9bbd000080bf14fc29bf16fc293f0407b0be09552abf0b552a3fc151adbedcc7393f75cd2e3f749facbd000080bfb603003fb7ff343fb703003fd51dfd3e1a09373fd31dfd3efcc55b3f2c4cfbbe733618be000080bf3acd133f3acd133f3bcd133f3fcd133f3acd133f36cd133fe805513fc305d1be2306d1be000080bf50eff73e24611e3f26611e3fad52f33e5f451f3f5d451f3f2628603f51bdcebe23b687be000080bf0c224bbe3bb8753f05224bbe9ff648be48f1753f9ff648be93027b3ffbda463e00b7f4bc000080bf927f0dbfdd32503f533a3abeb1f90cbf7fad503f21fb37beffc4543ff82d0e3f4a7ee2bc000080bfdf2032bfdd20323f064736be7b3332bf7733323f37fd33be2f18363f38af333f46b618bd000080bf7f5cc5be1b24673faacf42becccfc3be2594673f04bd40be21716c3f6f9bc23e106b4cbd000080bfbf48bd3e61395a3fc148bd3e718dbb3e69f85a3f7a8dbb3e91066e3f691db4be0ce9ddbd000080bf8f4fb43e7d9e453fc47a073f2df5b13e8f8e463f89e2063f09db6f3f9c569ebe13bc26be000080bf0a07b03e13fc293f17fc293fc451ad3e0a552a3f09552a3f92b3703fe3a188beb09458be000080bf292e9a300000803f87d4c533000000000000803f000000000000803f0000000000000000000080bf0a224b3e3bb8753f0f224b3ea0f6483e46f1753fb4f6483e6b027b3fc9e746be0fbdf2bc000080bf6bc84ebee1b97a3f3e22cf3371684cbe05d97a3f0000000037d77a3ff9664c3ea3fef53b000080bf56b4c8bed3826b3faf44cb338516c7be90da6b3f00000000c1d96b3fd815c73ecb4aa9bb000080bfb1cf423e1a24673f7f5cc53e02bd403e2494673fd1cfc33e8b5a7b3f31ef3abe3fa152bd000080bf593a3a3edc32503f927f0d3f1ffb373e80ad503fadf90c3f95c67b3fbbc324be6861a9bd000080bf0947363ede20323fe020323f32fd333e7933323f7933323f0af37b3f5eaf0fbea595ddbd000080bfc2366b32e1b97a3f71c84e3e0000000003d97a3f84684c3e0000803f0000000000000000000080bfe38cd832d3826b3f58b4c83e000000008eda6b3f9016c73e0000803f0000000000000000000080bfb9a2a6320ecd533ff2ca0f3f00000000fe2c543f383d0f3f0000803f0000000000000000000080bf7e2a8b32f304353ff504353f00000000f304353ff204353f0000803f0000000000000000000080bf09224bbe3bb8753f0f224b3ea0f648be48f1753fa7f6483e6d027b3fc8e7463efebcf23c000080bfafcf42be1b24673f805cc53e03bd40be2494673fd9cfc33e8b5a7b3f2def3a3e58a1523d000080bf553a3abedb32503f927f0d3f1dfb37be7cad503fb3f90c3f95c67b3fb7c3243e7261a93d000080bf094736bedc20323fe020323f39fd33be7933323f7933323f0af37b3f61af0f3eb495dd3d000080bf7f5cc5be1b24673fbbcf423ecdcfc3be2594673f09bd403e28716c3f069bc23e9a7b4c3d000080bfbb48bdbe61395a3fbf48bd3e718dbbbe68f85a3f7e8dbb3e91066e3f681db43e1fe9dd3d000080bf8a4fb4be7e9e453fc47a073f2cf5b1be8e8e463f8be2063f09db6f3f96569e3e22bc263e000080bf0707b0be13fc293f17fc293fc551adbe0b552a3f08552a3f92b3703fd9a1883ec894583e000080bff1ca0fbf0fcd533f177ba633393d0fbffe2c543f00000000fe2c543f393d0f3f00000000000080bff40435bff404353f4e976e33f40435bff104353f00000000f104353ff504353f00000000000080bf927f0dbfdd32503f5d3a3a3eb0f90cbf7fad503f25fb373e26b2543f1d550e3feb11c53c000080bfdf2032bfdf20323f0d47363e793332bf7933323f35fd333e2744363f2068333f9c30353d000080bfc37a07bf7e9e453f8f4fb43e86e206bf8e8e463f36f5b13ea4e5563fddf7093f681e8f3d000080bf16fc29bf14fc293f0907b03e08552abf0a552a3fc651ad3e267b393fea4e2f3f64f59f3d000080bfb60300bfb7ff343fb603003fcb1dfdbe1e09373fd51dfd3e00c65b3f244cfb3e6136183e000080bf50eff7be24611e3f23611e3fa052f3be63451f3f5f451f3f2b28603f49bdce3e1bb6873e000080bf25611ebf24611e3f53eff73e5d451fbf61451f3fa952f33ec697423fcc17203fd5a8343e000080bf3bcd13bf3acd133f3dcd133f34cd13bf3bcd133f3ecd133ff005513fe105d13ee505d13e000080bf25611ebf4eeff73e26611e3f5f451fbfa252f33e62451f3f05b6873e2928603f5dbdcebe000080bf50eff7be24611e3f23611e3fa052f3be63451f3f5f451f3fd0a8343ec197423fd31720bf000080bf3bcd13bf3acd133f3dcd133f34cd13bf3bcd133f3ecd133ff605d13eeb05513fe605d1be000080bfb50300bfb403003fbaff343fc81dfdbecd1dfd3e2109373f5536183effc55b3f2a4cfbbe000080bf14fc29bf0807b03e14fc293f09552abfc551ad3e08552a3fc394583e92b3703fdda188be000080bf0707b0be13fc293f17fc293fc551adbe0b552a3f08552a3f56f59f3d237b393fee4e2fbf000080bfc37a07bf8b4fb43e7f9e453f86e206bf29f5b13e918e463f9cd41f3ea4c56f3fc29ba0be000080bfdf2032bf0647363edf20323f773332bf45fd333e7a33323f88d2e43d88f97b3f99170cbe000080bf8c4fb4bec27a073f809e453f2df5b1be85e2063f918e463f701e8f3da4e5563fdbf709bf000080bf094736bedc20323fe020323f39fd33be7933323f7933323f69d41e3dd621363f23a033bf000080bf927f0dbf553a3a3edc32503fadf90cbf22fb373e80ad503f388fbe3de3d27b3f35a71dbe000080bff50435bf82ae28b3f404353fec4734bfc6c9b83df147343f5cd5683d87f17e3f8ce690bd000080bff2ca0fbf51c18ab30ecd533f3ea20ebfc015bc3d7447533f2abc393d4fe97e3f963ba4bd000080bfbb48bdbebb48bd3e61395a3f6f8dbbbe6f8dbb3e6cf85a3f0adac43ddee16d3fcbacb6be000080bf573a3abe907f0d3fde32503f1efb37beadf90c3f80ad503fb728db3c60c0543fc5370ebf000080bf7e2a8b32f304353ff504353f00000000f304353ff204353fa7f3acbb4d04353f4f0435bf000080bf7f5cc5beaccf423e1b24673fcacfc3be05bd403e2594673ff7b5863d836a7b3fbac534be000080bf56b4c8becc24a8b3d3826b3f282dc6be85c4c33d12c66a3fd5f60b3d8ed37e3fc1f3b6bd000080bfb0cf42be7c5cc53e1b24673f08bd40bec7cfc33e2594673f026b4c3d23716c3f6c9bc2be000080bf80c89931f1ca0f3f0fcd533f00000000373d0f3ffe2c543f14d82e3bcd2c543f153d0fbf000080bf0947363ede20323fe020323f32fd333e7933323f7933323f983035bd2844363f206833bf000080bf08224bbe04224b3e3ab8753fa7f648be9ff6483e48f1753fd152f63cb2027b3f91d046be000080bf6cc84ebe5bb2b5b3e0b97a3f4a664bbe8632cb3d299c793fa3a68f3c75bc7e3fe70dc8bd000080bf674a16b154b4c83ed3826b3f000000008116c73e90da6b3f5a4ba93bc3d96b3fd415c7be000080bf593a3a3e907f0d3fde32503f13fb373eaef90c3f82ad503f8c11c5bc27b2543f1b550ebf000080bf0a07b03e13fc293f17fc293fc451ad3e0a552a3f09552a3f54f59fbd247b393fee4e2fbf000080bf12a42b3167c84e3ee0b97a3f0000000072684c3e05d97a3f4f1cadbb1fd87a3fb7674cbe000080bf2122e531d58ea2b30000803f00000000a93dce3ddab27e3f00000000dab27e3fa93dcebd000080bfb2cf423e7c5cc53e1b24673f04bd403ec5cfc33e2594673f7a7b4cbd2a716c3f019bc2be000080bf8f4fb43ec27a073f809e453f28f5b13e84e2063f928e463f671e8fbda4e5563fdaf709bf000080bf50eff73e24611e3f26611e3fad52f33e5f451f3f5d451f3ffca834bec597423fc91720bf000080bf0a224b3e04224b3e3bb8753facf6483e9ff6483e48f1753f36bdf2bc6d027b3fc5e746be000080bf6bc84e3ec16687b3e1b97a3f4d664b3e9632cb3d299c793fb6a68fbc75bc7e3ff70dc8bd000080bfbf48bd3ebd48bd3e61395a3f738dbb3e6c8dbb3e6bf85a3f0fe9ddbd93066e3f681db4be000080bfb603003fb503003fb9ff343fd31dfd3ec91dfd3e1f09373f693618be00c65b3f214cfbbe000080bf3acd133f3acd133f3bcd133f3fcd133f3acd133f36cd133f1206d1beec05513fc405d1be000080bf25611e3f4feff73e26611e3f62451f3fab52f33e5d451f3f24b687be2828603f4fbdcebe000080bf7d5cc53eaccf423e1a24673fcccfc33e01bd403e2594673f41a152bd8b5a7b3f2fef3abe000080bf56b4c83e6c535fb3d3826b3f202dc63e97c4c33d14c66a3f5c021dbdd8d37e3f3f5bb3bd000080bfc37a073f8d4fb43e7e9e453f86e2063f26f5b13e928e463f10bc26be0bdb6f3f96569ebe000080bf16fc293f0807b03e14fc293f08552a3fc551ad3e09552a3fb99458be92b3703fe1a188be000080bf917f0d3f553a3a3edd32503fabf90c3f20fb373e82ad503f6961a9bd95c67b3fbbc324be000080bff1ca0f3f00bd5eb30fcd533f3ca20e3fb215bc3d7447533f725b5abdddea7e3ff23999bd000080bfdf20323f0647363edf20323f7833323f3bfd333e7b33323faa95ddbd0af37b3f67af0fbe000080bff404353fe7b85bb3f504353fee47343fb1c9b83df047343f16aa82bdaef47e3f42aa82bd000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0.49999997, z: 0} + m_Extent: {x: 1, y: 0.50000006, z: 1} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/CapsuleHead.asset.meta b/Runtime/Meshes/CapsuleHead.asset.meta new file mode 100644 index 0000000..07be6d2 --- /dev/null +++ b/Runtime/Meshes/CapsuleHead.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 680b0056ea1c4a94ea8d1151f43aead6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/Circle.asset b/Runtime/Meshes/Circle.asset new file mode 100644 index 0000000..4ff1534 --- /dev/null +++ b/Runtime/Meshes/Circle.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Circle + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 180 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 64 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.99999994, y: 1, z: 0.0000000754979} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020002000300000002000400030004000500030004000600050006000700050006000800070008000900070008000a0009000a000b0009000a000c000b000c000d000b000c000e000d000e000f000d000e0010000f00100011000f0010001200110012001300110012001400130014001500130014001600150016001700150016001800170018001900170018001a0019001a001b0019001a001c001b001c001d001b001c001e001d001e001f001d0020002100220022002300200022002400230024002500230024002600250026002700250026002800270028002900270028002a0029002a002b0029002a002c002b002c002d002b002c002e002d002e002f002d002e0030002f00300031002f0030003200310032003300310032003400330034003500330034003600350036003700350036003800370038003900370038003a0039003a003b0039003a003c003b003c003d003b003c003e003d003e003f003d00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 64 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 2560 + _typelessdata: bd147bbfc1c547be6d0a7db20000000000000000000080bf0000803f0000000000000000000080bfffff7fbf61188632dbd9a9260000000000000000000080bf0000803f0000000000000000000080bfbd147bbfc3c5473e700a7d320000000000000000000080bf0000803f0000000000000000000080bf5d836cbf15efc3bebb2df8b20000000000000000000080bf0000803f0000000000000000000080bf5d836cbf17efc33ebd2df8320000000000000000000080bf0000803f0000000000000000000080bf30db54bfda390ebf572634b30000000000000000000080bf0000803f0000000000000000000080bf30db54bfda390e3f572634330000000000000000000080bf0000803f0000000000000000000080bff20435bff30435bf834965b30000000000000000000080bf0000803f0000000000000000000080bff20435bff304353f834965330000000000000000000080bf0000803f0000000000000000000080bfd9390ebf31db54bf7dce86b30000000000000000000080bf0000803f0000000000000000000080bfd9390ebf31db543f7dce86330000000000000000000080bf0000803f0000000000000000000080bf15efc3be5e836cbfffc995b30000000000000000000080bf0000803f0000000000000000000080bf15efc3be5e836c3fffc995330000000000000000000080bf0000803f0000000000000000000080bfc1c547bebe147bbfe5039fb30000000000000000000080bf0000803f0000000000000000000080bfc1c547bebe147b3fe5039f330000000000000000000080bf0000803f0000000000000000000080bf00008026000080bf6921a2b30000000000000000000080bf0000803f0000000000000000000080bf000080260000803f6921a2330000000000000000000080bf0000803f0000000000000000000080bfc1c5473ebe147bbfe5039fb30000000000000000000080bf0000803f0000000000000000000080bfc1c5473ebe147b3fe5039f330000000000000000000080bf0000803f0000000000000000000080bf15efc33e5e836cbfffc995b30000000000000000000080bf0000803f0000000000000000000080bf15efc33e5e836c3fffc995330000000000000000000080bf0000803f0000000000000000000080bfd9390e3f31db54bf7dce86b30000000000000000000080bf0000803f0000000000000000000080bfd9390e3f31db543f7dce86330000000000000000000080bf0000803f0000000000000000000080bff204353ff30435bf834965b30000000000000000000080bf0000803f0000000000000000000080bff204353ff304353f834965330000000000000000000080bf0000803f0000000000000000000080bf30db543fda390ebf572634b30000000000000000000080bf0000803f0000000000000000000080bf30db543fda390e3f572634330000000000000000000080bf0000803f0000000000000000000080bf5d836c3f15efc3bebb2df8b20000000000000000000080bf0000803f0000000000000000000080bf5d836c3f17efc33ebd2df8320000000000000000000080bf0000803f0000000000000000000080bfbd147b3fc1c547be6d0a7db20000000000000000000080bf0000803f0000000000000000000080bfbd147b3fc3c5473e700a7d320000000000000000000080bf0000803f0000000000000000000080bfffff7f3f61188632dbd9a9260000000000000000000080bf0000803f0000000000000000000080bfbd147bbfc3c5473e700a7d3200000000000000000000803f0000803f0000000000000000000080bfffff7fbf61188632dbd9a92600000000000000000000803f0000803f0000000000000000000080bfbd147bbfc1c547be6d0a7db200000000000000000000803f0000803f0000000000000000000080bf5d836cbf17efc33ebd2df83200000000000000000000803f0000803f0000000000000000000080bf5d836cbf15efc3bebb2df8b200000000000000000000803f0000803f0000000000000000000080bf30db54bfda390e3f5726343300000000000000000000803f0000803f0000000000000000000080bf30db54bfda390ebf572634b300000000000000000000803f0000803f0000000000000000000080bff20435bff304353f8349653300000000000000000000803f0000803f0000000000000000000080bff20435bff30435bf834965b300000000000000000000803f0000803f0000000000000000000080bfd9390ebf31db543f7dce863300000000000000000000803f0000803f0000000000000000000080bfd9390ebf31db54bf7dce86b300000000000000000000803f0000803f0000000000000000000080bf15efc3be5e836c3fffc9953300000000000000000000803f0000803f0000000000000000000080bf15efc3be5e836cbfffc995b300000000000000000000803f0000803f0000000000000000000080bfc1c547bebe147b3fe5039f3300000000000000000000803f0000803f0000000000000000000080bfc1c547bebe147bbfe5039fb300000000000000000000803f0000803f0000000000000000000080bf000080260000803f6921a23300000000000000000000803f0000803f0000000000000000000080bf00008026000080bf6921a2b300000000000000000000803f0000803f0000000000000000000080bfc1c5473ebe147b3fe5039f3300000000000000000000803f0000803f0000000000000000000080bfc1c5473ebe147bbfe5039fb300000000000000000000803f0000803f0000000000000000000080bf15efc33e5e836c3fffc9953300000000000000000000803f0000803f0000000000000000000080bf15efc33e5e836cbfffc995b300000000000000000000803f0000803f0000000000000000000080bfd9390e3f31db543f7dce863300000000000000000000803f0000803f0000000000000000000080bfd9390e3f31db54bf7dce86b300000000000000000000803f0000803f0000000000000000000080bff204353ff304353f8349653300000000000000000000803f0000803f0000000000000000000080bff204353ff30435bf834965b300000000000000000000803f0000803f0000000000000000000080bf30db543fda390e3f5726343300000000000000000000803f0000803f0000000000000000000080bf30db543fda390ebf572634b300000000000000000000803f0000803f0000000000000000000080bf5d836c3f17efc33ebd2df83200000000000000000000803f0000803f0000000000000000000080bf5d836c3f15efc3bebb2df8b200000000000000000000803f0000803f0000000000000000000080bfbd147b3fc3c5473e700a7d3200000000000000000000803f0000803f0000000000000000000080bfbd147b3fc1c547be6d0a7db200000000000000000000803f0000803f0000000000000000000080bfffff7f3f61188632dbd9a92600000000000000000000803f0000803f0000000000000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.99999994, y: 1, z: 0.0000000754979} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/Circle.asset.meta b/Runtime/Meshes/Circle.asset.meta new file mode 100644 index 0000000..ca70820 --- /dev/null +++ b/Runtime/Meshes/Circle.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9562c98b68a01114982744ae16e1fc60 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/Dot.asset b/Runtime/Meshes/Dot.asset new file mode 100644 index 0000000..28f4918 --- /dev/null +++ b/Runtime/Meshes/Dot.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Dot + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 18 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 8 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200020003000000020004000300040005000300040006000500060007000500 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 8 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 320 + _typelessdata: f304b5bef304b5bec2a472b30000000000000000000080bf0000803f0000000000000000000080bf000000bf01000025feffffa40000000000000000000080bf0000803f0000000000000000000080bff304b5bef304b53ec2a472330000000000000000000080bf0000803f0000000000000000000080bf00008031000000bfb41091b30000000000000000000080bf0000803f0000000000000000000080bf000080310000003fb41091330000000000000000000080bf0000803f0000000000000000000080bff304b53ef304b5bec2a472b30000000000000000000080bf0000803f0000000000000000000080bff304b53ef304b53ec2a472330000000000000000000080bf0000803f0000000000000000000080bf0000003f010000a5feffff240000000000000000000080bf0000803f0000000000000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/Dot.asset.meta b/Runtime/Meshes/Dot.asset.meta new file mode 100644 index 0000000..05afb24 --- /dev/null +++ b/Runtime/Meshes/Dot.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55e9b57fa1749fb44a0a8af31492cf8f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/DotCross.asset b/Runtime/Meshes/DotCross.asset new file mode 100644 index 0000000..83f3cf0 --- /dev/null +++ b/Runtime/Meshes/DotCross.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DotCross + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 12 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 8 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.49992818, y: 0.49992818, z: 0.00000003774353} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300040005000600040006000700 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 8 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 320 + _typelessdata: d660c4be96f6ff3e731b22b30000000000000000000080bff30435bff30435bf00000000000080bf96f6ff3ed660c4bed1bdf8320000000000000000000080bff30435bff30435bf00000000000080bfd660c43e96f6ffbe731b22330000000000000000000080bff30435bff30435bf00000000000080bf96f6ffbed660c43ed1bdf8b20000000000000000000080bff30435bff30435bf00000000000080bf96f6ffbed960c4bed5bdf8320000000000000000000080bffa04353fec0435bf00000000000080bfd560c43e96f6ff3e731b22b30000000000000000000080bffa04353fec0435bf00000000000080bf96f6ff3ed960c43ed5bdf8b20000000000000000000080bffa04353fec0435bf00000000000080bfd560c4be96f6ffbe731b22330000000000000000000080bffa04353fec0435bf00000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.49992818, y: 0.49992818, z: 0.00000003774353} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/DotCross.asset.meta b/Runtime/Meshes/DotCross.asset.meta new file mode 100644 index 0000000..1116809 --- /dev/null +++ b/Runtime/Meshes/DotCross.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: afb2b2e92f0bbc14f90dfd73ec23147e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/DotDiamond.asset b/Runtime/Meshes/DotDiamond.asset new file mode 100644 index 0000000..9e1a3db --- /dev/null +++ b/Runtime/Meshes/DotDiamond.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DotDiamond + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 6 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 4 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.7071068, y: 0.7071068, z: 0.000000096981736} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 4 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 160 + _typelessdata: f404353f000080324644d0b30000000000000000000080bff30435bff304353f00000000000080bf00000033f40435bf34ce32320000000000000000000080bff30435bff204353f00000000000080bff40435bf000040b34644d0330000000000000000000080bff30435bff304353f00000000000080bf000000b3f404353f34ce32b20000000000000000000080bff30435bff304353f00000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.7071068, y: 0.7071068, z: 0.000000096981736} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/DotDiamond.asset.meta b/Runtime/Meshes/DotDiamond.asset.meta new file mode 100644 index 0000000..53c8224 --- /dev/null +++ b/Runtime/Meshes/DotDiamond.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ac643f6b8e4973418e9f71737d86d9c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/FlatCapsuleBody.asset b/Runtime/Meshes/FlatCapsuleBody.asset new file mode 100644 index 0000000..9340707 --- /dev/null +++ b/Runtime/Meshes/FlatCapsuleBody.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FlatCapsuleBody + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 12 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 8 + localAABB: + m_Center: {x: 0, y: 0, z: 0.000000029802322} + m_Extent: {x: 0.99999994, y: 0.5, z: 0.00000012715591} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300040005000600040006000700 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 8 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 320 + _typelessdata: ffff7f3f000000bf692122b300000000000000000000803f000080bf0000000000000000000080bfffff7f3f0000003fb410d13300000000000000000000803f000080bf0000000000000000000080bfffff7fbf0000003fb410d13300000000000000000000803f000080bf0000000000000000000080bfffff7fbf000000bf692122b300000000000000000000803f000080bf0000000000000000000080bfffff7f3f000000bfb410d1b30000000000000000000080bf000080bf00000000000000000000803fffff7fbf000000bfb410d1b30000000000000000000080bf000080bf00000000000000000000803fffff7fbf0000003f5a8828340000000000000000000080bf000080bf00000000000000000000803fffff7f3f0000003f5a8828340000000000000000000080bf000080bf00000000000000000000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0.000000029802322} + m_Extent: {x: 0.99999994, y: 0.5, z: 0.00000012715591} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/FlatCapsuleBody.asset.meta b/Runtime/Meshes/FlatCapsuleBody.asset.meta new file mode 100644 index 0000000..f870960 --- /dev/null +++ b/Runtime/Meshes/FlatCapsuleBody.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 237f8e83fbf23c84b906b853c51a868b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/FlatCapsuleHead.asset b/Runtime/Meshes/FlatCapsuleHead.asset new file mode 100644 index 0000000..83146aa --- /dev/null +++ b/Runtime/Meshes/FlatCapsuleHead.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FlatCapsuleHead + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 90 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 34 + localAABB: + m_Center: {x: 0, y: 0.49999627, z: 0.000000057387872} + m_Extent: {x: 1, y: 0.5000037, z: 0.00000019174826} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020002000300000003000400000004000500000005000600000006000700000007000800000008000900000009000a0000000a000b0000000b000c0000000c000d0000000d000e0000000e000f0000000f001000000011001200130013001400110013001500140013001600150013001700160013001800170013001900180013001a00190013001b001a0013001c001b0013001d001c0013001e001d0013001f001e00130020001f00130021002000 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 34 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1360 + _typelessdata: 0000803f0000f836b34410340000000000000000000080bf0000803f0000000000000000000080bf000080bf0000f8b6b34410b40000000000000000000080bf0000803f0000000000000000000080bfd6147bbfd8c3473e142506b30000000000000000000080bf0000803f0000000000000000000080bf8e836cbf30eec33ec18d87320000000000000000000080bf0000803f0000000000000000000080bf77db54bf72390e3f46778a330000000000000000000080bf0000803f0000000000000000000080bf4a0535bf9a04353f26a4f2330000000000000000000080bf0000803f0000000000000000000080bf403a0ebfebda543f3069d6330000000000000000000080bf0000803f0000000000000000000080bffaefc3be2e836c3f6ff838340000000000000000000080bf0000803f0000000000000000000080bfacc747bea4147b3f5bdb50340000000000000000000080bf0000803f0000000000000000000080bf0000fab6ffff7f3ff95461340000000000000000000080bf0000803f0000000000000000000080bfdcc3473ed6147b3fc92569340000000000000000000080bf0000803f0000000000000000000080bf32eec33e8d836c3f806367340000000000000000000080bf0000803f0000000000000000000080bf73390e3f76db543f02c185340000000000000000000080bf0000803f0000000000000000000080bf9b04353f4905353fcc5845340000000000000000000080bf0000803f0000000000000000000080bfecda543f3f3a0e3f782435340000000000000000000080bf0000803f0000000000000000000080bf2e836c3ffcefc33e74841b340000000000000000000080bf0000803f0000000000000000000080bfa6147b3fa8c7473ea9e9f2330000000000000000000080bf0000803f0000000000000000000080bfd6147bbfd8c3473e8a54823300000000000000000000803f0000803f0000000000000000000080bf000080bf0000f8b66544103400000000000000000000803f0000803f0000000000000000000080bf0000803f0000f836654410b400000000000000000000803f0000803f0000000000000000000080bf8e836cbf30eec33eb865343300000000000000000000803f0000803f0000000000000000000080bf77db54bf72390e3f36baa63200000000000000000000803f0000803f0000000000000000000080bf4a0535bf9a04353f30b1d5b100000000000000000000803f0000803f0000000000000000000080bf403a0ebfebda543fc2cddc3200000000000000000000803f0000803f0000000000000000000080bffaefc3be2e836c3f38ba0cb300000000000000000000803f0000803f0000000000000000000080bfacc747bea4147b3f1c5e47b300000000000000000000803f0000803f0000000000000000000080bf0000fab6ffff7f3f44ce7cb300000000000000000000803f0000803f0000000000000000000080bfdcc3473ed6147b3faa4394b300000000000000000000803f0000803f0000000000000000000080bf32eec33e8d836c3fc732a3b300000000000000000000803f0000803f0000000000000000000080bf73390e3f76db543f5cb304b400000000000000000000803f0000803f0000000000000000000080bf9b04353f4905353fa867a5b300000000000000000000803f0000803f0000000000000000000080bfecda543f3f3a0e3f1822b6b300000000000000000000803f0000803f0000000000000000000080bf2e836c3ffcefc33e78f1bab300000000000000000000803f0000803f0000000000000000000080bfa6147b3fa8c7473e73a6b3b300000000000000000000803f0000803f0000000000000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0.49999627, z: 0.000000057387872} + m_Extent: {x: 1, y: 0.5000037, z: 0.00000019174826} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/FlatCapsuleHead.asset.meta b/Runtime/Meshes/FlatCapsuleHead.asset.meta new file mode 100644 index 0000000..c62ea39 --- /dev/null +++ b/Runtime/Meshes/FlatCapsuleHead.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec79aa24b6bae5d42b0701bb81e3ced6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/Quad.asset b/Runtime/Meshes/Quad.asset new file mode 100644 index 0000000..cf1710a --- /dev/null +++ b/Runtime/Meshes/Quad.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Quad + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 12 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 8 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300040005000600040006000700 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 8 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 320 + _typelessdata: 0000003f000000bfa48508b200000000000000000000803f000080bf0000000000000000000080bf0000003f0000003fa485083200000000000000000000803f000080bf0000000000000000000080bf000000bf0000003fa485083200000000000000000000803f000080bf0000000000000000000080bf000000bf000000bfa48508b200000000000000000000803f000080bf0000000000000000000080bf0000003f000000bfb41091b30000000000000000000080bf000080bf00000000000000000000803f000000bf000000bfb41091b30000000000000000000080bf000080bf00000000000000000000803f000000bf0000003fb41091330000000000000000000080bf000080bf00000000000000000000803f0000003f0000003fb41091330000000000000000000080bf000080bf00000000000000000000803f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.00000006755127} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/Quad.asset.meta b/Runtime/Meshes/Quad.asset.meta new file mode 100644 index 0000000..4503e47 --- /dev/null +++ b/Runtime/Meshes/Quad.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f0a87cd81a5904842bfbbcda9c35e91a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/Sphere.asset b/Runtime/Meshes/Sphere.asset new file mode 100644 index 0000000..621d3bb --- /dev/null +++ b/Runtime/Meshes/Sphere.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sphere + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 240 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 42 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.95105785, y: 1, z: 0.99999994} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300020001000400050001000000040001000600060001000500070000000300050000000800080000000700030002000900020004000a00090002000a000b00070003000c00030009000b0003000c000d00080007000d0007000b000e0009000a000c0009000e000f0005000800060005001000100005000f0011000f000800110008000d00120010000f0012000f00110013000b000c000d000b00140014000b001300150011000d0015000d00140013000c0016000c000e0016001700110015001200110017001500140018001800170015001400130019001900130016001400190018001a00100012001b00120017001b001a0012001c00170018001c001b001700180019001d001d001c001800190016001e001d0019001e0016000e001f001e0016001f001c0020001b0020001a001b001d0021001c001d001e002100210020001c001a00220010002200060010001f000e0023000e000a0023001e001f0024001e00240021001f002300240025001a002000250022001a002600060022002500260022000400060026000a000400270023000a002700270004002600210028002000210024002800280025002000230027002900290027002600230029002400240029002800280029002500290026002500 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 42 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1680 + _typelessdata: 3a9606bf4fc4593fa6ea8933389606bf50c4593f000000000000803f0000000000000000000080bf000000000000803f6921a233000000000000803f000000000000803f0000000000000000000080bfc05a26be7dc4593f5fffffbe1c5b26be6dc4593f83ffffbe0000803f0000000000000000000080bf2e2d30bfa796063f98ffffbe2e2d30bf8696063fd8ffffbe0000803f0000000000000000000080bfe5c3d93e79c4593fbc369ebe00c4d93e69c4593ff0369ebe0000803f0000000000000000000080bfc05a26be7bc4593f63ffff3e1d5b26be6dc4593f88ffff3e0000803f0000000000000000000080bfe5c3d93e79c4593fc0369e3effc3d93e69c4593ff5369e3e0000803f0000000000000000000080bf1ef964bf72f9e43ebc03113321f964bf61f9e43e000000000000803f0000000000000000000080bf2e2d30bfa596063f9affff3e2f2d30bf8496063fdaffff3e0000803f0000000000000000000080bfbb828dbe02fae43e25c459bfe3828dbed0f9e43e2cc459bf0000803f0000000000000000000080bfbe96863ebf96063f621b4fbfc296863e9996063f7b1b4fbf0000803f0000000000000000000080bf877873bfc866c832e7369ebe7a7873bf000000003d379ebe0000803f0000000000000000000080bf1e7916bf922a8333b81b4fbf237916bf00000000b51b4fbf0000803f0000000000000000000080bf877873bfc866c8b2e7369e3e7a7873bf000000003e379e3e0000803f0000000000000000000080bf000000006821a233ffff7fbf0000000000000000000080bf0000803f0000000000000000000080bfbb828dbefef9e43e27c4593fe3828dbecbf9e43e2cc4593f0000803f0000000000000000000080bfbe96863ebd96063f641b4f3fc496863e9596063f7c1b4f3f0000803f0000000000000000000080bf1e7916bf922a83b3b81b4f3f257916bf00000000b31b4f3f0000803f0000000000000000000080bf000000006821a2b3ffff7f3f00000000000000000000803f0000803f0000000000000000000080bf543e39bff4f9e4bef09506bf5b3e39bfa0f9e4be0a9606bf0000803f0000000000000000000080bf0fc459bfa19606bfc5792ab31fc459bf889606bf000000000000803f0000000000000000000080bf543e39bff6f9e4beee95063f5a3e39bfa6f9e4be0996063f0000803f0000000000000000000080bfbe9686bebd9606bf641b4fbfc59686be979606bf7e1b4fbf0000803f0000000000000000000080bfbe9686bebf9606bf621b4f3fc09686be999606bf7b1b4f3f0000803f0000000000000000000080bfe5c3d9be79c459bfbc369e3e00c4d9be69c459bff2369e3e0000803f0000000000000000000080bfe5c3d9be79c459bfc0369ebe01c4d9be69c459bff6369ebe0000803f0000000000000000000080bf1e79163f922a83b3b81b4f3f2479163f00000000b51b4f3f0000803f0000000000000000000080bfbb828d3e02fae4be25c4593fe1828d3ed0f9e4be2cc4593f0000803f0000000000000000000080bfc05a263e7ec459bf5fffff3e1b5b263e6dc459bf85ffff3e0000803f0000000000000000000080bf00000000000080bf6921a2b300000000000080bf000000000000803f0000000000000000000080bfc05a263e7cc459bf63ffffbe205b263e6cc459bf8bffffbe0000803f0000000000000000000080bfbb828d3efef9e4be27c459bfe1828d3ecbf9e4be2cc459bf0000803f0000000000000000000080bf2e2d303fa79606bf98ffff3e2e2d303f879606bfd8ffff3e0000803f0000000000000000000080bf3a96063f4fc459bfa6ea89b33996063f4fc459bf000000000000803f0000000000000000000080bf543e393ff4f9e43ef095063f5b3e393fa0f9e43e0a96063f0000803f0000000000000000000080bf1e79163f922a8333b81b4fbf2479163f00000000b31b4fbf0000803f0000000000000000000080bf2e2d303fa59606bf9affffbe2f2d303f849606bfd8ffffbe0000803f0000000000000000000080bf8778733fc866c8b2e7369e3e7a78733f000000003e379e3e0000803f0000000000000000000080bf0fc4593fa196063fc5792a331fc4593f8596063f000000000000803f0000000000000000000080bf543e393ff6f9e43eee9506bf5b3e393fa4f9e43e089606bf0000803f0000000000000000000080bf1ef9643f72f9e4bebc0311b321f9643f61f9e4be000000000000803f0000000000000000000080bf8778733fc866c832e7369ebe7a78733f000000003f379ebe0000803f0000000000000000000080bf + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.95105785, y: 1, z: 0.99999994} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/Sphere.asset.meta b/Runtime/Meshes/Sphere.asset.meta new file mode 100644 index 0000000..6075808 --- /dev/null +++ b/Runtime/Meshes/Sphere.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 873de0939b7f76947a258a8897199a8e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/WireArc.asset b/Runtime/Meshes/WireArc.asset new file mode 100644 index 0000000..1eb3b4f --- /dev/null +++ b/Runtime/Meshes/WireArc.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WireArc + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 64 + topology: 3 + baseVertex: 0 + firstVertex: 0 + vertexCount: 33 + localAABB: + m_Center: {x: 0, y: 0.5, z: 0} + m_Extent: {x: 1, y: 0.5, z: 0} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 0000010002000000030002000400030005000400060005000700060008000700090008000a0009000b000a000c000b000d000c000e000d000f000e0010000f001100100012001100130012001400130015001400160015001700160018001700190018001a0019001b001a001c001b001d001c001e001d001f001e0020001f00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 33 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 396 + _typelessdata: 72c47ebf23bdc83d00000000000080bf0000000000000000ba147bbfacc5473e0000000005fa74bf3ca0943e0000000066836cbf07efc33e0000000093c561bff35af13e0000000038db54bfd6390e3f00000000fce345bf9467223f00000000f70435bff704353f00000000946722bffce3453f00000000d6390ebf38db543f00000000f35af1be93c5613f0000000007efc3be66836c3f000000003ca094be05fa743f00000000acc547beba147b3f0000000023bdc8bd72c47e3f00000000000000000000803f0000000023bdc83d72c47e3f00000000acc5473eba147b3f000000003ca0943e05fa743f0000000007efc33e66836c3f00000000f35af13e93c5613f00000000d6390e3f38db543f000000009467223ffce3453f00000000f704353ff704353f00000000fce3453f9467223f0000000038db543fd6390e3f0000000093c5613ff35af13e0000000066836c3f07efc33e0000000005fa743f3ca0943e00000000ba147b3facc5473e0000000072c47e3f23bdc83d000000000000803f0000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0.5, z: 0} + m_Extent: {x: 1, y: 0.5, z: 0} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/WireArc.asset.meta b/Runtime/Meshes/WireArc.asset.meta new file mode 100644 index 0000000..f29bb13 --- /dev/null +++ b/Runtime/Meshes/WireArc.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1854f56b8def82f47938a7ea45de39e0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/WireCircle.asset b/Runtime/Meshes/WireCircle.asset new file mode 100644 index 0000000..06ab085 --- /dev/null +++ b/Runtime/Meshes/WireCircle.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WireCircle + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 128 + topology: 3 + baseVertex: 0 + firstVertex: 0 + vertexCount: 64 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 0.9999999, z: 0.00000011920928} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100000002000200030003000400040005000500060006000700070008000800090009000a000a000b000b000c000c000d000d000e000e000f000f00100010001100110012001200130013001400140015001500160016001700170018001800190019001a001a001b001b001c001c001d001d001e001e001f001f00200020002100210022002200230023002400240025002500260026002700270028002800290029002a002a002b002b002c002c002d002d002e002e002f002f00300030003100310032003200330033003400340035003500360036003700370038003800390039003a003a003b003b003c003c003d003d003e003e003f003f000100 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 64 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1536 + _typelessdata: 0000803f00000000000000000000000000000000000000006ec47e3f02bdc83d03bd48b20000000000000000000000006dc47e3f34bdc8bd35bd4832000000000000000000000000be147b3fc0c547bec1c5c7320000000000000000000000000bfa743f2fa094be30a014330000000000000000000000005e836c3f14efc3be15ef433300000000000000000000000097c5613fe85af1bee95a713300000000000000000000000031db543fd8390ebfd9398e3300000000000000000000000003e4453f986722bf9967a233000000000000000000000000f304353ff10435bff204b5330000000000000000000000009967223f01e445bf02e4c533000000000000000000000000d9390e3f30db54bf31dbd433000000000000000000000000e75af13e96c561bf97c5e13300000000000000000000000015efc33e5c836cbf5d83ec3300000000000000000000000030a0943e09fa74bf0afaf433000000000000000000000000bcc5473ebd147bbfbe14fb3300000000000000000000000035bdc83d6bc47ebf6cc4fe330000000000000000000000002ebd3bb3feff7fbfffffff3300000000000000000000000041bdc8bd6bc47ebf6cc4fe33000000000000000000000000c2c547bebc147bbfbd14fb3300000000000000000000000033a094be08fa74bf09faf43300000000000000000000000018efc3be5c836cbf5d83ec33000000000000000000000000ed5af1be95c561bf96c5e133000000000000000000000000dc390ebf2edb54bf2fdbd433000000000000000000000000996722bf02e445bf03e4c533000000000000000000000000f30435bff10435bff204b53300000000000000000000000004e445bf976722bf9867a23300000000000000000000000032db54bfd7390ebfd8398e3300000000000000000000000099c561bfe45af1bee55a713300000000000000000000000060836cbf0eefc3be0fef43330000000000000000000000000bfa74bf31a094be32a01433000000000000000000000000bf147bbfbfc547bec0c5c7320000000000000000000000006dc47ebf2ebdc8bd2fbd4832000000000000000000000000000080bf2cbdbb332dbd3ba80000000000000000000000006dc47ebf45bdc83d46bd48b2000000000000000000000000be147bbfcbc5473eccc5c7b20000000000000000000000000afa74bf36a0943e37a014b30000000000000000000000005e836cbf13efc33e14ef43b300000000000000000000000097c561bfe95af13eea5a71b300000000000000000000000030db54bfd9390e3fda398eb300000000000000000000000002e445bf9967223f9a67a2b3000000000000000000000000f10435bff304353ff404b5b30000000000000000000000009a6722bf01e4453f02e4c5b3000000000000000000000000d6390ebf32db543f33dbd4b3000000000000000000000000e85af1be96c5613f97c5e1b30000000000000000000000000befc3be5f836c3f6083ecb30000000000000000000000002da094be09fa743f0afaf4b3000000000000000000000000c6c547bebc147b3fbd14fbb30000000000000000000000001abdc8bd6bc47e3f6cc4feb30000000000000000000000002ede4c32feff7f3fffffffb30000000000000000000000005dbdc83d6bc47e3f6cc4feb3000000000000000000000000c8c5473ebc147b3fbd14fbb30000000000000000000000003da0943e07fa743f08faf4b30000000000000000000000001befc33e5b836c3f5c83ecb3000000000000000000000000e95af13e96c5613f97c5e1b3000000000000000000000000dd390e3f2ddb543f2edbd4b30000000000000000000000009a67223f01e4453f02e4c5b3000000000000000000000000f704353fed04353fee04b5b300000000000000000000000005e4453f9567223f9667a2b300000000000000000000000031db543fd9390e3fda398eb300000000000000000000000099c5613fe15af13ee25a71b30000000000000000000000005f836c3f13efc33e14ef43b30000000000000000000000000cfa743f26a0943e27a014b3000000000000000000000000bf147b3fbac5473ebbc5c7b2000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 0.9999999, z: 0.00000011920928} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/WireCircle.asset.meta b/Runtime/Meshes/WireCircle.asset.meta new file mode 100644 index 0000000..4f7b3ee --- /dev/null +++ b/Runtime/Meshes/WireCircle.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e994291d266ec80419574a7d36415359 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/WireCube.asset b/Runtime/Meshes/WireCube.asset new file mode 100644 index 0000000..19829c5 --- /dev/null +++ b/Runtime/Meshes/WireCube.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WireCube + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 24 + topology: 3 + baseVertex: 0 + firstVertex: 0 + vertexCount: 8 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000100020002000300030000000000040001000500020006000300070004000500050006000600070007000400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 8 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 96 + _typelessdata: 000000bf000000bf000000bf0000003f000000bf000000bf0000003f000000bf0000003f000000bf000000bf0000003f000000bf0000003f000000bf0000003f0000003f000000bf0000003f0000003f0000003f000000bf0000003f0000003f + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/WireCube.asset.meta b/Runtime/Meshes/WireCube.asset.meta new file mode 100644 index 0000000..6e47032 --- /dev/null +++ b/Runtime/Meshes/WireCube.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51365e5b6ca1b8d438fe39907bcb22c3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/WireLine.asset b/Runtime/Meshes/WireLine.asset new file mode 100644 index 0000000..245c8f1 --- /dev/null +++ b/Runtime/Meshes/WireLine.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WireLine + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 2 + topology: 3 + baseVertex: 0 + firstVertex: 0 + vertexCount: 2 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 1, z: 1} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 2 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 48 + _typelessdata: 000080bf000080bf000080bf0000000000000000000000000000803f0000803f0000803f000000000000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 1, z: 1} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/WireLine.asset.meta b/Runtime/Meshes/WireLine.asset.meta new file mode 100644 index 0000000..1e8b72f --- /dev/null +++ b/Runtime/Meshes/WireLine.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90a8d28d32c4d5843b8d25d1654ce32f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Meshes/WireSphere.asset b/Runtime/Meshes/WireSphere.asset new file mode 100644 index 0000000..bb0e979 --- /dev/null +++ b/Runtime/Meshes/WireSphere.asset @@ -0,0 +1,167 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: WireSphere + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 384 + topology: 3 + baseVertex: 0 + firstVertex: 0 + vertexCount: 192 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 1, z: 0.99999994} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 0000010002000300040005000000060002000700040008000600090007000a0008000b0009000c000a000d000b000e000c000f000d0010000e0011000f0012001000130011001400120015001300160014001700150018001600190017001a0018001b0019001c001a001d001b001e001c001f001d0020001e0021001f0022002000230021002400220025002300260024002700250028002600290027002a0028002b0029002c002a002d002b002e002c002f002d0030002e0031002f0032003000330031003400320035003300360034003700350038003600390037003a0038003b0039003c003a003d003b003e003c003f003d0040003e0041003f0042004000430041004400420045004300460044004700450048004600490047004a0048004b0049004c004a004d004b004e004c004f004d0050004e0051004f0052005000530051005400520055005300560054005700550058005600590057005a0058005b0059005c005a005d005b005e005c005f005d0060005e0061005f0062006000630061006400620065006300660064006700650068006600690067006a0068006b0069006c006a006d006b006e006c006f006d0070006e0071006f0072007000730071007400720075007300760074007700750078007600790077007a0078007b0079007c007a007d007b007e007c007f007d0080007e0081007f0082008000830081008400820085008300860084008700850088008600890087008a0088008b0089008c008a008d008b008e008c008f008d0090008e0091008f0092009000930091009400920095009300960094009700950098009600990097009a0098009b0099009c009a009d009b009e009c009f009d00a0009e00a1009f00a200a000a300a100a400a200a500a300a600a400a700a500a800a600a900a700aa00a800ab00a900ac00aa00ad00ab00ae00ac00af00ad00b000ae00b100af00b200b000b300b100b400b200b500b300b600b400b700b500b800b600b900b700ba00b800bb00b900bc00ba00bd00bb00be00bc00bf00bd000100be000300bf000500 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 192 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 2304 + _typelessdata: 0000803f00000000000000006ec47e3f04bdc8bd000000000000803300000000ffff7fbf6ec47e3304bdc8bd6dc47ebf0000803f00000000000000006ec47e3f04bdc8b103bdc8bd6dc47e3f36bdc83d000000006dc47e3336bdc83d6cc47ebf6dc47e3f36bdc83135bdc83dbe147b3fc2c5473e00000000be147b33c2c5473ebd147bbfbe147b3fc2c54732c1c5473e0bfa743f31a0943e000000000bfa743331a0943e0afa74bf0bfa743f31a0943230a0943e5e836c3f16efc33e000000005e836c3316efc33e5d836cbf5e836c3f16efc33215efc33e97c5613fea5af13e0000000097c56133ea5af13e96c561bf97c5613fea5af132e95af13e31db543fda390e3f0000000031db5433da390e3f30db54bf31db543fda390e33d9390e3f03e4453f9a67223f0000000003e445339a67223f02e445bf03e4453f9a6722339967223ff304353ff304353f00000000f3043533f304353ff20435bff304353ff3043533f204353f9967223f03e4453f000000009967223303e4453f986722bf9967223f03e4453302e4453fd9390e3f32db543f00000000d9390e3332db543fd8390ebfd9390e3f32db543331db543fe75af13e98c5613f00000000e75af13298c5613fe65af1bee75af13e98c5613397c5613f15efc33e5e836c3f0000000015efc3325e836c3f14efc3be15efc33e5e836c335d836c3f30a0943e0bfa743f0000000030a094320bfa743f2fa094be30a0943e0bfa74330afa743fbcc5473ebf147b3f00000000bcc54732bf147b3fbbc547bebcc5473ebf147b33be147b3f35bdc83d6dc47e3f0000000035bdc8316dc47e3f34bdc8bd35bdc83d6dc47e336cc47e3f2ebd3bb30000803f000000002ebd3ba70000803f2dbd3b332ebd3bb300008033ffff7f3f41bdc8bd6dc47e3f0000000041bdc8b16dc47e3f40bdc83d41bdc8bd6dc47e336cc47e3fc2c547bebe147b3f00000000c2c547b2be147b3fc1c5473ec2c547bebe147b33bd147b3f33a094be0afa743f0000000033a094b20afa743f32a0943e33a094be0afa743309fa743f18efc3be5e836c3f0000000018efc3b25e836c3f17efc33e18efc3be5e836c335d836c3fed5af1be97c5613f00000000ed5af1b297c5613fec5af13eed5af1be97c5613396c5613fdc390ebf30db543f00000000dc390eb330db543fdb390e3fdc390ebf30db54332fdb543f996722bf04e4453f00000000996722b304e4453f9867223f996722bf04e4453303e4453ff30435bff304353f00000000f30435b3f304353ff204353ff30435bff3043533f204353f04e445bf9967223f0000000004e445b39967223f03e4453f04e445bf996722339867223f32db54bfd9390e3f0000000032db54b3d9390e3f31db543f32db54bfd9390e33d8390e3f99c561bfe65af13e0000000099c561b3e65af13e98c5613f99c561bfe65af132e55af13e60836cbf10efc33e0000000060836cb310efc33e5f836c3f60836cbf10efc3320fefc33e0bfa74bf33a0943e000000000bfa74b333a0943e0afa743f0bfa74bf33a0943232a0943ebf147bbfc1c5473e00000000bf147bb3c1c5473ebe147b3fbf147bbfc1c54732c0c5473e6dc47ebf30bdc83d000000006dc47eb330bdc83d6cc47e3f6dc47ebf30bdc8312fbdc83d000080bf2ebdbbb300000000000080b32ebdbbb3ffff7f3f000080bf2ebdbba72dbdbbb36dc47ebf47bdc8bd000000006dc47eb347bdc8bd6cc47e3f6dc47ebf47bdc8b146bdc8bdbe147bbfcdc547be00000000be147bb3cdc547bebd147b3fbe147bbfcdc547b2ccc547be0afa74bf38a094be000000000afa74b338a094be09fa743f0afa74bf38a094b237a094be5e836cbf15efc3be000000005e836cb315efc3be5d836c3f5e836cbf15efc3b214efc3be97c561bfeb5af1be0000000097c561b3eb5af1be96c5613f97c561bfeb5af1b2ea5af1be30db54bfdb390ebf0000000030db54b3db390ebf2fdb543f30db54bfdb390eb3da390ebf02e445bf9b6722bf0000000002e445b39b6722bf01e4453f02e445bf9b6722b39a6722bff10435bff50435bf00000000f10435b3f50435bff004353ff10435bff50435b3f40435bf9a6722bf03e445bf000000009a6722b303e445bf9967223f9a6722bf03e445b302e445bfd6390ebf34db54bf00000000d6390eb334db54bfd5390e3fd6390ebf34db54b333db54bfe85af1be98c561bf00000000e85af1b298c561bfe75af13ee85af1be98c561b397c561bf0befc3be61836cbf000000000befc3b261836cbf0aefc33e0befc3be61836cb360836cbf2da094be0bfa74bf000000002da094b20bfa74bf2ca0943e2da094be0bfa74b30afa74bfc6c547bebe147bbf00000000c6c547b2be147bbfc5c5473ec6c547bebe147bb3bd147bbf1abdc8bd6dc47ebf000000001abdc8b16dc47ebf19bdc83d1abdc8bd6dc47eb36cc47ebf2ede4c32000080bf000000002ede4c26000080bf2dde4cb22ede4c32000080b3ffff7fbf5dbdc83d6dc47ebf000000005dbdc8316dc47ebf5cbdc8bd5dbdc83d6dc47eb36cc47ebfc8c5473ebe147bbf00000000c8c54732be147bbfc7c547bec8c5473ebe147bb3bd147bbf3da0943e09fa74bf000000003da0943209fa74bf3ca094be3da0943e09fa74b308fa74bf1befc33e5d836cbf000000001befc3325d836cbf1aefc3be1befc33e5d836cb35c836cbfe95af13e98c561bf00000000e95af13298c561bfe85af1bee95af13e98c561b397c561bfdd390e3f2fdb54bf00000000dd390e332fdb54bfdc390ebfdd390e3f2fdb54b32edb54bf9a67223f03e445bf000000009a67223303e445bf996722bf9a67223f03e445b302e445bff704353fef0435bf00000000f7043533ef0435bff60435bff704353fef0435b3ee0435bf05e4453f976722bf0000000005e44533976722bf04e445bf05e4453f976722b3966722bf31db543fdb390ebf0000000031db5433db390ebf30db54bf31db543fdb390eb3da390ebf99c5613fe35af1be0000000099c56133e35af1be98c561bf99c5613fe35af1b2e25af1be5f836c3f15efc3be000000005f836c3315efc3be5e836cbf5f836c3f15efc3b214efc3be0cfa743f28a094be000000000cfa743328a094be0bfa74bf0cfa743f28a094b227a094bebf147b3fbcc547be00000000bf147b33bcc547bebe147bbfbf147b3fbcc547b2bbc547be + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 1, y: 1, z: 0.99999994} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: diff --git a/Runtime/Meshes/WireSphere.asset.meta b/Runtime/Meshes/WireSphere.asset.meta new file mode 100644 index 0000000..336da7d --- /dev/null +++ b/Runtime/Meshes/WireSphere.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 402dfb8e92b8fd54a91baaa8e99280b9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources.meta b/Runtime/Resources.meta new file mode 100644 index 0000000..2b0f0e7 --- /dev/null +++ b/Runtime/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a7a14ddea6ee20b41bdeee174c48dc25 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX.meta b/Runtime/Resources/DCFApixels.DebugX.meta new file mode 100644 index 0000000..6aacdca --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77248e86b544b3c49b4ed533ad33bd50 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX/Handles.shader b/Runtime/Resources/DCFApixels.DebugX/Handles.shader new file mode 100644 index 0000000..824aef2 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/Handles.shader @@ -0,0 +1,72 @@ +Shader "DCFApixels/DebugX/Handles" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off Fog { Mode Off } + Lighting Off + + ZTest On + + CGINCLUDE + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : SV_POSITION; + half4 color : COLOR; + }; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + UNITY_INSTANCING_BUFFER_END(Props) + + float4 _DebugX_GlobalColor; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color * UNITY_ACCESS_INSTANCED_PROP(Props, _Color) * _DebugX_GlobalColor; + return o; + } + ENDCG + + Pass + { + ZTest LEqual + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + Pass + { + ZTest Greater + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color * half4(1, 1, 1, 0.1); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Runtime/Resources/DCFApixels.DebugX/Handles.shader.meta b/Runtime/Resources/DCFApixels.DebugX/Handles.shader.meta new file mode 100644 index 0000000..6e7b3e0 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/Handles.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 37036939f3d0a824c82a3f34093d4a42 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader b/Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader new file mode 100644 index 0000000..a9cc194 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader @@ -0,0 +1,84 @@ +Shader "DCFApixels/DebugX/Handles Buillboard" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off Fog { Mode Off } + Lighting Off + + ZTest On + + CGINCLUDE + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : SV_POSITION; + half4 color : COLOR; + }; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + UNITY_INSTANCING_BUFFER_END(Props) + + float4 _DebugX_GlobalColor; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + + + float4 worldOrigin = mul(UNITY_MATRIX_M, float4(0, 0, 0, 1)); + float4 viewOrigin = float4(UnityObjectToViewPos(float3(0, 0, 0)), 1); + float4 worldPos = mul(UNITY_MATRIX_M, v.vertex); + + float4 viewPos = worldPos - worldOrigin + viewOrigin; + + float4 clipsPos = mul(UNITY_MATRIX_P, viewPos); + o.vertex = clipsPos; + + + //o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color * UNITY_ACCESS_INSTANCED_PROP(Props, _Color) * _DebugX_GlobalColor; + return o; + } + ENDCG + + Pass + { + ZTest LEqual + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + Pass + { + ZTest Greater + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color * half4(1, 1, 1, 0.1); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader.meta b/Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader.meta new file mode 100644 index 0000000..5162b8d --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesBillboard.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0fe57c76c30f7274f9ebb46c87d64036 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader b/Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader new file mode 100644 index 0000000..3d698d1 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader @@ -0,0 +1,105 @@ +Shader "DCFApixels/DebugX/Handles Dot" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off Fog { Mode Off } + Lighting Off + + ZTest On + + CGINCLUDE + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 vertex : SV_POSITION; + half4 color : COLOR; + }; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + UNITY_INSTANCING_BUFFER_END(Props) + + float _DebugX_GlobalDotSize; + float4 _DebugX_GlobalColor; + + float GetHandleSize(float3 objectPosition) + { + float3 viewDir = normalize(_WorldSpaceCameraPos - objectPosition); + + float distance = length(_WorldSpaceCameraPos - objectPosition); + float isOrthographic = UNITY_MATRIX_P[3][3]; + distance = lerp(distance, 1, isOrthographic); + + float fov = radians(UNITY_MATRIX_P[1][1] * 2.0); + + float scale = distance * (1 / fov) * 0.015; + + return scale * _DebugX_GlobalDotSize; + } + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + + float scaleMultiplier = GetHandleSize(mul(UNITY_MATRIX_M, float4(0, 0, 0, 1)).xyz); + float4x4 M = UNITY_MATRIX_M; + M._m00 *= scaleMultiplier; + M._m11 *= scaleMultiplier; + M._m22 *= scaleMultiplier; + + float4 worldOrigin = mul(M, float4(0, 0, 0, 1)); + + float4 viewOrigin = float4(UnityObjectToViewPos(float3(0, 0, 0)), 1); + float4 worldPos = mul(M, v.vertex); + + float4 viewPos = worldPos - worldOrigin + viewOrigin; + + float4 clipsPos = mul(UNITY_MATRIX_P, viewPos); + o.vertex = clipsPos; + + //o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color * UNITY_ACCESS_INSTANCED_PROP(Props, _Color) * _DebugX_GlobalColor; + return o; + } + ENDCG + + Pass + { + ZTest LEqual + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + Pass + { + ZTest Greater + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color * half4(1, 1, 1, 0.1); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader.meta b/Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader.meta new file mode 100644 index 0000000..3541ceb --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesDot.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 69efe102f685e6c4cb2e2f25b7f7bdc7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader b/Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader new file mode 100644 index 0000000..b78b142 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader @@ -0,0 +1,84 @@ +Shader "DCFApixels/DebugX/Handles Lit" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" } + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off Fog { Mode Off } + Lighting Off + + ZTest On + + CGINCLUDE + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + struct appdata_t + { + float3 vertex : POSITION; + float3 normal : NORMAL; + float4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + struct v2f + { + float4 vertex : SV_POSITION; + half4 color : COLOR0; + }; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + UNITY_INSTANCING_BUFFER_END(Props) + + float4 _DebugX_GlobalColor; + + v2f vert (appdata_t v) + { + v2f o; + UNITY_SETUP_INSTANCE_ID(v); + + float4 icolor = UNITY_ACCESS_INSTANCED_PROP(Props, _Color); + if (icolor.a >= 0) + { + v.color = v.color * icolor; + } + float3 eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal).xyz); + float nl = saturate(eyeNormal.z); + float lighting = 0.333 + nl * 0.667 * 0.5; + float4 color; + color.rgb = lighting * v.color.rgb; + color.a = v.color.a; + o.color = saturate(color) * _DebugX_GlobalColor; + o.vertex = UnityObjectToClipPos(v.vertex); + return o; + } + ENDCG + + Pass + { + ZTest LEqual + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color; + } + ENDCG + } + Pass + { + ZTest Greater + CGPROGRAM + half4 frag (v2f i) : SV_Target + { + return i.color * half4(1, 1, 1, 0.2); + } + ENDCG + } + } +} diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader.meta b/Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader.meta new file mode 100644 index 0000000..9864f09 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesLit.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b3126f69d0ed1ac439449358fc8a54aa +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader b/Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader new file mode 100644 index 0000000..b1585dc --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader @@ -0,0 +1,101 @@ +Shader "DCFApixels/DebugX/Handles Wire" +{ + Properties + { + _Color ("Color", Color) = (1,1,1,1) + } + SubShader + { + Tags { "ForceSupported" = "True" "Queue" = "Transparent" } + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off Cull Off Fog { Mode Off } + Offset -1, -1 + Lighting Off + + ZTest Off + + CGINCLUDE + #pragma vertex vert + #pragma geometry geom + #pragma fragment frag + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + struct appdata + { + float4 vertex : POSITION; + float4 color : COLOR; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2g + { + float4 vertex : POSITION; + float4 color : COLOR; + }; + + struct g2f + { + float4 vertex : SV_POSITION; + float4 color : COLOR; + }; + + UNITY_INSTANCING_BUFFER_START(Props) + UNITY_DEFINE_INSTANCED_PROP(float4, _Color) + UNITY_INSTANCING_BUFFER_END(Props) + + float4 _DebugX_GlobalColor; + + v2g vert(appdata v) + { + v2g o; + UNITY_SETUP_INSTANCE_ID(v); + o.vertex = UnityObjectToClipPos(v.vertex); + o.color = v.color * UNITY_ACCESS_INSTANCED_PROP(Props, _Color) * _DebugX_GlobalColor; + return o; + } + + [maxvertexcount(6)] + void geom(triangle v2g input[3], inout LineStream lineStream) + { + g2f o; + + + for (int i = 0; i < 3; i++) + { + o.vertex = input[i].vertex; + o.color = input[i].color; + lineStream.Append(o); + + int next = (i + 1) % 3; + o.vertex = input[next].vertex; + o.color = input[next].color; + lineStream.Append(o); + + lineStream.RestartStrip(); + } + } + ENDCG + + Pass + { + ZTest LEqual + CGPROGRAM + half4 frag (g2f i) : SV_Target + { + return i.color; + } + ENDCG + } + Pass + { + ZTest Greater + CGPROGRAM + half4 frag (g2f i) : SV_Target + { + return i.color * half4(1, 1, 1, 0.05); + } + ENDCG + } + } +} \ No newline at end of file diff --git a/Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader.meta b/Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader.meta new file mode 100644 index 0000000..0e6d843 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/HandlesWire.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 44b75ed8f4e1d21469ab056c86b4c1a1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab b/Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab new file mode 100644 index 0000000..ffcba4e --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab @@ -0,0 +1,1695 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &506341672800905711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4748358423470457898} + - component: {fileID: 4115921132944797611} + - component: {fileID: 8163902180853717584} + m_Layer: 0 + m_Name: WireSphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4748358423470457898 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506341672800905711} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -17.5, y: -5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4115921132944797611 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506341672800905711} + m_Mesh: {fileID: 4300000, guid: 402dfb8e92b8fd54a91baaa8e99280b9, type: 2} +--- !u!23 &8163902180853717584 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 506341672800905711} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &542333616396515043 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6347759664918351118} + - component: {fileID: 4195656396230719689} + - component: {fileID: 3328949132462460908} + m_Layer: 0 + m_Name: DotQuad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6347759664918351118 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 542333616396515043} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -15, y: 2.5, z: 0} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4195656396230719689 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 542333616396515043} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3328949132462460908 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 542333616396515043} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1018591412026810044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5310707693280878108} + - component: {fileID: 7156742278018945799} + - component: {fileID: 6688823134229777547} + m_Layer: 0 + m_Name: WireCircle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5310707693280878108 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1018591412026810044} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -17.5, y: -2.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7156742278018945799 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1018591412026810044} + m_Mesh: {fileID: 4300000, guid: e994291d266ec80419574a7d36415359, type: 2} +--- !u!23 &6688823134229777547 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1018591412026810044} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1056168096829689859 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7350875072433995390} + - component: {fileID: 4921614337912038632} + - component: {fileID: 7395463013076366473} + m_Layer: 0 + m_Name: WireLine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7350875072433995390 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056168096829689859} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -17.5, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4921614337912038632 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056168096829689859} + m_Mesh: {fileID: 4300000, guid: 90a8d28d32c4d5843b8d25d1654ce32f, type: 2} +--- !u!23 &7395463013076366473 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056168096829689859} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8f56df4773a3c3943a140e27a3155fb0, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2068056515493626881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8719965397487292199} + - component: {fileID: 2875607416975356741} + - component: {fileID: 3458502221797603101} + m_Layer: 0 + m_Name: WireArc + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8719965397487292199 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2068056515493626881} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -17.5, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2875607416975356741 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2068056515493626881} + m_Mesh: {fileID: 4300000, guid: 1854f56b8def82f47938a7ea45de39e0, type: 2} +--- !u!23 &3458502221797603101 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2068056515493626881} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3079400461196799871 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 53323397372202129} + - component: {fileID: 2716299662084361016} + - component: {fileID: 5031039822408443647} + m_Layer: 0 + m_Name: FlatCapsuleHead + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53323397372202129 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3079400461196799871} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2716299662084361016 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3079400461196799871} + m_Mesh: {fileID: 4300000, guid: ec79aa24b6bae5d42b0701bb81e3ced6, type: 2} +--- !u!23 &5031039822408443647 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3079400461196799871} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3249552717970432234 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2473096954649536056} + - component: {fileID: 3232418189102965110} + - component: {fileID: 3871736228207478463} + m_Layer: 0 + m_Name: Quad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2473096954649536056 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3249552717970432234} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 2.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3232418189102965110 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3249552717970432234} + m_Mesh: {fileID: 4300000, guid: f0a87cd81a5904842bfbbcda9c35e91a, type: 2} +--- !u!23 &3871736228207478463 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3249552717970432234} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3838086854242616939 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 857828809698174216} + m_Layer: 0 + m_Name: MeshesList + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &857828809698174216 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3838086854242616939} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3022340863085797192} + - {fileID: 8850756342328369928} + - {fileID: 2473096954649536056} + - {fileID: 8730918078396147359} + - {fileID: 4102080354430468402} + - {fileID: 1671259188215746302} + - {fileID: 2411152006734480509} + - {fileID: 2824320444920839439} + - {fileID: 1567892596493851065} + - {fileID: 53323397372202129} + - {fileID: 1209451617662186952} + - {fileID: 8142441744694738875} + - {fileID: 6347759664918351118} + - {fileID: 22482123004051014} + - {fileID: 6416146816802520747} + - {fileID: 7457780275450430367} + - {fileID: 7350875072433995390} + - {fileID: 5310707693280878108} + - {fileID: 3702163481797718753} + - {fileID: 8719965397487292199} + - {fileID: 4748358423470457898} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3884622472215885015 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6416146816802520747} + - component: {fileID: 5783340927891013885} + - component: {fileID: 4122538836201223057} + m_Layer: 0 + m_Name: DotCross + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6416146816802520747 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3884622472215885015} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -15, y: -2.5, z: 0} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5783340927891013885 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3884622472215885015} + m_Mesh: {fileID: 4300000, guid: afb2b2e92f0bbc14f90dfd73ec23147e, type: 2} +--- !u!23 &4122538836201223057 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3884622472215885015} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4013383508270041423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1567892596493851065} + - component: {fileID: 5752699676762868708} + - component: {fileID: 8863400926946576422} + m_Layer: 0 + m_Name: FlatCapsuleBody + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1567892596493851065 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4013383508270041423} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -5, y: 2.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5752699676762868708 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4013383508270041423} + m_Mesh: {fileID: 4300000, guid: 237f8e83fbf23c84b906b853c51a868b, type: 2} +--- !u!23 &8863400926946576422 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4013383508270041423} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4070324614139311695 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7457780275450430367} + m_Layer: 0 + m_Name: --------------- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7457780275450430367 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4070324614139311695} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4228305600999694331 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1209451617662186952} + m_Layer: 0 + m_Name: --------------- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1209451617662186952 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4228305600999694331} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5533643158979432279 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3702163481797718753} + - component: {fileID: 8591970610130051576} + - component: {fileID: 6873468214171597083} + m_Layer: 0 + m_Name: WireCube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3702163481797718753 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5533643158979432279} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -17.5, y: 2.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8591970610130051576 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5533643158979432279} + m_Mesh: {fileID: 4300000, guid: 51365e5b6ca1b8d438fe39907bcb22c3, type: 2} +--- !u!23 &6873468214171597083 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5533643158979432279} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6233730693849974323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3022340863085797192} + - component: {fileID: 4425203814431990764} + - component: {fileID: 5521488265091668113} + m_Layer: 0 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3022340863085797192 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6233730693849974323} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4425203814431990764 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6233730693849974323} + m_Mesh: {fileID: 4300000, guid: 32bf5ba487f330849a963c35503a6be9, type: 2} +--- !u!23 &5521488265091668113 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6233730693849974323} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6962887874813435154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8730918078396147359} + - component: {fileID: 626874638557208224} + - component: {fileID: 4574056387974069026} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8730918078396147359 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962887874813435154} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -12.5, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &626874638557208224 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962887874813435154} + m_Mesh: {fileID: 4300000, guid: 873de0939b7f76947a258a8897199a8e, type: 2} +--- !u!23 &4574056387974069026 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6962887874813435154} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7556002873874818713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1671259188215746302} + m_Layer: 0 + m_Name: --------------- + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1671259188215746302 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7556002873874818713} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7777192118900243118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4102080354430468402} + - component: {fileID: 2847158535298395278} + - component: {fileID: 1095822690239943275} + m_Layer: 0 + m_Name: Circle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4102080354430468402 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7777192118900243118} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -10, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2847158535298395278 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7777192118900243118} + m_Mesh: {fileID: 4300000, guid: 9562c98b68a01114982744ae16e1fc60, type: 2} +--- !u!23 &1095822690239943275 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7777192118900243118} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 7dddf4d8e41a47c44ac3ce8ebeb0858c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8015840718476618049 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 22482123004051014} + - component: {fileID: 3110746221688979504} + - component: {fileID: 8422455940415476249} + m_Layer: 0 + m_Name: DotDiamond + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &22482123004051014 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8015840718476618049} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -15, y: 0, z: 0} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3110746221688979504 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8015840718476618049} + m_Mesh: {fileID: 4300000, guid: 9ac643f6b8e4973418e9f71737d86d9c, type: 2} +--- !u!23 &8422455940415476249 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8015840718476618049} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8094793581458858291 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8142441744694738875} + - component: {fileID: 1701373838770547588} + - component: {fileID: 8422740268765546022} + m_Layer: 0 + m_Name: Dot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8142441744694738875 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8094793581458858291} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -15, y: 5, z: 0} + m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1701373838770547588 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8094793581458858291} + m_Mesh: {fileID: 4300000, guid: 55e9b57fa1749fb44a0a8af31492cf8f, type: 2} +--- !u!23 &8422740268765546022 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8094793581458858291} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &8867296224961591244 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2824320444920839439} + - component: {fileID: 2257438121700904243} + - component: {fileID: 6192089798341918250} + m_Layer: 0 + m_Name: CapsuleHead + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2824320444920839439 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8867296224961591244} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.5, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2257438121700904243 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8867296224961591244} + m_Mesh: {fileID: 4300000, guid: 680b0056ea1c4a94ea8d1151f43aead6, type: 2} +--- !u!23 &6192089798341918250 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8867296224961591244} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &9002542351252547610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2411152006734480509} + - component: {fileID: 3111352475632702032} + - component: {fileID: 1870985489298833100} + m_Layer: 0 + m_Name: CapsuleBody + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2411152006734480509 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9002542351252547610} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -7.5, y: 2.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3111352475632702032 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9002542351252547610} + m_Mesh: {fileID: 4300000, guid: fce15fb7a59a1ed41aa1b626fd3fd30d, type: 2} +--- !u!23 &1870985489298833100 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9002542351252547610} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &9165577477322443336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8850756342328369928} + - component: {fileID: 7511270786646036990} + - component: {fileID: 3630197012812199252} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8850756342328369928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9165577477322443336} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 857828809698174216} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7511270786646036990 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9165577477322443336} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3630197012812199252 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9165577477322443336} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab.meta b/Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab.meta new file mode 100644 index 0000000..145b333 --- /dev/null +++ b/Runtime/Resources/DCFApixels.DebugX/MeshesList.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 34d725f5b5bb8244385ed6769d4baaf7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Utils.meta b/Runtime/Utils.meta new file mode 100644 index 0000000..48a40e4 --- /dev/null +++ b/Runtime/Utils.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0fcff951551e3b945976d994abe83a98 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Utils/DebugX.assets.cs b/Runtime/Utils/DebugX.assets.cs new file mode 100644 index 0000000..318dedb --- /dev/null +++ b/Runtime/Utils/DebugX.assets.cs @@ -0,0 +1,108 @@ +using DCFApixels.DebugXCore.Internal; +using UnityEngine; +using UnityEngine.Rendering; + +namespace DCFApixels +{ + public static partial class DebugX + { + public static T LoadMeshesList(T list, string path) + { + return MeshesListLoader.Load(list, path); + } + public static MeshesList Meshes; + public readonly struct MeshesList + { + public readonly Mesh Arrow; + public readonly Mesh Cube; + public readonly Mesh Quad; + public readonly Mesh Circle; // Circle_1 + public readonly Mesh Sphere; // Sphere_0 + + public readonly Mesh CapsuleBody; + public readonly Mesh CapsuleHead; + public readonly Mesh FlatCapsuleBody; + public readonly Mesh FlatCapsuleHead; + + public readonly Mesh Dot; + public readonly Mesh DotQuad; + public readonly Mesh DotCross; + public readonly Mesh DotDiamond; + + public readonly Mesh WireLine; + public readonly Mesh WireCube; + public readonly Mesh WireArc; + public readonly Mesh WireCircle; + public readonly Mesh WireSphere; + } + + + private static Material CreateMaterial(string name) + { + Material result = new Material(Shader.Find(name)); + result.SetColor(ColorPropertyID, Color.white); + result.renderQueue = (int)RenderQueue.Transparent; + result.enableInstancing = true; + return result; + } + public static class Materials + { + private static Material _lit; + private static Material _unlit; + private static Material _wire; + private static Material _billboard; + private static Material _dot; + + private static void Init() + { + if (_lit != null) { return; } + _lit = CreateMaterial("DCFApixels/DebugX/Handles Lit"); + _unlit = CreateMaterial("DCFApixels/DebugX/Handles"); + _wire = CreateMaterial("DCFApixels/DebugX/Handles Wire"); + _billboard = CreateMaterial("DCFApixels/DebugX/Handles Buillboard"); + _dot = CreateMaterial("DCFApixels/DebugX/Handles Dot"); + } + + public static Material Lit + { + get + { + Init(); + return _lit; + } + } + public static Material Unlit + { + get + { + Init(); + return _unlit; + } + } + public static Material Wire + { + get + { + Init(); + return _wire; + } + } + public static Material Billboard + { + get + { + Init(); + return _billboard; + } + } + public static Material Dot + { + get + { + Init(); + return _dot; + } + } + } + } +} \ No newline at end of file diff --git a/Runtime/Utils/DebugX.assets.cs.meta b/Runtime/Utils/DebugX.assets.cs.meta new file mode 100644 index 0000000..b0f2279 --- /dev/null +++ b/Runtime/Utils/DebugX.assets.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c7f4fd740be0c084baef28deea20d28c \ No newline at end of file diff --git a/Runtime/Utils/DebugX.utils.cs b/Runtime/Utils/DebugX.utils.cs new file mode 100644 index 0000000..c468889 --- /dev/null +++ b/Runtime/Utils/DebugX.utils.cs @@ -0,0 +1,412 @@ +#undef DEBUG + +#if DEBUG +#define DEV_MODE +#endif +using UnityEngine; +using System.Collections.Generic; +using System.Linq; +using System; +using Unity.Collections.LowLevel.Unsafe; +using System.Buffers; +#if UNITY_EDITOR +using UnityEditor; +#endif + +namespace DCFApixels +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + + public static unsafe partial class DebugX + { + #region Utils Methods + private static string GetGenericTypeName_Internal(Type type, int maxDepth, bool isFull) + { +#if (DEBUG && !DISABLE_DEBUG) || !REFLECTION_DISABLED // REFLECTION_DISABLED + string typeName = isFull ? type.FullName : type.Name; + if (!type.IsGenericType || maxDepth == 0) + { + return typeName; + } + int genericInfoIndex = typeName.LastIndexOf('`'); + if (genericInfoIndex > 0) + { + typeName = typeName.Remove(genericInfoIndex); + } + + string genericParams = ""; + Type[] typeParameters = type.GetGenericArguments(); + for (int i = 0; i < typeParameters.Length; ++i) + { + // , + string paramTypeName = GetGenericTypeName_Internal(typeParameters[i], maxDepth - 1, false); + genericParams += (i == 0 ? paramTypeName : $", {paramTypeName}"); + } + return $"{typeName}<{genericParams}>"; +#else + Debug.LogWarning($"Reflection is not available, the {nameof(GetGenericTypeName_Internal)} method does not work."); + return isFull ? type.FullName : type.Name; +#endif + } + + [IN(LINE)] + public static float FastMagnitude(Vector3 v) + { + return FastSqrt(v.x * v.x + v.y * v.y + v.z * v.z); + } + [IN(LINE)] + private static unsafe float FastSqrt(float number) + { + long i; + float x2, y; + const float threehalfs = 1.5F; + + x2 = number * 0.5F; + y = number; + i = *(long*)&y; // evil floating point bit level hacking + i = 0x5f3759df - (i >> 1); // what the fuck? + y = *(float*)&i; + y = y * (threehalfs - (x2 * y * y)); // 1st iteration + //y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed + + return 1 / y; + } + [IN(LINE)] + private static int NextPow2(int v) + { + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + return ++v; + } + private static Color[] _setColorBuffer = new Color[64]; + [IN(LINE)] + static void AddColorsToMesh(Mesh mesh, Color color) + { + int vertexCount = mesh.vertexCount; + if (_setColorBuffer.Length < vertexCount) + { + _setColorBuffer = new Color[NextPow2(vertexCount)]; + } + for (int i = 0; i < mesh.vertexCount; i++) + { + _setColorBuffer[i] = color; + } + mesh.SetColors(_setColorBuffer, 0, vertexCount); + } + + [IN(LINE)] + private static bool IsGizmosRender() + { + bool result = true; +#if UNITY_EDITOR + result = Handles.ShouldRenderGizmos(); +#endif + return result; + } + #endregion + + #region private StructList + private interface IStructListElement + { + void OnSwap(ref T element); + } + private struct StructList + { + internal Array _items; + internal int _count; + internal readonly bool _isUseArrayPool; + private StructList(Array items, int count, bool isUseArrayPool) + { + _items = items; + _count = count; + _isUseArrayPool = isUseArrayPool; + } + public static StructList ConvertFrom(StructList list) + { + return new StructList(list._items, list._count, list._isUseArrayPool); + } + } + [System.Diagnostics.DebuggerDisplay("Count: {Count}")] + private struct StructList : IDisposable + { + //private struct Dummy : IStructListElement + //{ + // public void OnSwap(ref T element) { } + //} + //private static IStructListElement _internal = default(T) as IStructListElement ?? default(Dummy); + internal T[] _items; + internal int _count; + internal readonly bool _isUseArrayPool; + private static readonly bool _isUnmanaged = UnsafeUtility.IsUnmanaged(); + + public bool IsCreated + { + [IN(LINE)] + get { return _items != null; } + } + public int Count + { + [IN(LINE)] + get { return _count; } + } + public int Capacity + { + [IN(LINE)] + get { return _items.Length; } + set + { + UpSize(value); + } + } + public T this[int index] + { + [IN(LINE)] + get + { +#if DEV_MODE + if (index < 0 || index >= _count) { new ArgumentOutOfRangeException(); } +#endif + return _items[index]; + } + [IN(LINE)] + set + { +#if DEV_MODE + if (index < 0 || index >= _count) { new ArgumentOutOfRangeException(); } +#endif + _items[index] = value; + } + } + + [IN(LINE)] + public StructList(int minCapacity, bool useArrayPool = false) + { + minCapacity = NextPow2(minCapacity); + if (useArrayPool) + { + _items = ArrayPool.Shared.Rent(minCapacity); + } + else + { + _items = new T[minCapacity]; + } + _count = 0; + _isUseArrayPool = useArrayPool; + } + private StructList(StructList list) + { + _items = (T[])list._items; + _count = list._count; + _isUseArrayPool = list._isUseArrayPool; + } + + [IN(LINE)] + public void Add(T item) + { + UpSize(_count + 1); + //_internal.OnSwap(ref item); + _items[_count++] = item; + } + [IN(LINE)] + public void AddRange(ReadOnlySpan items) + { + UpSize(_count + items.Length); + for (int i = 0; i < items.Length; i++) + { + //_internal.OnSwap(ref item); + _items[_count++] = items[i]; + } + } + public void UpSize(int newMinSize) + { + if (newMinSize <= _items.Length) { return; } + newMinSize = NextPow2(newMinSize); + if (newMinSize <= _items.Length) { return; } + if (_isUseArrayPool) + { + var newItems = ArrayPool.Shared.Rent(newMinSize); + for (int i = 0, iMax = _count; i < iMax; i++) + { + newItems[i] = _items[i]; + } + ArrayPool.Shared.Return(_items, !_isUnmanaged); + _items = newItems; + } + else + { + Array.Resize(ref _items, newMinSize); + } + } + [IN(LINE)] + public int IndexOf(T item) + { + return Array.IndexOf(_items, item, 0, _count); + } + [IN(LINE)] + public void SwapAt(int idnex1, int idnex2) + { + T tmp = _items[idnex1]; + _items[idnex1] = _items[idnex2]; + _items[idnex2] = tmp; + //_internal.OnSwap(ref _items[idnex1]); + //_internal.OnSwap(ref _items[idnex2]); + } + [IN(LINE)] + public void FastRemoveAt(int index) + { +#if DEV_MODE + if (index < 0 || index >= _count) { new ArgumentOutOfRangeException(); } +#endif + _items[index] = _items[--_count]; + //_internal.OnSwap(ref _items[index]); + } + [IN(LINE)] + public void RemoveAt(int index) + { +#if DEV_MODE + if (index < 0 || index >= _count) { new ArgumentOutOfRangeException(); } +#endif + _items[index] = _items[--_count]; + //_internal.OnSwap(ref _items[index]); + _items[_count] = default; + } + [IN(LINE)] + public void RemoveAtWithOrder(int index) + { +#if DEV_MODE + if (index < 0 || index >= _count) { new ArgumentOutOfRangeException(); } +#endif + for (int i = index; i < _count; i++) + { + _items[i] = _items[i + 1]; + //_internal.OnSwap(ref _items[i]); + } + } + [IN(LINE)] + public bool Remove(T item) + { + int index = IndexOf(item); + if (index >= 0) + { + RemoveAt(index); + return true; + } + return false; + } + [IN(LINE)] + public bool RemoveWithOrder(T item) + { + int index = IndexOf(item); + if (index >= 0) + { + RemoveAtWithOrder(index); + return true; + } + return false; + } + [IN(LINE)] + public void FastClear() + { + _count = 0; + } + [IN(LINE)] + public void Clear() + { + for (int i = 0; i < _count; i++) + { + _items[i] = default; + } + _count = 0; + } + [IN(LINE)] + public ReadOnlySpan.Enumerator GetEnumerator() + { + return new ReadOnlySpan(_items, 0, _count).GetEnumerator(); + } + [IN(LINE)] + public Span AsSpan() + { + return new Span(_items, 0, _count); + } + [IN(LINE)] + public ReadOnlySpan AsReadOnlySpan() + { + return new ReadOnlySpan(_items, 0, _count); + } + [IN(LINE)] + public IEnumerable ToEnumerable() + { + return _items.Take(_count); + } + [IN(LINE)] + private static int NextPow2(int v) + { + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + return ++v; + } + + public void Dispose() + { + if (_isUseArrayPool) + { + ArrayPool.Shared.Return(_items); + } + _items = null; + _count = 0; + } + + public static implicit operator StructList(StructList a) => StructList.ConvertFrom(a); + public static explicit operator StructList(StructList a) => new StructList(a); + } + #endregion + + #region private PinnedArray + private static class DummyArray + { + private readonly static T[] _array = new T[2]; + public static T[] Get() + { + return _array; + } + } + private readonly struct PinnedArray : IDisposable where T : unmanaged + { + public readonly T[] Array; + public readonly T* Ptr; + public readonly ulong Handle; + public PinnedArray(T[] array, T* ptr, ulong handle) + { + Array = array; + Ptr = ptr; + Handle = handle; + } + public static PinnedArray Pin(T[] array) + { + return new PinnedArray(array, (T*)UnsafeUtility.PinGCArrayAndGetDataAddress(array, out ulong handle), handle); + } + public void Dispose() + { + if (Ptr != null) + { + UnsafeUtility.ReleaseGCObject(Handle); + } + } + public PinnedArray As() where U : unmanaged + { + T[] array = Array; + U[] newArray = UnsafeUtility.As(ref array); + return new PinnedArray(newArray, (U*)Ptr, Handle); + } + } + #endregion + } +} \ No newline at end of file diff --git a/Runtime/Utils/DebugX.utils.cs.meta b/Runtime/Utils/DebugX.utils.cs.meta new file mode 100644 index 0000000..ca26b02 --- /dev/null +++ b/Runtime/Utils/DebugX.utils.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 23c5d9ebb6ab86c4599c0979a6adaf22 \ No newline at end of file diff --git a/Runtime/Utils/GizmosList.cs b/Runtime/Utils/GizmosList.cs new file mode 100644 index 0000000..a7b5b3c --- /dev/null +++ b/Runtime/Utils/GizmosList.cs @@ -0,0 +1,90 @@ +#undef DEBUG + +#if DEBUG +#define DEV_MODE +#endif +using System; +using System.Diagnostics; +using Unity.Collections.LowLevel.Unsafe; +using static DCFApixels.DebugX; + +namespace DCFApixels.DebugXCore +{ + using IN = System.Runtime.CompilerServices.MethodImplAttribute; + + [DebuggerDisplay("Count:{Count}")] + public readonly ref struct GizmosList + { + public readonly Array Items; + public readonly int Count; + public GizmosList(Array items, int count) + { + Items = items; + Count = count; + } + public static GizmosList ConvertFrom(GizmosList list) + { + return new GizmosList(list.Items, list.Count); + } + public GizmosList As() + { + var items = Items; + return new GizmosList(UnsafeUtility.As[]>(ref items), Count); + } + internal static GizmosList From(GizmoInternal[] items, int count) where T : IGizmo + { + return new GizmosList(UnsafeUtility.As[], Gizmo[]>(ref items), count); + } + } + [DebuggerDisplay("Count:{Count}")] + public readonly ref struct GizmosList + { + public readonly Gizmo[] Items; + public readonly int Count; + [IN(LINE)] + public GizmosList(Gizmo[] items, int count) + { + Items = items; + Count = count; + } + [IN(LINE)] + public GizmosList(GizmosList list) + { + Items = (Gizmo[])list.Items; + Count = list.Count; + } + public ref Gizmo this[int index] + { + [IN(LINE)] + get { return ref Items[index]; } + } + public GizmosList As() + { + var items = Items; + return new GizmosList(UnsafeUtility.As[], Gizmo[]>(ref items), Count); + } + [IN(LINE)] public Enumerator GetEnumerator() { return new Enumerator(Items, Count); } + public struct Enumerator + { + public readonly Gizmo[] Items; + public readonly int Count; + private int _index; + [IN(LINE)] + public Enumerator(Gizmo[] items, int count) + { + Items = items; + Count = count; + _index = -1; + } + public ref Gizmo Current + { + [IN(LINE)] + get => ref Items[_index]; + } + [IN(LINE)] public bool MoveNext() { return ++_index < Count; } + } + + public static implicit operator GizmosList(GizmosList a) => GizmosList.ConvertFrom(a); + public static explicit operator GizmosList(GizmosList a) => new GizmosList(a); + } +} \ No newline at end of file diff --git a/Runtime/Utils/GizmosList.cs.meta b/Runtime/Utils/GizmosList.cs.meta new file mode 100644 index 0000000..7487b82 --- /dev/null +++ b/Runtime/Utils/GizmosList.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 434ffd7a96114134094bc2f4b7a6f465 \ No newline at end of file diff --git a/Runtime/Utils/IGizmo.cs b/Runtime/Utils/IGizmo.cs new file mode 100644 index 0000000..e1073c0 --- /dev/null +++ b/Runtime/Utils/IGizmo.cs @@ -0,0 +1,50 @@ +using System; +using UnityEngine; +using UnityEngine.Rendering; + +namespace DCFApixels.DebugXCore +{ + public interface IGizmo where T : IGizmo + { + IGizmoRenderer RegisterNewRenderer(); + } + public interface IGizmoRenderer where T : IGizmo + { + int ExecuteOrder { get; } + //Статик рендер означает что в рамках одного контекста для всех камер используется одинаковый набор команд в CommandBuffer + //Поэтому Prepare и Render можно вызвать один раз, а не по разу на каждую камеру + bool IsStaticRender { get; } + void Prepare(Camera camera, GizmosList list); + void Render(Camera camera, GizmosList list, CommandBuffer cb); + } + public interface IGizmoRenderer_UnityGizmos : IGizmoRenderer where T : IGizmo + { + void Render_UnityGizmos(Camera camera, GizmosList list); + } + + + public readonly struct RenderContext : IEquatable + { + public readonly Camera Camera; + public bool IsStatic + { + get { return Camera == null || Camera.name == "SceneCamera"; } + } + public RenderContext(Camera camera) + { + Camera = camera; + } + public bool Equals(RenderContext other) + { + return Camera == other.Camera; + } + public override bool Equals(object obj) + { + return obj is RenderContext && Equals((RenderContext)obj); + } + public override int GetHashCode() + { + return HashCode.Combine(Camera); + } + } +} \ No newline at end of file diff --git a/Runtime/Utils/IGizmo.cs.meta b/Runtime/Utils/IGizmo.cs.meta new file mode 100644 index 0000000..07c15eb --- /dev/null +++ b/Runtime/Utils/IGizmo.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1416e51cb5495ce438d4b06930f2b51c \ No newline at end of file diff --git a/Runtime/Utils/StaticData.cs b/Runtime/Utils/StaticData.cs new file mode 100644 index 0000000..507830a --- /dev/null +++ b/Runtime/Utils/StaticData.cs @@ -0,0 +1,144 @@ +using UnityEngine; +using static DCFApixels.DebugX; + +namespace DCFApixels.DebugXCore +{ + public interface IStaticData + { + string GetName(); + } + public interface IStaticMaterial : IStaticData + { + int GetExecuteOrder(); + Material GetMaterial(); + } + public interface IStaticMesh : IStaticData + { + Mesh GetMesh(); + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + public readonly struct LitMat : IStaticMaterial + { + public string GetName() => "Lit"; + public int GetExecuteOrder() => 0; + public Material GetMaterial() => Materials.Lit; + } + public readonly struct UnlitMat : IStaticMaterial + { + public string GetName() => "Unlit"; + public int GetExecuteOrder() => 100_000; + public Material GetMaterial() => Materials.Unlit; + } + public readonly struct WireMat : IStaticMaterial + { + public string GetName() => "Wire"; + public int GetExecuteOrder() => 1_000_000; + public Material GetMaterial() => Materials.Wire; + } + public readonly struct BillboardMat : IStaticMaterial + { + public string GetName() => "Billboard"; + public int GetExecuteOrder() => 200_000; + public Material GetMaterial() => Materials.Billboard; + } + public readonly struct DotMat : IStaticMaterial + { + public string GetName() => "Dot"; + public int GetExecuteOrder() => 300_000; + public Material GetMaterial() => Materials.Dot; + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + public readonly struct SphereMesh : IStaticMesh + { + public string GetName() => "Sphere"; + public Mesh GetMesh() => Meshes.Sphere; + } + public readonly struct CubeMesh : IStaticMesh + { + public string GetName() => "Cube"; + public Mesh GetMesh() => Meshes.Cube; + } + public readonly struct QuadMesh : IStaticMesh + { + public string GetName() => "Quad"; + public Mesh GetMesh() => Meshes.Quad; + } + public readonly struct CircleMesh : IStaticMesh + { + public string GetName() => "Circle"; + public Mesh GetMesh() => Meshes.Circle; + } + public readonly struct CapsuleBodyMesh : IStaticMesh + { + public string GetName() => "CapsuleBody"; + public Mesh GetMesh() => Meshes.CapsuleBody; + } + public readonly struct CapsuleHeadMesh : IStaticMesh + { + public string GetName() => "CapsuleHead"; + public Mesh GetMesh() => Meshes.CapsuleHead; + } + public readonly struct FlatCapsuleBodyMesh : IStaticMesh + { + public string GetName() => "FlatCapsuleBody"; + public Mesh GetMesh() => Meshes.FlatCapsuleBody; + } + public readonly struct FlatCapsuleHeadMesh : IStaticMesh + { + public string GetName() => "FlatCapsuleHead"; + public Mesh GetMesh() => Meshes.FlatCapsuleHead; + } + public readonly struct ArrowMesh : IStaticMesh + { + public string GetName() => "Arrow"; + public Mesh GetMesh() => Meshes.Arrow; + } + public readonly struct DotMesh : IStaticMesh + { + public string GetName() => "Dot"; + public Mesh GetMesh() => Meshes.Dot; + } + public readonly struct DotQuadMesh : IStaticMesh + { + public string GetName() => "DotQuad"; + public Mesh GetMesh() => Meshes.DotQuad; + } + public readonly struct DotDiamondMesh : IStaticMesh + { + public string GetName() => "DotDiamond"; + public Mesh GetMesh() => Meshes.DotDiamond; + } + public readonly struct DotCrossMesh : IStaticMesh + { + public string GetName() => "DotCross"; + public Mesh GetMesh() => Meshes.DotCross; + } + public readonly struct WireLineMesh : IStaticMesh + { + public string GetName() => "WireLine"; + public Mesh GetMesh() => Meshes.WireLine; + } + public readonly struct WireCubeMesh : IStaticMesh + { + public string GetName() => "WireCube"; + public Mesh GetMesh() => Meshes.WireCube; + } + public readonly struct WireArcMesh : IStaticMesh + { + public string GetName() => "WireArc"; + public Mesh GetMesh() => Meshes.WireArc; + } + public readonly struct WireCircleMesh : IStaticMesh + { + public string GetName() => "WireCircle"; + public Mesh GetMesh() => Meshes.WireCircle; + } + public readonly struct WireSphereMesh : IStaticMesh + { + public string GetName() => "WireSphere"; + public Mesh GetMesh() => Meshes.WireSphere; + } +} \ No newline at end of file diff --git a/Runtime/Utils/StaticData.cs.meta b/Runtime/Utils/StaticData.cs.meta new file mode 100644 index 0000000..4c9f080 --- /dev/null +++ b/Runtime/Utils/StaticData.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 22426eb6f4e3a274b8d4a0e7ba4bcf5e \ No newline at end of file diff --git a/Samples.meta b/Samples.meta new file mode 100644 index 0000000..69ee3cd --- /dev/null +++ b/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ea86262b8451414db97c5850fe96b28 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/OtherAssets.meta b/Samples/OtherAssets.meta new file mode 100644 index 0000000..c67f60e --- /dev/null +++ b/Samples/OtherAssets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0888af1fec4b5d4ca233c252ef26bef +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/OtherAssets/Ground.mat b/Samples/OtherAssets/Ground.mat new file mode 100644 index 0000000..0572534 --- /dev/null +++ b/Samples/OtherAssets/Ground.mat @@ -0,0 +1,169 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1886556038976168383 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Ground + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + - _RECEIVE_SHADOWS_OFF + - _SPECULARHIGHLIGHTS_OFF + m_InvalidKeywords: [] + m_LightmapFlags: 0 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AlphaTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - PixelSnap: 0 + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BlendOp: 0 + - _BumpScale: 1 + - _CameraFadingEnabled: 0 + - _CameraFarFadeDistance: 2 + - _CameraNearFadeDistance: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DistortionBlend: 0.5 + - _DistortionEnabled: 0 + - _DistortionStrength: 1 + - _DistortionStrengthScaled: 0 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EmissionEnabled: 0 + - _EnableExternalAlpha: 0 + - _EnvironmentReflections: 1 + - _FlipbookMode: 0 + - _GlossMapScale: 1 + - _Glossiness: 0 + - _GlossinessSource: 0 + - _GlossyReflections: 1 + - _LightingEnabled: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 0 + - _Shininess: 0 + - _Smoothness: 0 + - _SmoothnessSource: 0 + - _SmoothnessTextureChannel: 0 + - _SoftParticlesEnabled: 0 + - _SoftParticlesFarFadeDistance: 1 + - _SoftParticlesNearFadeDistance: 0 + - _SpecSource: 0 + - _SpecularHighlights: 0 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.29222006, g: 0.20719118, b: 0.4528302, a: 1} + - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} + - _Color: {r: 0.29222003, g: 0.20719114, b: 0.45283014, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _Flip: {r: 1, g: 1, b: 1, a: 1} + - _RendererColor: {r: 1, g: 1, b: 1, a: 1} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} + - _SpecColor: {r: 0.19999993, g: 0.19999993, b: 0.19999993, a: 0} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Samples/OtherAssets/Ground.mat.meta b/Samples/OtherAssets/Ground.mat.meta new file mode 100644 index 0000000..c321914 --- /dev/null +++ b/Samples/OtherAssets/Ground.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc69f1a5abbb7d348a71d0d194dd6856 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Sample.unity b/Samples/Sample.unity new file mode 100644 index 0000000..967304e --- /dev/null +++ b/Samples/Sample.unity @@ -0,0 +1,6665 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &48585891 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 48585892} + - component: {fileID: 48585896} + - component: {fileID: 48585895} + - component: {fileID: 48585894} + - component: {fileID: 48585893} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &48585892 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48585891} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 0.5, z: 2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 72079347} + m_Father: {fileID: 1818121150} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &48585893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48585891} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1232ed76958b8f748886775234321b34, type: 3} + m_Name: + m_EditorClassIdentifier: + isAnimated: 1 + radius: 2 + moveSpeed: 60 + rotateSpeed: 30 +--- !u!65 &48585894 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48585891} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &48585895 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48585891} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &48585896 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48585891} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &69642962 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 69642963} + - component: {fileID: 69642966} + - component: {fileID: 69642965} + m_Layer: 0 + m_Name: Point (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &69642963 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69642962} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &69642965 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69642962} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &69642966 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 69642962} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &72079346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 72079347} + - component: {fileID: 72079350} + - component: {fileID: 72079349} + - component: {fileID: 72079348} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &72079347 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72079346} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.38268343, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.85, y: 1, z: 0.85} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 48585892} + m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0} +--- !u!65 &72079348 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72079346} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &72079349 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72079346} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &72079350 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 72079346} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &99387309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 99387310} + - component: {fileID: 99387313} + - component: {fileID: 99387312} + m_Layer: 0 + m_Name: Point (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &99387310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99387309} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &99387312 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99387309} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &99387313 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 99387309} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &117570623 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 117570624} + - component: {fileID: 117570627} + - component: {fileID: 117570626} + m_Layer: 0 + m_Name: Point (24) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &117570624 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117570623} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: -4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &117570626 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117570623} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &117570627 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 117570623} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &120721796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 120721797} + m_Layer: 0 + m_Name: Primitives + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &120721797 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 120721796} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 758643987} + - {fileID: 1449479712} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &126949852 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 126949853} + - component: {fileID: 126949855} + - component: {fileID: 126949854} + m_Layer: 0 + m_Name: Point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &126949853 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126949852} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.5, y: 0, z: 3} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &126949854 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126949852} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &126949855 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 126949852} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &290865106 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 290865107} + - component: {fileID: 290865109} + - component: {fileID: 290865108} + m_Layer: 0 + m_Name: Point (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &290865107 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 290865106} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: 1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &290865108 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 290865106} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &290865109 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 290865106} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &298618459 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 298618462} + - component: {fileID: 298618461} + - component: {fileID: 298618460} + - component: {fileID: 298618463} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &298618460 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298618459} + m_Enabled: 1 +--- !u!20 &298618461 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298618459} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 1} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &298618462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298618459} + serializedVersion: 2 + m_LocalRotation: {x: 0.3014993, y: 0.48702005, z: -0.18381576, w: 0.7988251} + m_LocalPosition: {x: -25.802849, y: 17.270664, z: -11.020767} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1800693605} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 60, y: 0, z: 0} +--- !u!114 &298618463 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 298618459} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!1 &304098085 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 304098086} + - component: {fileID: 304098088} + - component: {fileID: 304098087} + m_Layer: 0 + m_Name: Point (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &304098086 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 304098085} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &304098087 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 304098085} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &304098088 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 304098085} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &333564951 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 333564952} + - component: {fileID: 333564955} + - component: {fileID: 333564954} + m_Layer: 0 + m_Name: Point (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &333564952 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 333564951} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &333564954 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 333564951} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &333564955 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 333564951} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &400397374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400397375} + - component: {fileID: 400397378} + - component: {fileID: 400397377} + m_Layer: 0 + m_Name: Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400397375 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400397374} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &400397377 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400397374} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &400397378 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400397374} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &400926994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 400926995} + - component: {fileID: 400926998} + - component: {fileID: 400926997} + m_Layer: 0 + m_Name: Point (20) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &400926995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400926994} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: -4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &400926997 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400926994} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &400926998 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 400926994} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &418005862 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 418005863} + - component: {fileID: 418005865} + - component: {fileID: 418005864} + m_Layer: 0 + m_Name: Point (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &418005863 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 418005862} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &418005864 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 418005862} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &418005865 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 418005862} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &421270283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 421270284} + m_Layer: 0 + m_Name: Lines + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &421270284 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 421270283} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -15.5, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 854975131} + - {fileID: 1497922673} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &436041902 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 436041903} + - component: {fileID: 436041906} + - component: {fileID: 436041905} + m_Layer: 0 + m_Name: Point (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &436041903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436041902} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &436041905 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436041902} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &436041906 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 436041902} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &449338218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 449338219} + - component: {fileID: 449338221} + - component: {fileID: 449338220} + m_Layer: 0 + m_Name: Point (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &449338219 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449338218} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.5, y: 0, z: -1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &449338220 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449338218} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &449338221 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 449338218} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &514723879 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 514723880} + - component: {fileID: 514723882} + - component: {fileID: 514723881} + m_Layer: 0 + m_Name: Point (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &514723880 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 514723879} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: 3} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &514723881 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 514723879} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &514723882 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 514723879} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &529354456 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 529354457} + - component: {fileID: 529354460} + - component: {fileID: 529354459} + m_Layer: 0 + m_Name: Point (21) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &529354457 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529354456} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: -4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &529354459 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529354456} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &529354460 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 529354456} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &555760543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 555760544} + - component: {fileID: 555760547} + - component: {fileID: 555760546} + m_Layer: 0 + m_Name: Point (19) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &555760544 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 555760543} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: -2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &555760546 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 555760543} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &555760547 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 555760543} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &556715529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 556715530} + - component: {fileID: 556715532} + - component: {fileID: 556715531} + m_Layer: 0 + m_Name: Point (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &556715530 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 556715529} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &556715531 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 556715529} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &556715532 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 556715529} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &559695041 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 559695042} + - component: {fileID: 559695044} + - component: {fileID: 559695043} + m_Layer: 0 + m_Name: Point (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &559695042 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559695041} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.5, y: 0, z: 2.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &559695043 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559695041} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &559695044 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 559695041} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &566087380 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 566087381} + - component: {fileID: 566087384} + - component: {fileID: 566087383} + m_Layer: 0 + m_Name: Point (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &566087381 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566087380} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &566087383 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566087380} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &566087384 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 566087380} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &591753762 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 591753763} + - component: {fileID: 591753765} + - component: {fileID: 591753764} + m_Layer: 0 + m_Name: Point (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &591753763 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591753762} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: -1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &591753764 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591753762} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &591753765 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 591753762} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &602601720 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 602601721} + - component: {fileID: 602601724} + - component: {fileID: 602601723} + m_Layer: 0 + m_Name: Point (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &602601721 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 602601720} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: -2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &602601723 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 602601720} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &602601724 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 602601720} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &610582575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 610582576} + - component: {fileID: 610582578} + - component: {fileID: 610582577} + m_Layer: 0 + m_Name: Point (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &610582576 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 610582575} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: 3} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &610582577 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 610582575} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &610582578 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 610582575} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &627243104 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 627243105} + - component: {fileID: 627243107} + - component: {fileID: 627243106} + m_Layer: 0 + m_Name: Point (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &627243105 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 627243104} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: -1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &627243106 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 627243104} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &627243107 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 627243104} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &659135924 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 659135925} + - component: {fileID: 659135928} + - component: {fileID: 659135927} + m_Layer: 0 + m_Name: Point (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &659135925 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659135924} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &659135927 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659135924} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &659135928 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659135924} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &725946422 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 725946423} + - component: {fileID: 725946425} + - component: {fileID: 725946424} + m_Layer: 0 + m_Name: Point (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &725946423 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725946422} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: 4.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &725946424 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725946422} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &725946425 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 725946422} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &734477135 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 734477137} + - component: {fileID: 734477136} + - component: {fileID: 734477138} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &734477136 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734477135} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!4 &734477137 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734477135} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 1000, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &734477138 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 734477135} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1 &758643985 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 758643987} + - component: {fileID: 758643986} + m_Layer: 0 + m_Name: Sample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &758643986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 758643985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c953e4e7e1dd4f44f97452cb5ed6bdda, type: 3} + m_Name: + m_EditorClassIdentifier: + transforms: + - {fileID: 400397375} + - {fileID: 2036988413} + - {fileID: 1219013122} + - {fileID: 333564952} + - {fileID: 1760546242} + - {fileID: 69642963} + - {fileID: 1260520973} + - {fileID: 951613859} + - {fileID: 99387310} + - {fileID: 1062290712} + - {fileID: 1400371782} + - {fileID: 566087381} + - {fileID: 1432666553} + - {fileID: 659135925} + - {fileID: 436041903} + - {fileID: 602601721} + - {fileID: 1449432931} + - {fileID: 2141725770} + - {fileID: 843935389} + - {fileID: 555760544} + - {fileID: 400926995} + - {fileID: 529354457} + - {fileID: 1181606152} + - {fileID: 1714541214} + - {fileID: 117570624} + colors: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 1, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 1, g: 0.48748046, b: 0, a: 0} + key3: {r: 1, g: 1, b: 0, a: 0} + key4: {r: 0, g: 1, b: 0, a: 0} + key5: {r: 0, g: 1, b: 1, a: 0} + key6: {r: 0, g: 0, b: 1, a: 0} + key7: {r: 1, g: 0, b: 1, a: 0} + ctime0: 0 + ctime1: 10409 + ctime2: 21395 + ctime3: 30647 + ctime4: 37972 + ctime5: 46838 + ctime6: 55898 + ctime7: 65535 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 8 + m_NumAlphaKeys: 2 + colorStepsCount: 7 + rotationEuler: {x: 45, y: 0, z: 0} + size: {x: 0.75, y: 1.25, z: 1} + time: 1 + isAnimated: 1 + radius: 2 + speed: 90 + swithColorCooldown: 0.5 + textCount: 10 +--- !u!4 &758643987 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 758643985} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 400397375} + - {fileID: 2036988413} + - {fileID: 1219013122} + - {fileID: 333564952} + - {fileID: 1760546242} + - {fileID: 69642963} + - {fileID: 1260520973} + - {fileID: 951613859} + - {fileID: 99387310} + - {fileID: 1062290712} + - {fileID: 1400371782} + - {fileID: 566087381} + - {fileID: 1432666553} + - {fileID: 659135925} + - {fileID: 436041903} + - {fileID: 602601721} + - {fileID: 1449432931} + - {fileID: 2141725770} + - {fileID: 843935389} + - {fileID: 555760544} + - {fileID: 400926995} + - {fileID: 529354457} + - {fileID: 1181606152} + - {fileID: 1714541214} + - {fileID: 117570624} + m_Father: {fileID: 120721797} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &788425737 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 788425738} + - component: {fileID: 788425740} + - component: {fileID: 788425739} + m_Layer: 0 + m_Name: Point (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &788425738 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788425737} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &788425739 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788425737} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &788425740 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 788425737} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &843935388 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 843935389} + - component: {fileID: 843935392} + - component: {fileID: 843935391} + m_Layer: 0 + m_Name: Point (18) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &843935389 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 843935388} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: -2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &843935391 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 843935388} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &843935392 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 843935388} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &854975130 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 854975131} + - component: {fileID: 854975132} + m_Layer: 0 + m_Name: Sample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &854975131 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854975130} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1775161847} + - {fileID: 1807208077} + m_Father: {fileID: 421270284} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &854975132 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 854975130} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 81bde606c79381e43a9cb4d2ea09dafb, type: 3} + m_Name: + m_EditorClassIdentifier: + startTransforms: + - {fileID: 1787406386} + - {fileID: 1671499499} + - {fileID: 2144634508} + - {fileID: 725946423} + - {fileID: 1761356709} + - {fileID: 1314539126} + - {fileID: 2125815316} + - {fileID: 559695042} + - {fileID: 1042482287} + - {fileID: 1947764985} + - {fileID: 2125733970} + - {fileID: 1834899421} + - {fileID: 418005863} + - {fileID: 1160372719} + - {fileID: 304098086} + - {fileID: 1194741474} + - {fileID: 788425738} + - {fileID: 556715530} + endTransforms: + - {fileID: 1775246882} + - {fileID: 126949853} + - {fileID: 1600304686} + - {fileID: 610582576} + - {fileID: 514723880} + - {fileID: 1146330899} + - {fileID: 1933641602} + - {fileID: 1148179455} + - {fileID: 1684523024} + - {fileID: 1815835593} + - {fileID: 888175928} + - {fileID: 290865107} + - {fileID: 591753763} + - {fileID: 449338219} + - {fileID: 1545544589} + - {fileID: 627243105} + - {fileID: 973108896} + - {fileID: 1287739912} + colors: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 1, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 1, g: 0.48748046, b: 0, a: 0} + key3: {r: 1, g: 1, b: 0, a: 0} + key4: {r: 0, g: 1, b: 0, a: 0} + key5: {r: 0, g: 1, b: 1, a: 0} + key6: {r: 0, g: 0, b: 1, a: 0} + key7: {r: 1, g: 0, b: 1, a: 0} + ctime0: 0 + ctime1: 10409 + ctime2: 21395 + ctime3: 30647 + ctime4: 37972 + ctime5: 46838 + ctime6: 55898 + ctime7: 65535 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 8 + m_NumAlphaKeys: 2 + colorStepsCount: 7 + rotationEuler: {x: 45, y: 0, z: 0} + size: {x: 1, y: 1, z: 1} + time: 1 + isAnimated: 1 + radius: 2 + speed: 90 + swithColorCooldown: 1 + textCount: 10 +--- !u!1 &888175927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 888175928} + - component: {fileID: 888175930} + - component: {fileID: 888175929} + m_Layer: 0 + m_Name: Point (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &888175928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888175927} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: 1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &888175929 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888175927} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &888175930 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 888175927} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &951613858 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 951613859} + - component: {fileID: 951613862} + - component: {fileID: 951613861} + m_Layer: 0 + m_Name: Point (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &951613859 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951613858} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &951613861 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951613858} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &951613862 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 951613858} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &973108895 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 973108896} + - component: {fileID: 973108898} + - component: {fileID: 973108897} + m_Layer: 0 + m_Name: Point (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &973108896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 973108895} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: -1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &973108897 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 973108895} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &973108898 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 973108895} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1040014781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1040014782} + m_Layer: 0 + m_Name: Raycasts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1040014782 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1040014781} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 15, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1818121150} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1042482286 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1042482287} + - component: {fileID: 1042482289} + - component: {fileID: 1042482288} + m_Layer: 0 + m_Name: Point (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1042482287 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1042482286} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: 2.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1042482288 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1042482286} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1042482289 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1042482286} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1062290711 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1062290712} + - component: {fileID: 1062290715} + - component: {fileID: 1062290714} + m_Layer: 0 + m_Name: Point (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1062290712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062290711} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1062290714 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062290711} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1062290715 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1062290711} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1146330898 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1146330899} + - component: {fileID: 1146330901} + - component: {fileID: 1146330900} + m_Layer: 0 + m_Name: Point (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1146330899 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146330898} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: 3} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1146330900 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146330898} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1146330901 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1146330898} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1148179454 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1148179455} + - component: {fileID: 1148179457} + - component: {fileID: 1148179456} + m_Layer: 0 + m_Name: Point (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1148179455 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1148179454} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.5, y: 0, z: 1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1148179456 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1148179454} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1148179457 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1148179454} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1160372718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1160372719} + - component: {fileID: 1160372721} + - component: {fileID: 1160372720} + m_Layer: 0 + m_Name: Point (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1160372719 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1160372718} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1160372720 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1160372718} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1160372721 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1160372718} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1181606151 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1181606152} + - component: {fileID: 1181606155} + - component: {fileID: 1181606154} + m_Layer: 0 + m_Name: Point (22) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1181606152 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1181606151} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1181606154 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1181606151} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1181606155 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1181606151} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1194741473 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1194741474} + - component: {fileID: 1194741476} + - component: {fileID: 1194741475} + m_Layer: 0 + m_Name: Point (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1194741474 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194741473} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: 0.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1194741475 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194741473} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1194741476 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194741473} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1219013121 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1219013122} + - component: {fileID: 1219013125} + - component: {fileID: 1219013124} + m_Layer: 0 + m_Name: Point (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1219013122 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1219013121} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1219013124 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1219013121} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1219013125 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1219013121} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1260520972 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1260520973} + - component: {fileID: 1260520976} + - component: {fileID: 1260520975} + m_Layer: 0 + m_Name: Point (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1260520973 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1260520972} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1260520975 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1260520972} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1260520976 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1260520972} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1287739911 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1287739912} + - component: {fileID: 1287739914} + - component: {fileID: 1287739913} + m_Layer: 0 + m_Name: Point (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1287739912 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287739911} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: -1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1287739913 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287739911} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1287739914 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287739911} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1314539125 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1314539126} + - component: {fileID: 1314539128} + - component: {fileID: 1314539127} + m_Layer: 0 + m_Name: Point (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1314539126 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1314539125} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: 4.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1314539127 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1314539125} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1314539128 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1314539125} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1400371781 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1400371782} + - component: {fileID: 1400371785} + - component: {fileID: 1400371784} + m_Layer: 0 + m_Name: Point (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1400371782 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400371781} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -4, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1400371784 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400371781} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1400371785 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1400371781} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1432666552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1432666553} + - component: {fileID: 1432666556} + - component: {fileID: 1432666555} + m_Layer: 0 + m_Name: Point (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1432666553 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432666552} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1432666555 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432666552} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1432666556 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432666552} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1449432930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1449432931} + - component: {fileID: 1449432934} + - component: {fileID: 1449432933} + m_Layer: 0 + m_Name: Point (16) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1449432931 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449432930} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: -2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1449432933 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449432930} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1449432934 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449432930} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1449479708 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1449479712} + - component: {fileID: 1449479711} + - component: {fileID: 1449479710} + - component: {fileID: 1449479709} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1449479709 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449479708} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1449479710 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449479708} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1449479711 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449479708} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1449479712 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449479708} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 120721797} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1497922672 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1497922673} + - component: {fileID: 1497922676} + - component: {fileID: 1497922675} + - component: {fileID: 1497922674} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1497922673 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497922672} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -1, z: 0} + m_LocalScale: {x: 10, y: 1, z: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 421270284} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1497922674 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497922672} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1497922675 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497922672} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dc69f1a5abbb7d348a71d0d194dd6856, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1497922676 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497922672} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1545544588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1545544589} + - component: {fileID: 1545544591} + - component: {fileID: 1545544590} + m_Layer: 0 + m_Name: Point (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1545544589 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545544588} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: -1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1545544590 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545544588} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1545544591 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545544588} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1600304685 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1600304686} + - component: {fileID: 1600304688} + - component: {fileID: 1600304687} + m_Layer: 0 + m_Name: Point (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1600304686 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600304685} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: 3} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1600304687 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600304685} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1600304688 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1600304685} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1671499498 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1671499499} + - component: {fileID: 1671499501} + - component: {fileID: 1671499500} + m_Layer: 0 + m_Name: Point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1671499499 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1671499498} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.5, y: 0, z: 4.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1671499500 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1671499498} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1671499501 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1671499498} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1684523023 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1684523024} + - component: {fileID: 1684523026} + - component: {fileID: 1684523025} + m_Layer: 0 + m_Name: Point (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1684523024 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684523023} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: 1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1684523025 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684523023} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1684523026 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1684523023} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1714541213 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1714541214} + - component: {fileID: 1714541217} + - component: {fileID: 1714541216} + m_Layer: 0 + m_Name: Point (23) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1714541214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1714541213} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: -4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1714541216 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1714541213} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1714541217 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1714541213} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1760546241 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1760546242} + - component: {fileID: 1760546245} + - component: {fileID: 1760546244} + m_Layer: 0 + m_Name: Point (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1760546242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760546241} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1760546244 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760546241} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1760546245 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760546241} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1761356708 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1761356709} + - component: {fileID: 1761356711} + - component: {fileID: 1761356710} + m_Layer: 0 + m_Name: Point (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1761356709 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1761356708} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: 4.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1761356710 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1761356708} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1761356711 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1761356708} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1775161846 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1775161847} + - component: {fileID: 1775161848} + m_Layer: 0 + m_Name: Starts + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1775161847 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1775161846} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1787406386} + - {fileID: 1671499499} + - {fileID: 2144634508} + - {fileID: 725946423} + - {fileID: 1761356709} + - {fileID: 1314539126} + - {fileID: 2125815316} + - {fileID: 559695042} + - {fileID: 1042482287} + - {fileID: 1947764985} + - {fileID: 2125733970} + - {fileID: 1834899421} + - {fileID: 418005863} + - {fileID: 1160372719} + - {fileID: 304098086} + - {fileID: 1194741474} + - {fileID: 788425738} + - {fileID: 556715530} + m_Father: {fileID: 854975131} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1775161848 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1775161846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1232ed76958b8f748886775234321b34, type: 3} + m_Name: + m_EditorClassIdentifier: + isAnimated: 1 + radius: 1 + moveSpeed: 25 + rotateSpeed: 0 +--- !u!1 &1775246881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1775246882} + - component: {fileID: 1775246884} + - component: {fileID: 1775246883} + m_Layer: 0 + m_Name: Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1775246882 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1775246881} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 3} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1775246883 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1775246881} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1775246884 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1775246881} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1787406385 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1787406386} + - component: {fileID: 1787406388} + - component: {fileID: 1787406387} + m_Layer: 0 + m_Name: Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1787406386 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787406385} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 4.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1787406387 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787406385} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1787406388 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787406385} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1800693604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1800693605} + - component: {fileID: 1800693606} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1800693605 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1800693604} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 298618462} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1800693606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1800693604} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 294184ec03715ac4c9d39ad3f0f89f27, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1807208076 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1807208077} + - component: {fileID: 1807208078} + m_Layer: 0 + m_Name: Ends + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1807208077 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1807208076} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1775246882} + - {fileID: 126949853} + - {fileID: 1600304686} + - {fileID: 610582576} + - {fileID: 514723880} + - {fileID: 1146330899} + - {fileID: 1933641602} + - {fileID: 1148179455} + - {fileID: 1684523024} + - {fileID: 1815835593} + - {fileID: 888175928} + - {fileID: 290865107} + - {fileID: 591753763} + - {fileID: 449338219} + - {fileID: 1545544589} + - {fileID: 627243105} + - {fileID: 973108896} + - {fileID: 1287739912} + m_Father: {fileID: 854975131} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1807208078 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1807208076} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1232ed76958b8f748886775234321b34, type: 3} + m_Name: + m_EditorClassIdentifier: + isAnimated: 1 + radius: 1 + moveSpeed: 50 + rotateSpeed: 0 +--- !u!1 &1815835592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1815835593} + - component: {fileID: 1815835595} + - component: {fileID: 1815835594} + m_Layer: 0 + m_Name: Point (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1815835593 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815835592} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: 1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1815835594 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815835592} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1815835595 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1815835592} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1818121149 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1818121150} + - component: {fileID: 1818121151} + m_Layer: 0 + m_Name: Sample + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1818121150 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1818121149} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 48585892} + m_Father: {fileID: 1040014782} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1818121151 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1818121149} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3fa530d3f78c4c447b90e1a4ada62f7b, type: 3} + m_Name: + m_EditorClassIdentifier: + rotation: {x: 20, y: 20, z: 0} + size: {x: 0.5, y: 0.5, z: 0.5} + time: 1 + textCount: 10 +--- !u!1 &1834899420 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1834899421} + - component: {fileID: 1834899423} + - component: {fileID: 1834899422} + m_Layer: 0 + m_Name: Point (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1834899421 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834899420} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: 2.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1834899422 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834899420} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1834899423 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1834899420} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1933641601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1933641602} + - component: {fileID: 1933641604} + - component: {fileID: 1933641603} + m_Layer: 0 + m_Name: Point (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1933641602 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933641601} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 1} + m_LocalScale: {x: 0.099999994, y: 0.099999994, z: 0.099999994} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1807208077} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1933641603 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933641601} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1933641604 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1933641601} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1947764984 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1947764985} + - component: {fileID: 1947764987} + - component: {fileID: 1947764986} + m_Layer: 0 + m_Name: Point (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1947764985 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1947764984} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.5, y: 0, z: 2.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1947764986 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1947764984} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1947764987 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1947764984} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2036988412 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2036988413} + - component: {fileID: 2036988416} + - component: {fileID: 2036988415} + m_Layer: 0 + m_Name: Point (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2036988413 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2036988412} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2, y: 0, z: 4} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2036988415 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2036988412} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2036988416 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2036988412} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2125733969 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2125733970} + - component: {fileID: 2125733972} + - component: {fileID: 2125733971} + m_Layer: 0 + m_Name: Point (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2125733970 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2125733969} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: 2.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2125733971 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2125733969} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2125733972 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2125733969} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2125815315 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2125815316} + - component: {fileID: 2125815318} + - component: {fileID: 2125815317} + m_Layer: 0 + m_Name: Point (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2125815316 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2125815315} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 2.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2125815317 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2125815315} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2125815318 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2125815315} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2141725769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2141725770} + - component: {fileID: 2141725773} + - component: {fileID: 2141725772} + m_Layer: 0 + m_Name: Point (17) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2141725770 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2141725769} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -2} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 758643987} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2141725772 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2141725769} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2141725773 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2141725769} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2144634507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2144634508} + - component: {fileID: 2144634510} + - component: {fileID: 2144634509} + m_Layer: 0 + m_Name: Point (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2144634508 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144634507} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.5, y: 0, z: 4.5} + m_LocalScale: {x: 0.1, y: 0.1, z: 0.1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1775161847} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2144634509 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144634507} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2144634510 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2144634507} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 298618462} + - {fileID: 734477137} + - {fileID: 120721797} + - {fileID: 421270284} + - {fileID: 1040014782} diff --git a/Samples/Sample.unity.meta b/Samples/Sample.unity.meta new file mode 100644 index 0000000..2f8a86d --- /dev/null +++ b/Samples/Sample.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c4953a4ae22c9f04a9e12d343c60a75d +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Scripts.meta b/Samples/Scripts.meta new file mode 100644 index 0000000..2cb477e --- /dev/null +++ b/Samples/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01548ea02068c8742a87b8485724734f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Scripts/DebugXLinesSample.cs b/Samples/Scripts/DebugXLinesSample.cs new file mode 100644 index 0000000..3e62089 --- /dev/null +++ b/Samples/Scripts/DebugXLinesSample.cs @@ -0,0 +1,117 @@ +using UnityEngine; + +namespace DCFApixels +{ + public class DebugXLinesSample : MonoBehaviour + { + [Header("Base")] + public Transform[] startTransforms; + public Transform[] endTransforms; + public Gradient colors; + public int colorStepsCount = 7; + + [Header("Draw")] + public Vector3 rotationEuler; + public Vector3 size = Vector3.one; + public float time = 0; + + [Header("Animation")] + public bool isAnimated = false; + public float radius = 5f; + public float speed = 30f; + public float swithColorCooldown = 1f; + private float _angle = 0f; + private float _colorOffset = 0; + + [Header("Stress Test")] + public int textCount = 1; + + private void LateUpdate() + { +#if UNITY_EDITOR + if (FrameDebugger.enabled) { return; } +#endif + if (isAnimated) + { + _angle += speed * Time.deltaTime; + + float radians = _angle * Mathf.Deg2Rad; + + float x = Mathf.Cos(radians) * radius; + float z = Mathf.Sin(radians) * radius; + + transform.localPosition = new Vector3(x, transform.localPosition.y, z); + + _colorOffset += Time.deltaTime * swithColorCooldown; + } + else + { + transform.localPosition = default; + _colorOffset = 0; + } + + Color GetColor(int i_) + { + return colors.Evaluate((_colorOffset + 1f * i_ / colorStepsCount) % 1f); + } + + for (int h = 0; h < textCount; h++) + { + Quaternion rotation = Quaternion.Euler(rotationEuler); + int i = -1; + Vector3 start, end; + + + const float LineMultiplier = 0.18f; + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).Line(start, end); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).WidthLine(start, end, size.x * LineMultiplier); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).WidthOutLine(start, end, size.x * LineMultiplier); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).ZigzagLine(start, end, size.x * LineMultiplier); + + i++; + i++; + + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).Line(start, end, DebugXLine.Arrow); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).Line(start, end, DebugXLine.Fade); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).Line(start, end, DebugXLine.Arrow, DebugXLine.Arrow); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).Line(start, end, DebugXLine.Fade, DebugXLine.Fade); + + i++; + start = startTransforms[i].position; + end = endTransforms[i].position; + DebugX.Draw(time, GetColor(i)).Line(start, end, DebugXLine.Arrow, DebugXLine.Fade); + } + } + } +} \ No newline at end of file diff --git a/Samples/Scripts/DebugXLinesSample.cs.meta b/Samples/Scripts/DebugXLinesSample.cs.meta new file mode 100644 index 0000000..f658811 --- /dev/null +++ b/Samples/Scripts/DebugXLinesSample.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 81bde606c79381e43a9cb4d2ea09dafb \ No newline at end of file diff --git a/Samples/Scripts/DebugXPrimitivesSample.cs b/Samples/Scripts/DebugXPrimitivesSample.cs new file mode 100644 index 0000000..442e268 --- /dev/null +++ b/Samples/Scripts/DebugXPrimitivesSample.cs @@ -0,0 +1,105 @@ +using DCFApixels.DebugXCore; +using UnityEngine; + +namespace DCFApixels +{ + public class DebugXPrimitivesSample : MonoBehaviour + { + [Header("Base")] + public Transform[] transforms; + public Gradient colors; + public int colorStepsCount = 7; + + [Header("Draw")] + public Vector3 rotationEuler; + public Vector3 size = Vector3.one; + public float time = 0; + + [Header("Animation")] + public bool isAnimated = false; + public float radius = 5f; + public float speed = 30f; + public float swithColorCooldown = 1f; + private float _angle = 0f; + private float _colorOffset = 0; + + [Header("Stress Test")] + public int textCount = 1; + + + private void Update() + { +#if UNITY_EDITOR + if (FrameDebugger.enabled) { return; } +#endif + if (isAnimated) + { + _angle += speed * Time.deltaTime; + + float radians = _angle * Mathf.Deg2Rad; + + float x = Mathf.Cos(radians) * radius; + float z = Mathf.Sin(radians) * radius; + + transform.localPosition = new Vector3(x, transform.localPosition.y, z); + + _colorOffset += Time.deltaTime * swithColorCooldown; + } + else + { + transform.localPosition = default; + _colorOffset = 0; + } + + Color GetColor(int i_) + { + return colors.Evaluate((_colorOffset + 1f * i_ / colorStepsCount) % 1f); + } + + for (int h = 0; h < textCount; h++) + { + Quaternion rotation = Quaternion.Euler(rotationEuler); + + int i = -1; + + i++; DebugX.Draw(time, GetColor(i)).Sphere(transforms[i].position, size.x * 0.5f); + i++; DebugX.Draw(time, GetColor(i)).WireSphere(transforms[i].position, size.x * 0.5f); + i++; DebugX.Draw(time, GetColor(i)).Circle(transforms[i].position, rotation, size.x * 0.5f); + i++; DebugX.Draw(time, GetColor(i)).WireCircle(transforms[i].position, rotation, size.x * 0.5f); + + i++; DebugX.Draw(time, GetColor(i)).BillboardCircle(transforms[i].position, size.x * 0.5f); + + + i++; DebugX.Draw(time, GetColor(i)).Cube(transforms[i].position, rotation, size); + i++; DebugX.Draw(time, GetColor(i)).WireCube(transforms[i].position, rotation, size); + i++; DebugX.Draw(time, GetColor(i)).Quad(transforms[i].position, rotation, size); + i++; DebugX.Draw(time, GetColor(i)).WireQuad(transforms[i].position, rotation, size); + + i++; DebugX.Draw(time, GetColor(i)).Cross(transforms[i].position, size.x); + + + i++; DebugX.Draw(time, GetColor(i)).CubePoints(transforms[i].position, rotation, size); + i++; DebugX.Draw(time, GetColor(i)).CubeGrid(transforms[i].position, rotation, size, new Vector3Int(2, 3, 4)); + i++; DebugX.Draw(time, GetColor(i)).QuadPoints(transforms[i].position, rotation, size); + i++; DebugX.Draw(time, GetColor(i)).QuadGrid(transforms[i].position, rotation, size, new Vector2Int(2, 3)); + + i++; DebugX.Draw(time, GetColor(i)).Mesh(transforms[i].position, Quaternion.identity, new Vector3(size.x, size.x, size.x) * 0.5f); + + + i++; DebugX.Draw(time, GetColor(i)).Capsule(transforms[i].position, rotation, size.x / 2f, size.y); + i++; DebugX.Draw(time, GetColor(i)).WireCapsule(transforms[i].position, rotation, size.x / 2f, size.y); + i++; DebugX.Draw(time, GetColor(i)).FlatCapsule(transforms[i].position, rotation, size.x / 2f, size.y); + i++; DebugX.Draw(time, GetColor(i)).WireFlatCapsule(transforms[i].position, rotation, size.x / 2f, size.y); + + i++; DebugX.Draw(time, GetColor(i)).Text(transforms[i].position, "Hello World"); + + + i++; DebugX.Draw(time, GetColor(i)).Dot(transforms[i].position); + i++; DebugX.Draw(time, GetColor(i)).WireDot(transforms[i].position); + i++; DebugX.Draw(time, GetColor(i)).DotCross(transforms[i].position); + i++; DebugX.Draw(time, GetColor(i)).DotQuad(transforms[i].position); + i++; DebugX.Draw(time, GetColor(i)).DotDiamond(transforms[i].position); + } + } + } +} \ No newline at end of file diff --git a/Samples/Scripts/DebugXPrimitivesSample.cs.meta b/Samples/Scripts/DebugXPrimitivesSample.cs.meta new file mode 100644 index 0000000..7cceac4 --- /dev/null +++ b/Samples/Scripts/DebugXPrimitivesSample.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c953e4e7e1dd4f44f97452cb5ed6bdda \ No newline at end of file diff --git a/Samples/Scripts/DebugXRaycastsSample.cs b/Samples/Scripts/DebugXRaycastsSample.cs new file mode 100644 index 0000000..f94ab77 --- /dev/null +++ b/Samples/Scripts/DebugXRaycastsSample.cs @@ -0,0 +1,71 @@ +using UnityEngine; + +namespace DCFApixels +{ + public class DebugXRaycastsSample : MonoBehaviour + { + private const float Offaet = 30f; + private const int Count = 4; + private const float Radius = 6f; + + public Vector3 rotation = new Vector3(0, 45, 0); + public Vector3 size = Vector3.one * 0.5f; + public float time = 0f; + + private Transform[] _transforms; + + [Header("Stress Test")] + public int textCount = 1; + + private void Start() + { + float addAngle = +360f / Count * Mathf.Deg2Rad; + float angle = Offaet * Mathf.Deg2Rad; + _transforms = new Transform[Count]; + for (int i = 0; i < Count; i++) + { + var transform = new GameObject().transform; + _transforms[i] = transform; + transform.SetParent(this.transform); + + angle += addAngle; + transform.localPosition = new Vector3(Mathf.Cos(angle), 0, Mathf.Sin(angle)) * Radius; + transform.LookAt(this.transform.position); + } + } + private void LateUpdate() + { +#if UNITY_EDITOR + if (FrameDebugger.enabled) { return; } +#endif + Quaternion rotation = Quaternion.Euler(this.rotation); + Transform transform; + RaycastHit hit; + + for (int j = 0; j < textCount; j++) + { + int i = -1; + + transform = _transforms[++i]; + Physics.Raycast(transform.position, transform.forward, out hit); + DebugX.Draw(time, Color.red).Raycast(transform.position, transform.forward, hit); + + transform = _transforms[++i]; + Physics.SphereCast(transform.position, size.x, transform.forward, out hit); + DebugX.Draw(time, Color.yellow).SphereCast(transform.position, transform.forward, size.x, hit); + + transform = _transforms[++i]; + Physics.BoxCast(transform.position, size, transform.forward, out hit, rotation); + DebugX.Draw(time, Color.green).BoxCast(transform.position, transform.forward, rotation, size, hit); + + transform = _transforms[++i]; + Vector3 point1, point2; + point1 = transform.position + rotation * Vector3.down / 2f; + point2 = transform.position + rotation * Vector3.up / 2f; + + Physics.CapsuleCast(point1, point2, size.x, transform.forward, out hit); + DebugX.Draw(time, Color.blue).CapsuleCast(point1, point2, transform.forward, size.x, hit); + } + } + } +} \ No newline at end of file diff --git a/Samples/Scripts/DebugXRaycastsSample.cs.meta b/Samples/Scripts/DebugXRaycastsSample.cs.meta new file mode 100644 index 0000000..90169e1 --- /dev/null +++ b/Samples/Scripts/DebugXRaycastsSample.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3fa530d3f78c4c447b90e1a4ada62f7b \ No newline at end of file diff --git a/Samples/Scripts/DebugXSampleAnimation.cs b/Samples/Scripts/DebugXSampleAnimation.cs new file mode 100644 index 0000000..0a179d8 --- /dev/null +++ b/Samples/Scripts/DebugXSampleAnimation.cs @@ -0,0 +1,36 @@ +using UnityEngine; + +namespace DCFApixels +{ + public class DebugXSampleAnimation : MonoBehaviour + { + [Header("Animation")] + public bool isAnimated = false; + public float radius = 5f; + public float moveSpeed = 30f; + public float rotateSpeed = 30f; + private float _angle = 0f; + + + private void Update() + { + if (isAnimated) + { + _angle += moveSpeed * Time.deltaTime; + + float radians = _angle * Mathf.Deg2Rad; + + float x = Mathf.Cos(radians) * radius; + float z = Mathf.Sin(radians) * radius; + + transform.localPosition = new Vector3(x, transform.localPosition.y, z); + + transform.Rotate(new Vector3(0, rotateSpeed * Time.deltaTime, 0)); + } + else + { + transform.localPosition = default; + } + } + } +} \ No newline at end of file diff --git a/Samples/Scripts/DebugXSampleAnimation.cs.meta b/Samples/Scripts/DebugXSampleAnimation.cs.meta new file mode 100644 index 0000000..138b7de --- /dev/null +++ b/Samples/Scripts/DebugXSampleAnimation.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1232ed76958b8f748886775234321b34 \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..68d0eef --- /dev/null +++ b/package.json @@ -0,0 +1,21 @@ +{ + "name": "com.dcfa_pixels.debugx", + "author": + { + "name": "DCFApixels", + "url": "https://github.com/DCFApixels" + }, + "displayName": "DebugX", + "description": "", + "unity": "2020.3", + "version": "0.5.0", + "repository": { + "type": "git", + "url": "https://github.com/DCFApixels/DebugX.git" + }, + "keywords": + [ + "editor", + "utility" + ] +} \ No newline at end of file diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..61be3bb --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c5deedea8fed3f64090aa177ce49ca2c +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: