private VoxelStruct[] loadAssert(TextAsset assert){ Stream sw = new MemoryStream(assert.bytes); System.IO.BinaryReader br = new System.IO.BinaryReader (sw); VoxelStruct vs = VoxelFormater.ReadFromMagicaVoxel (br); SplitVoxel split = new SplitVoxel (vs); // Debug.Log ("!!!" + vs.datas.Count); for (int i = 0; i < boxes_.Count; ++i) { split.addBox (boxes_[i]); } VoxelStruct[] vss = split.doIt (); return vss; //return null; }
public void SplitVoxelTest() { VectorInt3 a = new VectorInt3(3, 4, 5); VectorInt3 b = new VectorInt3(1, 2, 3); Assert.AreEqual(a - b, new VectorInt3(2, 2, 2)); FileStream sr2 = new FileStream(".//Assets//Voxel//grass.bytes", FileMode.OpenOrCreate, FileAccess.Read); System.IO.BinaryReader br2 = new System.IO.BinaryReader(sr2); VoxelStruct vs = VoxelFormater.ReadFromMagicaVoxel(br2); SplitVoxel split = new SplitVoxel(vs); split.addBox(new VectorInt3(0, 0, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(0, 17, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(0, 34, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(0, 54, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(20, 0, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(20, 17, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(20, 34, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(20, 54, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(37, 0, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(37, 17, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(37, 34, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(37, 54, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(54, 0, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(54, 17, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(54, 34, 0), new VectorInt3(16, 16, 3)); split.addBox(new VectorInt3(54, 54, 0), new VectorInt3(16, 16, 3)); /**/ VoxelStruct[] voxels = split.doIt(); for (int i = 0; i < voxels.Length; ++i) { FileStream sw = new FileStream("cool" + i + ".vox", FileMode.Create, FileAccess.Write); System.IO.BinaryWriter bw = new System.IO.BinaryWriter(sw); //voxels [i].normal ; VoxelFormater.WriteToMagicaVoxel(voxels[i], bw); sw.Close(); } //VoxelStruct vs2 = splice.spliceAll (); } [Test] public void JoinVoxelTest() { return; /* * FileStream sr2 = new FileStream ("fly2.vox", FileMode.OpenOrCreate, FileAccess.Read); * * * System.IO.BinaryReader br2 = new System.IO.BinaryReader (sr2); * * VoxelStruct vs = VoxelFormater.ReadFromMagicaVoxel (br2); * * sr2.Close (); * JoinVoxel join = new JoinVoxel (); * join.addVoxel(vs, new VectorInt3(0, 0, 0)); * join.addVoxel(vs, new VectorInt3(10, 10, 10)); * VoxelStruct vs2 = join.doIt (); * * FileStream sw = new FileStream ("fly3.vox", FileMode.Create, FileAccess.Write); * * System.IO.BinaryWriter bw = new System.IO.BinaryWriter (sw); * VoxelFormater.WriteToMagicaVoxel (vs2, bw); * sw.Close (); * /* * * Assert.AreEqual(vs.main.name, vs2.main.name); * Assert.AreEqual(vs.main.size, vs2.main.size); * Assert.AreEqual(vs.main.chunks, vs2.main.chunks); * * * Assert.AreEqual(vs.size.box, vs2.size.box); * Assert.AreEqual(vs.size.name, vs2.size.name); * Assert.AreEqual(vs.size.size, vs2.size.size); * Assert.AreEqual(vs.size.chunks, vs2.size.chunks); */ //Assert.AreEqual(vs.rgba.palette.Length, vs2.rgba.palette.Length); /*for (int i = 0; i < vs.rgba.palette.Length; ++i) { * Assert.AreEqual(vs.rgba.palette[i], vs2.rgba.palette[i]); * }*/ /*// Debug.Log (vs2.rgba.palette.Length); * Assert.AreEqual(vs.rgba.name, vs2.rgba.name); * Assert.AreEqual(vs.rgba.size, vs2.rgba.size); * Assert.AreEqual(vs.rgba.chunks, vs2.rgba.chunks); */ }
public void SplitVoxelTest() { Vector3Int a = new Vector3Int(3, 4, 5); Vector3Int b = new Vector3Int(1, 2, 3); Assert.AreEqual(a - b, new Vector3Int(2, 2, 2)); FileStream sr2 = new FileStream(".//Assets//Voxel//grass.bytes", FileMode.OpenOrCreate, FileAccess.Read); System.IO.BinaryReader br2 = new System.IO.BinaryReader(sr2); VoxelStruct vs = MagicaVoxelFormater.ReadFromBinary(br2).structure; SplitVoxel split = new SplitVoxel(vs); split.addBox(new Vector3Int(0, 0, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(0, 17, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(0, 34, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(0, 54, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(20, 0, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(20, 17, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(20, 34, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(20, 54, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(37, 0, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(37, 17, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(37, 34, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(37, 54, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(54, 0, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(54, 17, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(54, 34, 0), new Vector3Int(16, 16, 3)); split.addBox(new Vector3Int(54, 54, 0), new Vector3Int(16, 16, 3)); /**/ VoxelStruct[] voxels = split.doIt(); for (int i = 0; i < voxels.Length; ++i) { FileStream sw = new FileStream("cool" + i + ".vox", FileMode.Create, FileAccess.Write); System.IO.BinaryWriter bw = new System.IO.BinaryWriter(sw); //voxels [i].normal ; MagicaVoxelFormater.WriteToBinary(voxels[i], bw); sw.Close(); } //VoxelStruct vs2 = splice.spliceAll (); } [Test] public void JoinVoxelTest() { FileStream sr2 = new FileStream(".//Assets//Voxel//temp.vox", FileMode.OpenOrCreate, FileAccess.Read); System.IO.BinaryReader br2 = new System.IO.BinaryReader(sr2); VoxelStruct vs = MagicaVoxelFormater.ReadFromBinary(br2).structure; Debug.Log(MagicaVoxelFormater.GetMd5(vs)); } [Test] public void VoxelMapMakerTest() /* * VoxelMapMaker vmm = Component.FindObjectOfType<VoxelMapMaker> (); * VoxelStruct map = vmm.building (); * FileStream sw = new FileStream ("map.vox", FileMode.Create, FileAccess.Write); * System.IO.BinaryWriter bw = new System.IO.BinaryWriter (sw); * VoxelFormater.WriteToMagicaVoxel (map, bw); * sw.Close (); * * Debug.Log (vmm);*/ { }