У меня есть набор точек в трехмерном пространстве (массив вершин) и есть набор структур, каждая из которых выглядит так:
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 только кубики, больше ничего.