diff --git a/README.md b/README.md index 36cb5fe..8678f20 100644 --- a/README.md +++ b/README.md @@ -2,23 +2,29 @@ ![image](https://github.com/user-attachments/assets/fb3edbce-9164-4ad7-a7a2-85748edf58e0) -Многофункциональный, расширяемый и высоко производительный инструмент для рисования Gizmos для Unity. +Многофункциональная, расширяемая и высокопроизводительная утилита рисования Gizmos для Unity. Работает как в редакторе так и в билде, а вызывать методы отрисовки можно в Update. -API для рисования заготовленные Gizmo: +Синтаксис рисования заготовленныех Gizmo: ```c# DebugX.Draw(duration, color).*Gizmo Function*(...); ``` +![image](https://github.com/user-attachments/assets/97d77716-145d-4357-bcb1-8601871d2fe0) + API для рисования кастомного меша и материала: ```c# //Рисования любого меша lit материалом. Без GPU instancing. DebugX.Draw(...).Mesh(mesh, pos, rot, sc); //UnlitMesh - меш с unlit материалом //WireMesh - меш с wireframe материалом - +``` +```c# //Рисования статического меша lit материалом. В режиме GPU instancing. DebugX.Draw(...).Mesh(pos, rot, sc); - +//UnlitMesh - меш с unlit материалом +//WireMesh - меш с wireframe материалом +``` +```c# //Рисования статического меша статическим материалом. В режиме GPU instancing. DebugX.Draw(...).Mesh(pos, rot, sc); ``` @@ -28,17 +34,25 @@ DebugX.Draw(...).Mesh(pos, rot, sc); // Статический меш. public struct SomeMesh : IStaticMesh { - public Mesh GetMesh() => StaticStorage.SomeMesh; -} - + public Mesh GetMesh() => StaticStorage.SomeMesh; +} +``` +```c# // Статический материал. public struct SomeMesh : IStaticMesh { - public int GetExecutuonOrder() => 100; - public Mesh GetMaterial() => StaticStorage.SomeMaterial; + // Контроль порядка выполнения рендереров. + public int GetExecutuonOrder() => 100; + public Mesh GetMaterial() => StaticStorage.SomeMaterial; } ``` -Утилита для загрузки мешей: //TODO +Окно настроек "Tools -> DebugX -> Settings": + +![image](https://github.com/user-attachments/assets/7dd981c1-1e00-4b7d-9a73-376638094689) + + + +Утилита для загрузки статических ассетов: //TODO Кастомная реализация Gizmo: ```c# @@ -55,9 +69,11 @@ public readonly struct SomeGizmo : IGizmo private class Renderer : IGizmoRenderer { // Контроль порядка выполнения рендереров. - public int ExecuteOrder => //... - // Флаг системе о способе оптимизации. Если метод рисовки или подготовки зависят от текущей камеры, то false,иначе true. Если не уверены то выбирайте false. - public bool IsStaticRender => //... + public int ExecuteOrder => 0; //можно использовать default(SomeMat).GetExecutuonOrder(); + // Флаг системе о способе оптимизации. + // Если метод рисовки или подготовки зависят от текущей камеры, то false,иначе true. + // Если не уверены то выбирайте false. + public bool IsStaticRender => false; // Подготовка данных перед рендером, тут можно выполнить дополнительные расчеты или запланировать Job. public void Prepare(Camera camera, GizmosList list) @@ -85,8 +101,8 @@ public static class SomeGizmoExtensions { public static DrawHandler SomeGizmo(this DrawHandler self, /*...*/) { - self.Gizmo(new SomeGizmo( /*...*/); + self.Gizmo(new SomeGizmo(/*...*/); return self; } } -``` \ No newline at end of file +```