[Unity] あるオブジェクトの直接の子要素だけを全て選択する

2024年8月1日(更新: 2024年8月1日)

ヒエラルキーのオブジェクトを右クリックすると、Unity(2022.3.38f1)標準の機能として「Select Children」が利用できますが、これは選択しているオブジェクト自身と孫要素(子要素の子要素)までもが選択されてしまいます。

大量の子要素を持つオブジェクトの直下の子要素だけを選択したいという場合があったので、そのためのEditorスクリプトを作りました。

SelectChildren.cs

using UnityEngine;
using UnityEditor;
using System.Collections.Generic;

public class SelectChildren
{
	// 選択した要素の直接の子要素全てを選択
	[MenuItem("MyTools/Select Direct Children")]
	public static void SelectDirectChildren()
	{
		var newSelection = new List<Object>();
		foreach (Transform t in Selection.transforms)
		{
			for (int i = 0; i < t.childCount; i++)
			{
				newSelection.Add(t.GetChild(i).gameObject);
			}
		}
		Selection.objects = newSelection.ToArray();
	}
}

このスクリプトを Editor フォルダの中に保存してください。

上部メニューから MyTools > Select Direct Children を選ぶと、ヒエラルキー上で選択した要素の直接の子要素だけが選択できると思います。

もしかしたら標準機能としてどこかにあるかもしれませんが、見つけられなかったので。

コメントを残す

メールアドレスが公開されることはありません。