This commit is contained in:
DCFApixels 2025-02-24 10:47:07 +08:00
parent f9dd616078
commit 1d2f9fd700
22 changed files with 3808 additions and 3284 deletions

View File

@ -144,7 +144,8 @@ namespace DCFApixels
{ {
InitGlobals(); InitGlobals();
Meshes = LoadMeshesList(new MeshesList(), $"DCFApixels.DebugX/MeshesList"); Meshes = StaticDataLoader.Load(new MeshesList(), $"DCFApixels.DebugX/MeshesList");
Materials = StaticDataLoader.Load(new MaterialsList(), $"DCFApixels.DebugX/MaterialsList");
IsSRP = GraphicsSettings.currentRenderPipeline != null; IsSRP = GraphicsSettings.currentRenderPipeline != null;

View File

@ -203,12 +203,12 @@ namespace DCFApixels
#region Renderer #region Renderer
private class Renderer : IGizmoRenderer<WidthOutLineGizmo> private class Renderer : IGizmoRenderer<WidthOutLineGizmo>
{ {
public int ExecuteOrder => default(UnlitMat).GetExecuteOrder(); public int ExecuteOrder => default(GeometryUnlitMat).GetExecuteOrder();
public bool IsStaticRender => false; public bool IsStaticRender => false;
public void Prepare(Camera camera, GizmosList<WidthOutLineGizmo> list) { } public void Prepare(Camera camera, GizmosList<WidthOutLineGizmo> list) { }
public void Render(Camera camera, GizmosList<WidthOutLineGizmo> list, CommandBuffer cb) public void Render(Camera camera, GizmosList<WidthOutLineGizmo> list, CommandBuffer cb)
{ {
default(UnlitMat).GetMaterial().SetPass(0); default(GeometryUnlitMat).GetMaterial().SetPass(0);
GL.Begin(GL.LINES); GL.Begin(GL.LINES);
var cameraPosition = camera.transform.position; var cameraPosition = camera.transform.position;
foreach (ref readonly var item in list) foreach (ref readonly var item in list)
@ -264,12 +264,12 @@ namespace DCFApixels
private class Renderer : IGizmoRenderer<ZigzagLineGizmo> private class Renderer : IGizmoRenderer<ZigzagLineGizmo>
{ {
public bool IsStaticRender => false; public bool IsStaticRender => false;
public int ExecuteOrder => default(UnlitMat).GetExecuteOrder(); public int ExecuteOrder => default(GeometryUnlitMat).GetExecuteOrder();
public void Prepare(Camera camera, GizmosList<ZigzagLineGizmo> list) { } public void Prepare(Camera camera, GizmosList<ZigzagLineGizmo> list) { }
public void Render(Camera camera, GizmosList<ZigzagLineGizmo> list, CommandBuffer cb) public void Render(Camera camera, GizmosList<ZigzagLineGizmo> list, CommandBuffer cb)
{ {
GL.PushMatrix(); GL.PushMatrix();
default(UnlitMat).GetMaterial().SetPass(0); default(GeometryUnlitMat).GetMaterial().SetPass(0);
GL.Begin(GL.LINES); GL.Begin(GL.LINES);
var cameraPosition = camera.transform.position; var cameraPosition = camera.transform.position;
foreach (ref readonly var item in list) foreach (ref readonly var item in list)

View File

@ -33,7 +33,7 @@ namespace DCFApixels
[IN(LINE)] [IN(LINE)]
public DrawHandler WireSphere(Vector3 position, float radius) public DrawHandler WireSphere(Vector3 position, float radius)
{ {
Mesh<WireSphereMesh, UnlitMat>(position, Quaternion.identity, new Vector3(radius, radius, radius)); Mesh<WireSphereMesh, GeometryUnlitMat>(position, Quaternion.identity, new Vector3(radius, radius, radius));
Gizmo(new WireSphereGizmo(position, radius)); Gizmo(new WireSphereGizmo(position, radius));
return this; return this;
} }
@ -53,7 +53,7 @@ namespace DCFApixels
private class Renderer : InstancingMeshRendererBase, IGizmoRenderer<WireSphereGizmo> private class Renderer : InstancingMeshRendererBase, IGizmoRenderer<WireSphereGizmo>
{ {
private Gizmo<InstancingMeshGizmoLayout>[] _buffer = Array.Empty<Gizmo<InstancingMeshGizmoLayout>>(); private Gizmo<InstancingMeshGizmoLayout>[] _buffer = Array.Empty<Gizmo<InstancingMeshGizmoLayout>>();
public Renderer() : base(default(WireCircleMesh), default(UnlitMat)) { } public Renderer() : base(default(WireCircleMesh), default(GeometryUnlitMat)) { }
public override bool IsStaticRender => false; public override bool IsStaticRender => false;
public void Prepare(Camera camera, GizmosList<WireSphereGizmo> list) public void Prepare(Camera camera, GizmosList<WireSphereGizmo> list)
{ {
@ -119,7 +119,7 @@ namespace DCFApixels
#region WireCircle #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, Vector3 normal, float radius) => WireCircle(position, Quaternion.LookRotation(normal), radius);
[IN(LINE)] public DrawHandler WireCircle(Vector3 position, Quaternion rotation, float radius) => Mesh<WireCircleMesh, UnlitMat>(position, rotation, new Vector3(radius, radius, radius)); [IN(LINE)] public DrawHandler WireCircle(Vector3 position, Quaternion rotation, float radius) => Mesh<WireCircleMesh, GeometryUnlitMat>(position, rotation, new Vector3(radius, radius, radius));
#endregion #endregion
#region Dot #region Dot
@ -208,8 +208,8 @@ namespace DCFApixels
Vector3 start = position - normalUp * halfHeigth; Vector3 start = position - normalUp * halfHeigth;
Vector3 end = position + normalUp * halfHeigth; Vector3 end = position + normalUp * halfHeigth;
Mesh<WireArcMesh, UnlitMat>(end, rotation, new Vector3(radius, radius, radius)); Mesh<WireArcMesh, GeometryUnlitMat>(end, rotation, new Vector3(radius, radius, radius));
Mesh<WireArcMesh, UnlitMat>(start, rotation * Rot180, new Vector3(radius, radius, radius)); Mesh<WireArcMesh, GeometryUnlitMat>(start, rotation * Rot180, new Vector3(radius, radius, radius));
Vector3 perpendicular = from * radius; Vector3 perpendicular = from * radius;
@ -239,7 +239,7 @@ namespace DCFApixels
//[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, 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 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, float size) => WireCube(position, rotation, new Vector3(size, size, size));
[IN(LINE)] public DrawHandler WireCube(Vector3 position, Quaternion rotation, Vector3 size) => Mesh<WireCubeMesh, UnlitMat>(position, rotation, size); [IN(LINE)] public DrawHandler WireCube(Vector3 position, Quaternion rotation, Vector3 size) => Mesh<WireCubeMesh, GeometryUnlitMat>(position, rotation, size);
#endregion #endregion
#region CubePoints #region CubePoints
@ -337,7 +337,7 @@ namespace DCFApixels
//[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, 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, 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, float size) => WireQuad(position, rotation, new Vector2(size, size));
[IN(LINE)] public DrawHandler WireQuad(Vector3 position, Quaternion rotation, Vector2 size) => Mesh<WireCubeMesh, UnlitMat>(position, rotation, size); [IN(LINE)] public DrawHandler WireQuad(Vector3 position, Quaternion rotation, Vector2 size) => Mesh<WireCubeMesh, GeometryUnlitMat>(position, rotation, size);
#endregion #endregion
#region QuadPoints #region QuadPoints

View File

@ -2,15 +2,15 @@
using System.Reflection; using System.Reflection;
using UnityEngine; using UnityEngine;
namespace DCFApixels.DebugXCore.Internal namespace DCFApixels.DebugXCore
{ {
internal static class MeshesListLoader public static class StaticDataLoader
{ {
public static T Load<T>(T instance, string path) public static T Load<T>(T instance, string path)
{ {
object obj = instance; object obj = instance;
var type = obj.GetType(); var type = obj.GetType();
var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic).Where(o => o.FieldType == typeof(Mesh)); var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var prefab = Resources.Load<GameObject>(path); var prefab = Resources.Load<GameObject>(path);
if (prefab == null) if (prefab == null)
@ -25,9 +25,8 @@ namespace DCFApixels.DebugXCore.Internal
return (T)obj; return (T)obj;
} }
foreach (var field in fields) foreach (var field in fields.Where(o => o.FieldType == typeof(Mesh)))
{ {
//if (prefab == null) { continue; }
var child = prefab.transform.Find(field.Name); var child = prefab.transform.Find(field.Name);
var meshFilter = child.GetComponent<MeshFilter>(); var meshFilter = child.GetComponent<MeshFilter>();
if (meshFilter != null) if (meshFilter != null)
@ -39,6 +38,19 @@ namespace DCFApixels.DebugXCore.Internal
Debug.LogWarning(field.Name + " not found"); Debug.LogWarning(field.Name + " not found");
} }
} }
foreach (var field in fields.Where(o => o.FieldType == typeof(Material)))
{
var child = prefab.transform.Find(field.Name);
var meshFilter = child.GetComponent<Renderer>();
if (meshFilter != null)
{
field.SetValue(obj, meshFilter.sharedMaterial);
}
else
{
Debug.LogWarning(field.Name + " not found");
}
}
return (T)obj; return (T)obj;
} }

View File

@ -0,0 +1,468 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &46464178465678971
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5119875421667202613}
- component: {fileID: 8259687464410326061}
- component: {fileID: 2004621602830970443}
m_Layer: 0
m_Name: Dot
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5119875421667202613
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 46464178465678971}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 5, y: 0, z: 0}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2844384060761577604}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8259687464410326061
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 46464178465678971}
m_Mesh: {fileID: 4300000, guid: 873de0939b7f76947a258a8897199a8e, type: 2}
--- !u!23 &2004621602830970443
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 46464178465678971}
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 &1299980064020930364
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3483107355985596037}
- component: {fileID: 6736923591846584252}
- component: {fileID: 2449486844754544530}
m_Layer: 0
m_Name: Unlit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3483107355985596037
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1299980064020930364}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 2.5, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2844384060761577604}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &6736923591846584252
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1299980064020930364}
m_Mesh: {fileID: 4300000, guid: 873de0939b7f76947a258a8897199a8e, type: 2}
--- !u!23 &2449486844754544530
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1299980064020930364}
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 &1556899593130577241
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1046323005297189095}
- component: {fileID: 533283133161790175}
- component: {fileID: 15916421817916126}
m_Layer: 0
m_Name: Wire
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1046323005297189095
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1556899593130577241}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 10, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2844384060761577604}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &533283133161790175
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1556899593130577241}
m_Mesh: {fileID: 4300000, guid: 873de0939b7f76947a258a8897199a8e, type: 2}
--- !u!23 &15916421817916126
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1556899593130577241}
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 &2970991427251802858
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2844384060761577604}
m_Layer: 0
m_Name: MaterialsList
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2844384060761577604
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2970991427251802858}
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: 7102811099700317182}
- {fileID: 3483107355985596037}
- {fileID: 2770005348449356163}
- {fileID: 5119875421667202613}
- {fileID: 1046323005297189095}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6563773915565914195
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7102811099700317182}
- component: {fileID: 8795405347649647842}
- component: {fileID: 4201900732346467323}
m_Layer: 0
m_Name: Lit
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7102811099700317182
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6563773915565914195}
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: 2844384060761577604}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8795405347649647842
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6563773915565914195}
m_Mesh: {fileID: 4300000, guid: 873de0939b7f76947a258a8897199a8e, type: 2}
--- !u!23 &4201900732346467323
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6563773915565914195}
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 &7056874672585970684
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2770005348449356163}
- component: {fileID: 3262329224364201602}
- component: {fileID: 3498211589557436139}
m_Layer: 0
m_Name: Billboard
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2770005348449356163
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7056874672585970684}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 7.5, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2844384060761577604}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3262329224364201602
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7056874672585970684}
m_Mesh: {fileID: 4300000, guid: 873de0939b7f76947a258a8897199a8e, type: 2}
--- !u!23 &3498211589557436139
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7056874672585970684}
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}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 955c16ab987d6324da6cdd3e0ccb6f14
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -64,7 +64,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -114,7 +114,7 @@ Transform:
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -15, y: 2.5, z: 0} m_LocalPosition: {x: -15, y: 2.5, z: 0}
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 857828809698174216} m_Father: {fileID: 857828809698174216}
@ -150,7 +150,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -236,7 +236,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -322,7 +322,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: 8f56df4773a3c3943a140e27a3155fb0, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -408,7 +408,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -682,7 +682,7 @@ Transform:
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -15, y: -2.5, z: 0} m_LocalPosition: {x: -15, y: -2.5, z: 0}
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 857828809698174216} m_Father: {fileID: 857828809698174216}
@ -718,7 +718,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -952,7 +952,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: ceb677ce98e7f6741859e095d7f04c16, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -1241,7 +1241,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: 7dddf4d8e41a47c44ac3ce8ebeb0858c, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -1291,7 +1291,7 @@ Transform:
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -15, y: 0, z: 0} m_LocalPosition: {x: -15, y: 0, z: 0}
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 857828809698174216} m_Father: {fileID: 857828809698174216}
@ -1327,7 +1327,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0
@ -1377,7 +1377,7 @@ Transform:
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -15, y: 5, z: 0} m_LocalPosition: {x: -15, y: 5, z: 0}
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 857828809698174216} m_Father: {fileID: 857828809698174216}
@ -1413,7 +1413,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: dff4ce10c87c6034186ba9a371bc8c03, type: 2} - {fileID: 2100000, guid: 493816cf77c003846870e9a319025383, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0

8
Runtime/Shaders.meta Normal file
View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b8ad211b2d6134f468588041fb9257b6
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,15 +1,10 @@
using DCFApixels.DebugXCore.Internal; using UnityEngine;
using UnityEngine;
using UnityEngine.Rendering; using UnityEngine.Rendering;
namespace DCFApixels namespace DCFApixels
{ {
public static partial class DebugX public static partial class DebugX
{ {
public static T LoadMeshesList<T>(T list, string path)
{
return MeshesListLoader.Load(list, path);
}
public static MeshesList Meshes; public static MeshesList Meshes;
public readonly struct MeshesList public readonly struct MeshesList
{ {
@ -36,73 +31,14 @@ namespace DCFApixels
public readonly Mesh WireSphere; public readonly Mesh WireSphere;
} }
public static MaterialsList Materials;
private static Material CreateMaterial(string name) public readonly struct MaterialsList
{ {
Material result = new Material(Shader.Find(name)); public readonly Material Lit;
result.SetColor(ColorPropertyID, Color.white); public readonly Material Unlit;
result.renderQueue = (int)RenderQueue.Transparent; public readonly Material Billboard;
result.enableInstancing = true; public readonly Material Dot;
return result; public readonly Material Wire;
}
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()//TODO переработать на подгрузку из ассетов
{
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;
}
}
} }
} }
} }

