私はUnityエディタを拡張するのが非常に新しく、階層内の選択したオブジェクトを強調表示するこのスクリプトをまとめました。 問題は、私がエディタにいて、スタックのトップ(シーン名)がツリー上で見える場合、階層全体が見えなくなります!シーン名が見えなくなるようにスクロールすると、それ自体が修正されます。私は何が起きているのかをよりよく理解するために画像を添付しました。この問題は、たくさんのオブジェクトを持っていても、新しいシーンでは使えなくなってしまったときは、ごくわずかです。エディタを拡張して階層を強調表示する問題
[InitializeOnLoad]
public class HierarchyHighlighter
{
static HierarchyHighlighter()
{
EditorApplication.hierarchyWindowItemOnGUI += HierarchyWindowItem_CB;
}
private static void HierarchyWindowItem_CB(int selectionID, Rect selectionRect)
{
Object o = EditorUtility.InstanceIDToObject(selectionID);
if ((o as GameObject).GetComponent<HierarchyHighlighterComponent>() != null)
{
HierarchyHighlighterComponent h = (o as GameObject).GetComponent<HierarchyHighlighterComponent>();
if (h.highlight)
{
if (Event.current.type == EventType.Repaint)
{
GUI.backgroundColor = h.color;
GUI.Box(selectionRect, "");
GUI.backgroundColor = Color.white;
EditorApplication.RepaintHierarchyWindow();
}
}
}
}
}
コンソール読み取り:
画像: HierarchyHighlighter.HierarchyWindowItem_CB(のInt32 selectionID、のRect selectionRect)(18資産/ HierarchyHighlighter.csで) "オブジェクト参照がオブジェクトのインスタンスに設定されていません" : Functioning as normal
はあなたの助けをありがとう!