目標は、ユーザーが個別に各オブジェクトを個別に表示できるように、特定のモデルを「展開」することです(実際にどのオブジェクトが実際に操作されているか心配しないで)。Unity - ゲームオブジェクトの子を線形に分割する方法は?
だから、どのように動的に子供たちを線形に分割するのですか?
そこで実施例では3つのオブジェクトの親である空のゲームオブジェクトがあります。オブジェクトが現在作成されているため、ユーザーはすべての子を見ることができません。
「拡張」の例では、同じ軸(この場合はx)に沿って手動でドラッグすることによって、それぞれの子を取り込んで同じ軸で線形に区切ります。どのようにこれを動的に行うのでしょうか?
最初に考えられるのは、ゲームオブジェクトが持つ子の数を計算し、移動する子に応じて各子を移動させるループを親によって実行することです。例:child_1はx軸に沿って3単位を移動し、child_2は6単位を移動し、child_3は9単位などを移動します。
これを行うにはこれが最善の方法ですか?最初の本能は、オブジェクトが占めるサイズに応じて、すべての場合にこの機能が動作しないと述べています。 1つの子オブジェクトが別の子オブジェクトの何倍も大きくなる可能性があります。この場合、単位ではなくオブジェクトを分離する方がよいでしょうが、各子オブジェクトを衝突境界の外に移動させることによって、より良いでしょうか?
['Collider.bounds'](https://docs.unity3d.com/ScriptReference/Collider-bounds.html)をチェックすることで、各オブジェクトの高さをほぼ知ることができます。その情報を使用して、オブジェクトが重ならないようにオブジェクトを移動する必要がある場所を特定するのは簡単です。 – Serlite
@Serliteはい、collider.boundsはまさに私が必要としていたものでした。ありがとうございました! – jtth
あなたはそのヒントであなた自身で解決策を推論できました!それが学ぶ最も良い方法です。 – Serlite