From 5145dd09cab55a896d510482f2e22f74b4d4b76f Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 5 Jun 2021 19:51:03 +0800 Subject: *misc --- .../Tools/BoneViewer/Editor/BoneViewerEditor.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'UnityCollection/Assets/Tools/BoneViewer') diff --git a/UnityCollection/Assets/Tools/BoneViewer/Editor/BoneViewerEditor.cs b/UnityCollection/Assets/Tools/BoneViewer/Editor/BoneViewerEditor.cs index f143670..e75e564 100644 --- a/UnityCollection/Assets/Tools/BoneViewer/Editor/BoneViewerEditor.cs +++ b/UnityCollection/Assets/Tools/BoneViewer/Editor/BoneViewerEditor.cs @@ -81,16 +81,29 @@ public class BoneViewerEditor : EditorTool EditorGUI.BeginChangeCheck(); Handles.zTest = UnityEngine.Rendering.CompareFunction.Always; - Handles.color = new Color(1, 1, 1, m_Alpha); + Transform[] bones = renderer.bones; Transform root = renderer.rootBone; + Color col = Handles.color; if(root && m_ShowBones) - DrawBone(null, root, 0); + DrawBone(null, root, 0, bones); + Handles.color = col; } - void DrawBone(Transform parent, Transform bone, int depth) + void DrawBone(Transform parent, Transform bone, int depth, Transform[] bones) { if (bone == null) return; + Color col = Color.white; + for(int i = 0; i < bones.Length; ++i) + { + if(bones[i] == bone) + { + col = Color.blue; + break; + } + } + col.a = m_Alpha; + Handles.color = col; Handles.SphereHandleCap(0, bone.position, bone.rotation, m_Size, EventType.Repaint); if(parent) Handles.DrawLine(parent.position, bone.position); @@ -101,7 +114,7 @@ public class BoneViewerEditor : EditorTool int count = bone.childCount; for(int i = 0;i < count; ++i) { - DrawBone(bone, bone.GetChild(i), depth + 1); + DrawBone(bone, bone.GetChild(i), depth + 1, bones); } } -- cgit v1.1-26-g67d0