Как конвертировать 3d модель в массив точек - PullRequest
0 голосов
/ 10 февраля 2020

Я создаю свой собственный 3d-движок, мне нужно импортировать в него 3d-модели, но я не знаю, как это сделать. Интересно, можно ли преобразовать 3d модель в массив точек? если это возможно, как ты это делаешь?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

3d модели представлены в таких форматах, как .obj, .stl, .fbx и многие другие. Эти файлы, которые представляют трехмерную модель, обычно представляют собой списки самих вершин (или другие данные о модели, такие как нормали или координаты текстуры). Вы можете найти форматы этих файлов в Интернете и в своем движке, прочитать их, как любой другой файл, и поместить нужные данные в массивы.

Я бы порекомендовал начать с загрузки 3d-модели в формате .obj, а затем открыть ее в текстовом редакторе. Посмотрите, что внутри, и подумайте, можете ли вы прочитать информацию, которую вы хотите от нее. Вы также можете узнать больше о формате файла .obj здесь

0 голосов
/ 10 февраля 2020

Это не то, что я делал раньше; но посылка интересная, поэтому я решил поделиться своей идеей, поскольку во время учебы в университете я работал с сетками (в основном массивом) в трехмерном пространстве.

Если вы рассматриваете трехмерное пространство, вы можете представить это пространство в виде трехмерного массива довольно просто с каждым измерением, представляющим ось. Затем вы можете рассматривать каждый элемент в этом массиве как точку в пространстве и заполнять его значением (скажем, логическое значение true / false, 1/0), чтобы идентифицировать точки вашей модели в этом трехмерном пространстве.

Все, что вам нужно, это высота, ширина и глубина вашей модели, каждый из которых является размером в вашем массиве. Заполните значения 0 / false, если модель не имеет точки в этом пространстве, или 1 / true, если она есть. Это даст вам представление вашей модели в виде трехмерного массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...