View File

@ -26,11 +26,6 @@ namespace DCFApixels.DebugXCore
public int GetExecuteOrder() => 100_000; public int GetExecuteOrder() => 100_000;
public Material GetMaterial() => Materials.Unlit; public Material GetMaterial() => Materials.Unlit;
} }
public readonly struct WireMat : IStaticMaterial
{
public int GetExecuteOrder() => 1_000_000;
public Material GetMaterial() => Materials.Wire;
}
public readonly struct BillboardMat : IStaticMaterial public readonly struct BillboardMat : IStaticMaterial
{ {
public int GetExecuteOrder() => 200_000; public int GetExecuteOrder() => 200_000;
@ -41,6 +36,16 @@ namespace DCFApixels.DebugXCore
public int GetExecuteOrder() => 300_000; public int GetExecuteOrder() => 300_000;
public Material GetMaterial() => Materials.Dot; public Material GetMaterial() => Materials.Dot;
} }
public readonly struct GeometryUnlitMat : IStaticMaterial
{
public int GetExecuteOrder() => 1_000_000;
public Material GetMaterial() => Materials.Unlit;
}
public readonly struct WireMat : IStaticMaterial
{
public int GetExecuteOrder() => 1_000_000;
public Material GetMaterial() => Materials.Wire;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public readonly struct SphereMesh : IStaticMesh public readonly struct SphereMesh : IStaticMesh

File diff suppressed because it is too large Load Diff