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のVideo Playerで動画の終了を判定する方法

こんにちは、今日はUnityのVideo Playerで動画の終了を判定する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 動画の終了を判定する VideoPlayer. …

no image

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

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

no image

Unity – コルーチンの使い方

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

no image

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

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

no image

Unityで発生するWarning CS0649の対処方法

こんにちは、今日はUnityのC#スクリプトで発生するWarning CS0649の対処方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 発生原因 以下のようなコードでスク …