読者です 読者をやめる 読者になる 読者になる

ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【Unity】備忘録#6 オブジェクト親子関係について

オブジェクトの親子を設定する方法についての説明です。

■親を設定する方法

オブジェクトの親子関係を設定する際は以下の方法で設定します。

GameObject parentObj; // 親にするオブジェクト
GameObject childObj;  // 子にするオブジェクト

// 通常のオブジェクトの場合
childObj.transform.parent = parentObj.transform;

// RectTransformを持つオブジェクトの場合
//(setParentを使わないと警告がログに出る)
childObj.transform.SetParent(parentObj.transform);

■オブジェクトから親または子を取得する方法

オブジェクトから親を取得する場合は「childObj.transform.parent」を使います。

GameObject parentObj = childObj.transform.parent;

オブジェクトから子を取得する場合は以下の記述で取得します。

GameObject parentObj; // 親となるオブジェクト

foreach (Transform n in parentObj.transform) {
	GameObject childObj = n.gameObject;
	// 以下childObjに対する処理
}

子に対して親は一つのオブジェクトしか設定できませんが、
親は子を複数持つことができるためforeachでループさせます。

特定の子に対して処理を行う場合は、オブジェクトの名前で判定するなどの処理が必要となります。