うにてぃブログ

UnityやUnreal Engineの記事を書いていきます

【Unity】Hierarchy 上の Transform の順番を操作する

Transform.GetSiblingIndex

現在の順番を取得できる

f:id:hacchi_man:20200602022202p:plain

using UnityEngine;

public class TransformGetSiblingIndex : MonoBehaviour
{
    private void Awake()
    {
        Debug.Log(transform.GetSiblingIndex());
    }
}

Transform.SetSiblingIndex

指定した順番に変更する

using UnityEngine;

public class TransformSetSiblingIndex : MonoBehaviour
{
    private void Awake()
    {
        // 1番目に変更
        transform.SetSiblingIndex(1);
        Debug.Log(transform.GetSiblingIndex());
    }
}

Transform.SetAsFirstSibling

先頭に変更する
※SetSiblingIndex(0)と同じ

using UnityEngine;

public class TransformSetSiblingIndex : MonoBehaviour
{
    private void Awake()
    {
        // 0番目に変更
        transform.SetAsFirstSibling();
        Debug.Log(transform.GetSiblingIndex());
    }
}

Transform.SetAsLastSibling

最後に変更する
※ SetSiblingIndex(transform.parent.childCount - 1) と同じ

using UnityEngine;

public class TransformSetSiblingIndex : MonoBehaviour
{
    private void Awake()
    {
        // 最後に変更
        transform.SetAsLastSibling();
        Debug.Log(transform.GetSiblingIndex());
    }
}