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 – プラットフォームやエディタ等の実行環境ごとに処理を切り分ける方法

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

no image

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

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

no image

Unity – pingを実行する

こんにちは、今日はUnityでpingを実行する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 pingの実行方法 UnityEngine.Pingクラスを使用します。 …

no image

Unity – コルーチンの使い方

こんにちは、今日はUnityでコルーチンの使い方についてまとめていきます。 コルーチンは関数の実行途中で中断し、指定時間経過後等の条件で再開できる関数のようなものです。 詳細については公式マニュアルの …

no image

Unityでマウスオーバーしているウィンドウを最大化するショートカットキー

こんにちは、今日はUnityでマウスオーバーしているウィンドウを最大化するショートカットキーについてまとめていきます。 確認環境 Unity 2018.4.15f1 マウスオーバーしているウィンドウを …