From 432b0a51434d7a77ddfc5e4ab53f3d24f0954945 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 13:35:53 +0800 Subject: [PATCH 1/8] Update README.md --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 1ca7a64..69d271e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,25 @@ # Unity-DebugX ![image](https://github.com/user-attachments/assets/fb3edbce-9164-4ad7-a7a2-85748edf58e0) + +Продвинутый Debug.DrawLine движка Unity. +Многофункциональный, расширяемый и высоко производительный инструмент для рисования Gizmos. + +API для рисования заготовленные Gizmo: +'''c# +DebugX.Draw(duration, color).*Gizmo Function*(...); +''' + +API для рисования кастомного меша и материала: +'''c# +//Рисования любого меша lit материалом. Без instansing. +DebugX.Draw(...).Mesh(mesh, pos, rot, sc); +//UnlitMesh - меш с unlit материалом +//WireMesh - меш с wireframe материалом + +//Рисования статического меша lit материалом. В режиме instansing. +DebugX.Draw(...).Mesh(pos, rot, sc); + +//Рисования статического меша кастомным материалом. В режиме instansing. +DebugX.Draw(...).Mesh(pos, rot, sc); +''' From e67da417f1f350859e2339d0b37728b568b44c09 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 13:51:41 +0800 Subject: [PATCH 2/8] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 69d271e..1b30f0f 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,12 @@ Многофункциональный, расширяемый и высоко производительный инструмент для рисования Gizmos. API для рисования заготовленные Gizmo: -'''c# +```c# DebugX.Draw(duration, color).*Gizmo Function*(...); -''' +``` API для рисования кастомного меша и материала: -'''c# +```c# //Рисования любого меша lit материалом. Без instansing. DebugX.Draw(...).Mesh(mesh, pos, rot, sc); //UnlitMesh - меш с unlit материалом @@ -22,4 +22,4 @@ DebugX.Draw(...).Mesh(pos, rot, sc); //Рисования статического меша кастомным материалом. В режиме instansing. DebugX.Draw(...).Mesh(pos, rot, sc); -''' +``` From d0fcd9f5a742312c0b98ca7050fec0e199812ae0 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 15:03:28 +0800 Subject: [PATCH 3/8] Update README.md --- README.md | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1b30f0f..14b909e 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,7 @@ ![image](https://github.com/user-attachments/assets/fb3edbce-9164-4ad7-a7a2-85748edf58e0) -Продвинутый Debug.DrawLine движка Unity. -Многофункциональный, расширяемый и высоко производительный инструмент для рисования Gizmos. +Многофункциональный, расширяемый и высоко производительный инструмент для рисования Gizmos для Unity. API для рисования заготовленные Gizmo: ```c# @@ -12,14 +11,33 @@ DebugX.Draw(duration, color).*Gizmo Function*(...); API для рисования кастомного меша и материала: ```c# -//Рисования любого меша lit материалом. Без instansing. +//Рисования любого меша lit материалом. Без GPU instancing. DebugX.Draw(...).Mesh(mesh, pos, rot, sc); //UnlitMesh - меш с unlit материалом //WireMesh - меш с wireframe материалом -//Рисования статического меша lit материалом. В режиме instansing. +//Рисования статического меша lit материалом. В режиме GPU instancing. DebugX.Draw(...).Mesh(pos, rot, sc); -//Рисования статического меша кастомным материалом. В режиме instansing. +//Рисования статического меша статическим материалом. В режиме GPU instancing. DebugX.Draw(...).Mesh(pos, rot, sc); ``` + +Для оптимизации отрисовки используются статические данные: +```c# +// Статический меш. +public struct SomeMesh : IStaticMesh +{ + public Mesh GetMesh() => StaticStorage.SomeMesh; +} + +// Статический материал. +public struct SomeMesh : IStaticMesh +{ + public int GetExecutuonOrder() => 100; + public Mesh GetMaterial() => StaticStorage.SomeMaterial; +} +``` +Утилита для загрузки мешей: //TODO + +Кастомная реализация Gizmo://TODO \ No newline at end of file From d285c2dc188d7fa1e0026ba1a8e85ad94dc9a4fb Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 15:03:52 +0800 Subject: [PATCH 4/8] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 14b909e..59320e7 100644 --- a/README.md +++ b/README.md @@ -28,14 +28,14 @@ DebugX.Draw(...).Mesh(pos, rot, sc); // Статический меш. public struct SomeMesh : IStaticMesh { - public Mesh GetMesh() => StaticStorage.SomeMesh; + public Mesh GetMesh() => StaticStorage.SomeMesh; } // Статический материал. public struct SomeMesh : IStaticMesh { - public int GetExecutuonOrder() => 100; - public Mesh GetMaterial() => StaticStorage.SomeMaterial; + public int GetExecutuonOrder() => 100; + public Mesh GetMaterial() => StaticStorage.SomeMaterial; } ``` Утилита для загрузки мешей: //TODO From 94b4a9c53066ff363b2f7cc345d7818b8636e59f Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 19:27:05 +0800 Subject: [PATCH 5/8] Update README.md --- README.md | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 59320e7..c7e23eb 100644 --- a/README.md +++ b/README.md @@ -40,4 +40,42 @@ public struct SomeMesh : IStaticMesh ``` Утилита для загрузки мешей: //TODO -Кастомная реализация Gizmo://TODO \ No newline at end of file +Кастомная реализация Gizmo: +```c# +public readonly struct SomeGizmo : IGizmo +{ + // data... + + public SomeGizmo(/*...*/) + { + //... + } + + public IGizmoRenderer RegisterNewRenderer() => new Renderer(); + private class Renderer : IGizmoRenderer + { + // Контроль порядка выполнения рендереров. + public int ExecuteOrder => //... + // Флаг системе о способе оптимизации. Если методы рисовки зависят от текущей камеры, то false,иначе true. Если не уверены то выбирайте false. + public bool IsStaticRender => //... + + // Подготовка данных перед рендером, тут можно выполнить дополнительные расчеты или запланировать Job. + public void Prepare(Camera camera, GizmosList list) + { + foreach (var item in list) + { + //... + } + } + + // Рендер, тут можно напрямую воспользоваться графическим API или добавить команду в CommandBuffer. + public void Render(Camera camera, GizmosList list, CommandBuffer cb) + { + foreach (var item in list) + { + //... + } + } + } +} +``` \ No newline at end of file From 0c4ba90ef4cc784fa0cd0f5273057db8280e2cb5 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 19:28:07 +0800 Subject: [PATCH 6/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7e23eb..eaff83b 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ public readonly struct SomeGizmo : IGizmo { // Контроль порядка выполнения рендереров. public int ExecuteOrder => //... - // Флаг системе о способе оптимизации. Если методы рисовки зависят от текущей камеры, то false,иначе true. Если не уверены то выбирайте false. + // Флаг системе о способе оптимизации. Если метод рисовки или подготовки зависят от текущей камеры, то false,иначе true. Если не уверены то выбирайте false. public bool IsStaticRender => //... // Подготовка данных перед рендером, тут можно выполнить дополнительные расчеты или запланировать Job. From 018964d1d12b01d3a90a2f36b17a1a7ad8ea88cf Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 19:34:29 +0800 Subject: [PATCH 7/8] Update README.md --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index eaff83b..391f1ec 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ public struct SomeMesh : IStaticMesh ```c# public readonly struct SomeGizmo : IGizmo { - // data... + // Данные. public SomeGizmo(/*...*/) { @@ -78,4 +78,15 @@ public readonly struct SomeGizmo : IGizmo } } } +``` +```c# +//создание метода расширения +public static class SomeGizmoExtensions +{ + public static DrawHandler SomeGizmo(this DrawHandler self, /*...*/) + { + self.Gizmo(new SomeGizmo( /*...*/); + return self; + } +} ``` \ No newline at end of file From 23ca259d6f2f28970ccf412b5f53d909fa4f14c9 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Sun, 23 Feb 2025 19:34:52 +0800 Subject: [PATCH 8/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 391f1ec..36cb5fe 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ public readonly struct SomeGizmo : IGizmo } ``` ```c# -//создание метода расширения +// Создание метода расширения. public static class SomeGizmoExtensions { public static DrawHandler SomeGizmo(this DrawHandler self, /*...*/)