유니티 - 절차적 메시로 3D 복셀 만들기 (Make 3D Voxels with Procedural Mesh)
Unity 전체 링크 참고 - 절차적 메시로 정점이 24개인 큐브 만들기 - 절차적 메시로 2D 복셀 만들기 2D 복셀을 3D 복셀로 확장해보자. 먼저 voxelData가 2차원 int[,]에서 3차원 int[,,]로 변경된다. 2D에서 [z, x]를 그대로 유지하기 위해 [y, z, x]로 확장한다. 아래의 좌표는 위의 그림에 있는 피라미드가 된다. int[,,] voxelData = new int[,,] { // [y, z, x] { // y = 0 { 1, 1, 1, 1, 1 }, // => x { 1, 0, 0, 0, 1 }, // ↓ z { 1, 0, 1, 0, 1 }, { 1, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1 }, }, { // y = 1 { 0, 0, 0, 0, 0 },..
2022. 11. 7.
유니티 - 절차적 메시로 정점이 24개인 큐브 만들기 (Make 24 Vertices Cube with Procedural Mesh)
Unity 전체 링크 참고 - 절차적 메시로 정점이 8개인 큐브 만들기 절차적 메시를 이용해서 정점이 24개인 큐브를 만들어보자. Vector3.forward가 (0, 0, 1)이므로 아래와 같이 방향을 정의한다. 그리고 이 방향 순서대로 쿼드를 6개 만든다. public enum Direction { FORWARD, // (0, 0, +1) RIGHT, // (+1, 0, 0) UP, // (0, +1, 0) BACK, // (0, 0, -1) LEFT, // (-1, 0, 0) DOWN // (0, -1, 0) } 위의 방향을 기준으로 정점에 번호를 매기면 아래와 같다. 따라서 faceNumber는 아래와 같이 정의해둔다. public int[][] faceNumber = { new int[] {0,..
2022. 11. 6.