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 – Consoleウィンドウにログを表示する方法まとめ

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

no image

Unityで0から指定範囲の間を行き来する数値を取得できる関数Mathf.PingPong

確認環境 Unity 2018.4.15f1 使い方 public static float PingPong(float t, float length); UnityEngine.Mathfに定義 …

no image

Unityでスクリプトからゲームの再生や停止を行う

こんにちは、今日はUnityでスクリプトからゲームの再生や停止を行う方法についてまとめていきます。 エディタの再生、一時停止、停止ボタンの処理をスクリプトから行うことができます。これらの処理はエディタ …

no image

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

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

no image

Unityでカスタムのdefineを追加する方法

こんにちは、今日はUnityでカスタムのdefineを追加する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 カスタムのdefineを追加する UnityのメニューのEd …