public static void Draw(OC.Cell cell) { Gizmos.color = Color.green; var center = cell.aabb.center; Gizmos.DrawWireCube(center, cell.aabb.size); }
public void GenerateCells(Bounds aabb, float cellSize) { int countX = Mathf.CeilToInt(aabb.size.x / cellSize); int countY = Mathf.CeilToInt(aabb.size.y / cellSize); int countZ = Mathf.CeilToInt(aabb.size.z / cellSize); for (int k = 0; k < countY; k++) { for (int j = 0; j < countZ; j++) { for (int i = 0; i < countX; i++) { OC.Cell cell = new OC.Cell(null); Vector3 center = new Vector3(cellSize * (i + 0.5f), cellSize * (k + 0.5f), cellSize * (j + 0.5f)); center += aabb.min; Vector3 size = new Vector3(cellSize, cellSize, cellSize); Bounds cellAABB = new Bounds(center, size); cell.aabb = cellAABB; cellList.Add(cell); } } } }