私は 3 つの子ゲーム オブジェクトを持っています (下の図でRed、Pink & Blueでわかるように)。これらは、親ゲーム オブジェクト Green の子です。
Parent(Green) GameObjectのサイズを計算する方法がわかりません。
このコードを使用して、実行時にこれらすべてのゲーム オブジェクトを作成しています。
GameObject CreatePattern(int difficultyLevel)
{
GameObject gameObjectTemp = new GameObject();
SinglePattern singlePattern;
gameObjectTemp = (GameObject) Instantiate(gameObjectTemp);
singlePattern = freeRunDataHandler.GetSinglePatternRandom(1);
GameObject gameObjectSingleObject = null;
foreach (SingleObject singleObject in singlePattern.singleObjectList)
{
gameObjectSingleObject = GetGameObjectByCategory(singleObject.catergory, singleObject.type);
if (gameObjectSingleObject != null)
{
gameObjectSingleObject = (GameObject) Instantiate(gameObjectSingleObject, new Vector3(singleObject.positionX, singleObject.positionY, singleObject.positionZ), Quaternion.identity);
gameObjectSingleObject.transform.localScale = new Vector3(singleObject.length, 1, singleObject.width);
gameObjectSingleObject.transform.parent = gameObjectTemp.transform;
}
}
return gameObjectTemp;
}
この関数は、すべての子を追加した後、親 (緑) の gameObject を返します。私の親(緑)には、コンポーネント(BoxCollider、MeshFilter、MeshRendererなど)さえも何も添付されていません。
BoxCollider、MeshRenderer、MeshFilter(テスト用)を添付し、親で試しました:
parent.collider.bounds.size.x ----- > box collider
parent.renderer.bounds.size.x ----- > mesh renderer
しかし、何も機能しません。場合によっては 1 または 0 が返されます。Parent(Green) GameObject のサイズを取得する方法を教えてください。