From 89983814bdc03143723e3c0f94bbf5a508687a5f Mon Sep 17 00:00:00 2001 From: errorcode Date: Mon, 25 Apr 2022 03:34:31 +0300 Subject: [PATCH] add project --- CHANGELOG.md | 0 CHANGELOG.md.meta | 7 + Documentation.meta | 8 + Documentation/debugdrawex.md | 0 Documentation/debugdrawex.md.meta | 7 + LICENSE.md | 0 LICENSE.md.meta | 7 + README.md | 0 README.md.meta | 7 + Runtime.meta | 8 + Runtime/DebugDrawEx.meta | 8 + Runtime/DebugDrawEx/DebugDraw.cs | 142 +++++ Runtime/DebugDrawEx/DebugDraw.cs.meta | 11 + Runtime/DebugDrawEx/Line.cs | 65 +++ Runtime/DebugDrawEx/Line.cs.meta | 11 + Runtime/DebugDrawEx/LineMonoBehaviour.cs | 22 + Runtime/DebugDrawEx/LineMonoBehaviour.cs.meta | 3 + Runtime/ropogames.debugdrawex.asmdef | 14 + Runtime/ropogames.debugdrawex.asmdef.meta | 7 + Samples.meta | 8 + Samples/Scenes.meta | 8 + Samples/Scenes/SampleScene.unity | 534 ++++++++++++++++++ Samples/Scenes/SampleScene.unity.meta | 7 + Samples/Test.cs | 24 + Samples/Test.cs.meta | 11 + package.json | 15 + package.json.meta | 7 + 27 files changed, 941 insertions(+) create mode 100644 CHANGELOG.md create mode 100644 CHANGELOG.md.meta create mode 100644 Documentation.meta create mode 100644 Documentation/debugdrawex.md create mode 100644 Documentation/debugdrawex.md.meta create mode 100644 LICENSE.md create mode 100644 LICENSE.md.meta create mode 100644 README.md create mode 100644 README.md.meta create mode 100644 Runtime.meta create mode 100644 Runtime/DebugDrawEx.meta create mode 100644 Runtime/DebugDrawEx/DebugDraw.cs create mode 100644 Runtime/DebugDrawEx/DebugDraw.cs.meta create mode 100644 Runtime/DebugDrawEx/Line.cs create mode 100644 Runtime/DebugDrawEx/Line.cs.meta create mode 100644 Runtime/DebugDrawEx/LineMonoBehaviour.cs create mode 100644 Runtime/DebugDrawEx/LineMonoBehaviour.cs.meta create mode 100644 Runtime/ropogames.debugdrawex.asmdef create mode 100644 Runtime/ropogames.debugdrawex.asmdef.meta create mode 100644 Samples.meta create mode 100644 Samples/Scenes.meta create mode 100644 Samples/Scenes/SampleScene.unity create mode 100644 Samples/Scenes/SampleScene.unity.meta create mode 100644 Samples/Test.cs create mode 100644 Samples/Test.cs.meta create mode 100644 package.json create mode 100644 package.json.meta diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/CHANGELOG.md.meta b/CHANGELOG.md.meta new file mode 100644 index 0000000..f962e1d --- /dev/null +++ b/CHANGELOG.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6c6cddf31a3c3d44a57d6efdc7b7be7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation.meta b/Documentation.meta new file mode 100644 index 0000000..b7da7dc --- /dev/null +++ b/Documentation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c55cf6373cd5d0a45b3c601dbc6bf11a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation/debugdrawex.md b/Documentation/debugdrawex.md new file mode 100644 index 0000000..e69de29 diff --git a/Documentation/debugdrawex.md.meta b/Documentation/debugdrawex.md.meta new file mode 100644 index 0000000..f4e043e --- /dev/null +++ b/Documentation/debugdrawex.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a08517034b30e15439e41d0934ba3e65 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..e69de29 diff --git a/LICENSE.md.meta b/LICENSE.md.meta new file mode 100644 index 0000000..5041a60 --- /dev/null +++ b/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 348290d45f68f6849987b7adcf4a837e +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/README.md.meta b/README.md.meta new file mode 100644 index 0000000..5d916b3 --- /dev/null +++ b/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 88ec24e6589d20b4c96ef50762d888c1 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime.meta b/Runtime.meta new file mode 100644 index 0000000..de6d3c6 --- /dev/null +++ b/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a43c48b7fbcd304882367535b95899c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/DebugDrawEx.meta b/Runtime/DebugDrawEx.meta new file mode 100644 index 0000000..45f6d1e --- /dev/null +++ b/Runtime/DebugDrawEx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8cf6f82e62b403b48b531af84b48251c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/DebugDrawEx/DebugDraw.cs b/Runtime/DebugDrawEx/DebugDraw.cs new file mode 100644 index 0000000..b41fef9 --- /dev/null +++ b/Runtime/DebugDrawEx/DebugDraw.cs @@ -0,0 +1,142 @@ +using System.ComponentModel; +using UnityEngine; + +namespace DebugDrawEx +{ + public static class DebugDraw + { + /// + /// Draws a line between specified start and end points. + /// + /// Point in world space where the line should start. + /// Point in world space where the line should end. + /// Color of the line. + /// How long the line should be visible for. + /// Should the line be obscured by objects closer to the camera? + public static void DrawLine(Vector3 start, Vector3 end) + { + bool depthTest = true; + float duration = 0.0f; + Color white = Color.white; + DrawLine(start, end, white, duration, depthTest); + } + + /// + /// Draws a line between specified start and end points. + /// + /// Point in world space where the line should start. + /// Point in world space where the line should end. + /// Color of the line. + /// How long the line should be visible for. + /// Should the line be obscured by objects closer to the camera? + public static void DrawLine(Vector3 start, Vector3 end, Color color) + { + bool depthTest = true; + float duration = 0.0f; + DrawLine(start, end, color, duration, depthTest); + } + + /// + /// Draws a line between specified start and end points. + /// + /// Point in world space where the line should start. + /// Point in world space where the line should end. + /// Color of the line. + /// How long the line should be visible for. + /// Should the line be obscured by objects closer to the camera? + public static void DrawLine(Vector3 start, Vector3 end, Color color, float duration) + { + bool depthTest = true; + DrawLine(start, end, color, duration, depthTest); + } + + /// + /// Draws a line between specified start and end points. + /// + /// Point in world space where the line should start. + /// Point in world space where the line should end. + /// Color of the line. + /// How long the line should be visible for. + /// Should the line be obscured by objects closer to the camera? + public static void DrawLine( + Vector3 start, + Vector3 end, + [DefaultValue("Color.white")] Color color, + [DefaultValue("0.0f")] float duration, + [DefaultValue("true")] bool depthTest) + { + var line = new Line + { + Duration = duration, + DepthTest = depthTest + }; + line.AddLine(start, end, color); + + Graphics.DrawMesh(line.Mesh, Vector3.zero, Quaternion.identity, line.Mat, + 0 , null, 0, null, false,false); + } + + /// + /// Draws a line from start to start + dir in world coordinates. + /// + /// Point in world space where the ray should start. + /// Direction and length of the ray. + /// Color of the drawn line. + /// How long the line will be visible for (in seconds). + /// Should the line be obscured by other objects closer to the camera? + public static void DrawRay(Vector3 start, Vector3 dir) + { + bool depthTest = true; + float duration = 0.0f; + Color white = Color.white; + DrawRay(start, dir, white, duration, depthTest); + } + + /// + /// Draws a line from start to start + dir in world coordinates. + /// + /// Point in world space where the ray should start. + /// Direction and length of the ray. + /// Color of the drawn line. + /// How long the line will be visible for (in seconds). + /// Should the line be obscured by other objects closer to the camera? + public static void DrawRay(Vector3 start, Vector3 dir, Color color) + { + bool depthTest = true; + float duration = 0.0f; + DrawRay(start, dir, color, duration, depthTest); + } + + /// + /// Draws a line from start to start + dir in world coordinates. + /// + /// Point in world space where the ray should start. + /// Direction and length of the ray. + /// Color of the drawn line. + /// How long the line will be visible for (in seconds). + /// Should the line be obscured by other objects closer to the camera? + public static void DrawRay(Vector3 start, Vector3 dir, Color color, float duration) + { + bool depthTest = true; + DrawRay(start, dir, color, duration, depthTest); + } + + /// + /// Draws a line from start to start + dir in world coordinates. + /// + /// Point in world space where the ray should start. + /// Direction and length of the ray. + /// Color of the drawn line. + /// How long the line will be visible for (in seconds). + /// Should the line be obscured by other objects closer to the camera? + public static void DrawRay( + Vector3 start, + Vector3 dir, + [DefaultValue("Color.white")] Color color, + [DefaultValue("0.0f")] float duration, + [DefaultValue("true")] bool depthTest) + { + DrawLine(start, start + dir, color, duration, depthTest); + } + } +} diff --git a/Runtime/DebugDrawEx/DebugDraw.cs.meta b/Runtime/DebugDrawEx/DebugDraw.cs.meta new file mode 100644 index 0000000..fa1d4b6 --- /dev/null +++ b/Runtime/DebugDrawEx/DebugDraw.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 816219397a19e3d459204148c5e855aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/DebugDrawEx/Line.cs b/Runtime/DebugDrawEx/Line.cs new file mode 100644 index 0000000..34d8446 --- /dev/null +++ b/Runtime/DebugDrawEx/Line.cs @@ -0,0 +1,65 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace DebugDrawEx +{ + public class Line + { + public Material Mat { get; set; } + public Mesh Mesh { get; private set; } + public bool DepthTest { get; set; } + public float Duration { get; set; } + private readonly List _vertices; + private readonly List _colors; + private readonly List _indices; + private static readonly int ZTest = Shader.PropertyToID("_ZTest"); + + public Line() + { + _vertices = new List(); + _colors = new List(); + _indices = new List(); + } + + public void AddLine(Vector3 from, Vector3 to, Color color) + { + _vertices.Add(from); + _vertices.Add(to); + _colors.Add(color); + _colors.Add(color); + _indices.Add(_vertices.Count - 2); + _indices.Add(_vertices.Count - 1); + Mesh = CreateMesh(); + + if (Duration != 0) + CreateGameObjectLine(from, to, color); + } + + private void CreateGameObjectLine(Vector3 from, Vector3 to, Color color) + { + var go = new GameObject("line"); + go.hideFlags = HideFlags.HideAndDontSave; + var lineMonoBehaviour = go.AddComponent(); + lineMonoBehaviour.Point1 = from; + lineMonoBehaviour.Point2 = to; + lineMonoBehaviour.Color = color; + lineMonoBehaviour.Duration = Duration; + lineMonoBehaviour.DepthTest = DepthTest; + } + + private Mesh CreateMesh() + { + var newMesh = new Mesh(); + newMesh.MarkDynamic(); + + Mat = new Material(Shader.Find("Hidden/Internal-Colored")); + Mat.SetInt(ZTest, DepthTest ? 4 : 0); + + newMesh.SetVertices(_vertices); + newMesh.SetColors(_colors); + newMesh.SetIndices(_indices.ToArray(), MeshTopology.Lines, 0); + + return newMesh; + } + } +} diff --git a/Runtime/DebugDrawEx/Line.cs.meta b/Runtime/DebugDrawEx/Line.cs.meta new file mode 100644 index 0000000..a6621d2 --- /dev/null +++ b/Runtime/DebugDrawEx/Line.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 058673d64d6600b42a67a06926f156f0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/DebugDrawEx/LineMonoBehaviour.cs b/Runtime/DebugDrawEx/LineMonoBehaviour.cs new file mode 100644 index 0000000..005fd9e --- /dev/null +++ b/Runtime/DebugDrawEx/LineMonoBehaviour.cs @@ -0,0 +1,22 @@ +using UnityEngine; + +namespace DebugDrawEx +{ + public class LineMonoBehaviour : MonoBehaviour + { + public Color Color { get; set; } + public Vector3 Point1 { get; set; } + public Vector3 Point2 { get; set; } + public float Duration { get; set; } + public bool DepthTest { get; set; } + + private void Update() + { + Duration -= Time.unscaledDeltaTime; + if (Duration <= 0) + Destroy(gameObject); + + DebugDraw.DrawLine(Point1, Point2, Color, 0, DepthTest); + } + } +} \ No newline at end of file diff --git a/Runtime/DebugDrawEx/LineMonoBehaviour.cs.meta b/Runtime/DebugDrawEx/LineMonoBehaviour.cs.meta new file mode 100644 index 0000000..eb4f1cc --- /dev/null +++ b/Runtime/DebugDrawEx/LineMonoBehaviour.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: c00083303fe24687900c8c43b4960781 +timeCreated: 1650843949 \ No newline at end of file diff --git a/Runtime/ropogames.debugdrawex.asmdef b/Runtime/ropogames.debugdrawex.asmdef new file mode 100644 index 0000000..5ece832 --- /dev/null +++ b/Runtime/ropogames.debugdrawex.asmdef @@ -0,0 +1,14 @@ +{ + "name": "ropogames.debugdrawex", + "rootNamespace": "", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Runtime/ropogames.debugdrawex.asmdef.meta b/Runtime/ropogames.debugdrawex.asmdef.meta new file mode 100644 index 0000000..46e5acb --- /dev/null +++ b/Runtime/ropogames.debugdrawex.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d54eab1b7df05cd4c9fca8a9694f8b4b +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples.meta b/Samples.meta new file mode 100644 index 0000000..91a687e --- /dev/null +++ b/Samples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84f62d9166caf81419e22b56c719735d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Scenes.meta b/Samples/Scenes.meta new file mode 100644 index 0000000..add85b1 --- /dev/null +++ b/Samples/Scenes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1e7d738364c53f94697007d142cf3fe7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Scenes/SampleScene.unity b/Samples/Scenes/SampleScene.unity new file mode 100644 index 0000000..cef295e --- /dev/null +++ b/Samples/Scenes/SampleScene.unity @@ -0,0 +1,534 @@ +%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: 9 + 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: 705507994} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + 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_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + 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 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &705507993 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 705507995} + - component: {fileID: 705507994} + 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 &705507994 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + 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: 1 + 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_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &705507995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + 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 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + 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 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1073102029 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1073102033} + - component: {fileID: 1073102032} + - component: {fileID: 1073102031} + - component: {fileID: 1073102030} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1073102030 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073102029} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1073102031 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073102029} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + 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 &1073102032 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073102029} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1073102033 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073102029} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.586} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1079336495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1079336497} + - component: {fileID: 1079336496} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1079336496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1079336495} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a613bbe57621c0c4bb4ff2524b932ffe, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1079336497 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1079336495} + 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_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1534016060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1534016064} + - component: {fileID: 1534016063} + - component: {fileID: 1534016062} + - component: {fileID: 1534016061} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1534016061 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1534016060} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1534016062 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1534016060} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + 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 &1534016063 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1534016060} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1534016064 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1534016060} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.53, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Samples/Scenes/SampleScene.unity.meta b/Samples/Scenes/SampleScene.unity.meta new file mode 100644 index 0000000..952bd1e --- /dev/null +++ b/Samples/Scenes/SampleScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9fc0d4010bbf28b4594072e72b8655ab +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Samples/Test.cs b/Samples/Test.cs new file mode 100644 index 0000000..af58d81 --- /dev/null +++ b/Samples/Test.cs @@ -0,0 +1,24 @@ +using DebugDrawEx; +using UnityEngine; + +public class Test : MonoBehaviour +{ + void Start() + { + var point1 = new Vector3(-3, 0, 0); + var point2 = new Vector3(3, 0, 0); + DebugDraw.DrawLine(point1, point2, Color.green, 5, true); + //Debug.DrawLine(point1, point2, Color.green, 1000, false); + //Debug.DrawLine(point1, point2); + } + + void Update() + { + /* + var point1 = new Vector3(-3, 0, 0); + var point2 = new Vector3(3, 0, 0); + DebugDraw.DrawLine(point1, point2, Color.green, 0, true); + //Debug.DrawLine(point1, point2, Color.green, 1000, false); + */ + } +} diff --git a/Samples/Test.cs.meta b/Samples/Test.cs.meta new file mode 100644 index 0000000..7ec2b02 --- /dev/null +++ b/Samples/Test.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a613bbe57621c0c4bb4ff2524b932ffe +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json new file mode 100644 index 0000000..60462bc --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "com.ropogames.debugdrawex", + "version": "0.1.0", + "displayName": "Debug Draw Ex", + "description": "Debug draw in runtime", + "keywords": [ + "debug", + "log" + ], + "author": { + "name": "errorcode", + "email": "errorcode@mail.ru", + "url": "https://chilidoginteractive.com/" + } +} diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..bf8f0de --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 35d85ff0009227d4889273c1bde83bb0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: