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でIMGUIのウィンドウを表示するGUI.Windowの使い方

こんにちは、今日はUnityでIMGUIのウィンドウを表示するGUI.Windowの使い方についてまとめていきます。 確認環境 Unity 2018.4.15f1 GUI.Windowの使い方 以下の …

no image

Unityで実行環境の情報を取得する方法

System.Environmentクラスで現在の環境についての情報が取得できます。 OSバージョン System.OperatingSystem os = System.Environment.OS …

no image

Unity – Consoleウィンドウにログを表示する方法まとめ

こんにちは、今日はUnityでConsoleウィンドウにログを表示する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 ログの出力 ログの出力にはUnityEngine.D …

no image

Unity – モニターがサポートするフルスクリーン解像度一覧を取得する

こんにちは、今日はUnityでモニターがサポートするフルスクリーン解像度一覧を取得する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 モニターがサポートするフルスクリーン …

no image

Unity – プラットフォームやエディタ等の実行環境ごとに処理を切り分ける方法

こんにちは、今日はUnityでWindows、Mac、Android、iOS等の各プラットフォームごとや、エディタ上で実行されている場合にスクリプトの処理を切り分ける方法についてまとめていきます。 確 …