Преобразование меня sh вершин и граней в систему координат Minecraft - PullRequest
1 голос
/ 29 мая 2020

У меня есть набор точек в трехмерном пространстве (массив вершин) и есть набор структур, каждая из которых выглядит так:

typedef struct {
     VertexIndex pos1;//vertex position one of the face
     VertexIndex pos2;//vertex position two of the face
     VertexIndex pos3;//vertex position three of the face
} Face;

//with each VertexIndex just being:  

typedef struct {//basically a vertex, but only holds the indices of the values of xyz in the vertex array.
     unsigned int x;//the index of the x value of the vertex in vertex array
     unsigned int y;//the index of the y value of the vertex in vertex array
     unsigned int z;//the index of the z value of the vertex in vertex array
} VertexIndex;

, в котором каждый элемент Face struct указывает на индексы (в массиве вершин) трех вершин, которые составляют одну грань (и, следовательно, должны быть соединены).

Это создает основу для простого me sh, и this me sh - это сборка Minecraft, так как в ней всего лишь sh кубиков (Minecraft - это все кубики, известные как блоки).

Это все и хорошо, но если я где-то импортирую в me sh в Minecraft (3-мерный мир, состоящий из блоков, то есть кубиков), как мне сопоставить каждый куб в me sh (не только кубики, а множество кубов рядом друг с другом; это может быть кубоиды, сделанные из кубов, которые всегда и все одного размера, 1x1x1), чтобы блокировать местоположения в системе координат Minecraft? В системе координат Minecraft местоположение блока - это нижний правый угол куба.

Мне просто интересно, как бы я go мог получить только местоположения этих нижних правых углов каждого куба в the me sh, чтобы весь меня sh можно было просто преобразовать в координаты minecraft?

Вот пример:

У меня это me sh в 3DSMax: https://imgur.com/a/NnYLl1c

И я хочу, чтобы это выглядело так в Minecraft: https://imgur.com/a/PSlsb4V

Как лучше всего это сделать?

В этих sh только кубики, больше ничего.

...