同じ階層内でヒエラルキーの順番を入れ替える

Parent
– Child1
– Child2

という階層構造があった時に、Child2をChild1の上に持っていきたい場合。

これにしたい↓

Parent
– Child2
– Child1

特に、UIのCanvas内ではヒエラルキー(Hierarchy)内のオブジェクトの順番で前面背面が決まるので、入れ替えたいこともしばしばあるかと思います。

あるImageを最背面または最前面に表示させたい時だったり、ImageAIとImageBの前後をある処理によって切り替えたかったりする時に必要になります。

ヒエラルキーの順番を入れ替える方法

非常に簡単でした。


Transform c2 = GameObject.Find("Child2").transform;
c2.SetSiblingIndex(0);

SetSiblingIndexメソッドは階層構造内の兄弟オブジェクトのインデックスを指定するメソッドで、兄弟オブジェクトの順番を指定することができます。

ちなみにGetSiblingIndexメソッドを使うと兄弟オブジェクトの中で上から何番目かを取得することができます。

コメント