我想创建一个六边形网格。我有一个3D模型,我在搅拌器中制作了一些尺寸
我在Unity中有一个脚本,它应该生成一个带有给定六边形的十六进制网格
十六进制的模型放在预制件中。我需要尺寸"实际尺寸不是尺度"该预制件用于生成网格。
如何获得预制件中模型的尺寸。
public class GameWorld : MonoBehaviour
{
// Fields
public GameObject HexPrefab;
// Size of the map in terms of number of the objects
// This is not representative of the actual size of the map in units
public int Width = 20;
public int Height = 20;
void Start()
{
MeshRenderer[] asd = HexPrefab.GetComponentsInChildren<MeshRenderer>();
var a = asd[0].bounds;
Debug.Log(string.Format("x: - {0:f3}", a.size.x));
Debug.Log(string.Format("y: - {0:f3}", a.size.y));
Debug.Log(string.Format("z: - {0:f3}", a.size.z));
for (int x = 0; x < Width; x++)
{
for (int y = 0; y < Height; y++)
{
Instantiate(HexPrefab, new Vector3(x, 0, y), Quaternion.identity);
}
}
}
void Update()
{
}
}
以下是搅拌机的尺寸
我不想硬编码,因为我将来需要使用不同大小的六边形!
这段代码给我的大小为0。
预制件只包含一个型号而不包含任何其他型号。
提前谢谢!