3テラバイト

プログラム関連備忘録サイト。主にゲーム。

Unity

UnityのHierarchyの順序をスクリプトから変更する

投稿日:

こんにちは、今日はUnityのHierarchyの順序をスクリプトから変更する方法についてまとめていきます。

確認環境

Unity 2018.4.15f1

Hierarchyの順序をスクリプトから変更する

以下の関数で兄弟内での順序を変更することができます。

引数には順序のインデックスを指定するため、一番上にする場合は0を指定します。

以下の例では上から2番目に移動することができます。

transform.SetSiblingIndex(1);

引数にマイナスや、兄弟オブジェクトの数より大きいインデックス等の範囲外の値を指定した場合、一番下に設定されます。

一番上に変更する場合

一番上にしたい場合は、インデックスで指定する他、以下の関数を呼び出すことでも変更できます。

transform.SetAsFirstSibling();

一番下に変更する場合

一番下にしたい場合は、インデックスで指定する他、以下の関数を呼び出すことでも変更できます。

transform.SetAsLastSibling();

現在の順序を取得する

現在の順序インデックスを取得するには以下の関数を使用します。

int型で現在のインデックスが返されます。

transform.GetSiblingIndex();

親オブジェクトを変更する

兄弟内で順序を変更するだけはなく、親オブジェクトを変更したい場合は以下の関数を使用します。

TransformのSetParent関数に親に設定したいオブジェクトのTransformを渡すと親を変更することができます。

transform.SetParent(parent.transform);

最上位に変更する場合

特定のオブジェクトの親に設定するのではなく、最上位に設定した場合、以下のようにSetParent関数の引数にnullを指定します。

transform.SetParent(null);

リンク

Transform-SetSiblingIndex – Unity スクリプトリファレンス
https://docs.unity3d.com/ja/current/ScriptReference/Transform.SetSiblingIndex.html

Unity – Scripting API: Transform.SetAsFirstSibling
https://docs.unity3d.com/ScriptReference/Transform.SetAsFirstSibling.html

Transform-SetAsLastSibling – Unity スクリプトリファレンス
https://docs.unity3d.com/ja/current/ScriptReference/Transform.SetAsLastSibling.html

Transform-GetSiblingIndex – Unity スクリプトリファレンス
https://docs.unity3d.com/jp/current/ScriptReference/Transform.GetSiblingIndex.html

-Unity


comment

メールアドレスが公開されることはありません。

関連記事

no image

Unity – UIのButtonにイベントを設定する方法まとめ

こんにちは、今日はUnityでUIのButtonクリック時に発生するイベントを設定する方法についてまとめていきます。 HierarchyウィンドウからCreate > UI > Buttonを選択や、 …

no image

UnityのManaged Memoryサイズをスクリプトから取得する

こんにちは、今日はUnityのManaged Memoryサイズをスクリプトから取得する方法についてまとめていきます。 Profiler.GetMonoUsedSizeLong() Profiler. …

no image

Unityのメモリ使用量をスクリプトで取得する

こんにちは、今日はUnityのメモリ使用量をスクリプトで取得する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 メモリ使用量取得 Unityがシステムから予約しているメモ …

no image

Unityで引数に最も近い整数を返す関数Mathf.Round

確認環境 Unity 2018.4.15f1 使い方 float num = Mathf.Round(1.2f); Debug.Log(num); float型の数値を渡すと、その値に最も近い整数値を …

no image

Unityで数値を指定範囲に収める

確認環境 Unity 2018.4.15f1 数値を指定範囲に収める Clamp public static int Clamp(int value, int min, int max); publi …