Подписаться ВК
 26.08.2019 в 18:50   3dmodeller

OBJ формат файла

Поделиться
с друзьями:

Формат файла OBJ и 3D-печать идут рука об руку. Узнайте подробно о формате файла OBJ для САПР и 3D печати в этом руководстве. Формат файла OBJ является одним из наиболее важных форматов файлов в программах 3D-печати и 3D-графики. Это предпочтительный формат для многоцветной 3D-печати и широко используется в качестве нейтрального формата обмена для неанимированных 3D-моделей в графических приложениях. Мы поговорим о том, чем obj отличается от других форматов, таких как STL в случае 3D-печати или COLLADA и FBX в случае графических приложений. Мы также рассмотрим различные функции, предлагаемые форматом файла OBJ и предоставим советы о том, как использовать эти функции для улучшения ваших 3D-моделей. Для любителей 3D-печати мы ответим на некоторые часто задаваемые вопросы об использовании формата файла OBJ в приложениях для 3D-печати. Для энтузиастов мы рассмотрим полные спецификации, чтобы вы могли читать, понимать и настраивать файлы вручную, а также будет раздел о ресурсах, где мы перечисляем веб-сайты и программное обеспечение для загрузки, открытия, редактирования и восстановления файлов OBJ.

Рекомендации по проектированию 3D моделей перед 3D печатью

Содержание:

  1. Что такое файл OBJ?
  2. Что обозначает расширение файла. OBJ?
  3. Чем формат файла OBJ отличается от других?
  4. Особенности формата файла OBJ
  5. Часто задаваемые вопросы о формате файла OBJ, относящиеся к 3D-печати
  6. Ресурсы где можно скачать OBJ файлы
  7. Спецификация формата файла OBJ
  8. Заключение

Что такое файл OBJ?

В двух словах, формат файла OBJ хранит информацию о 3D-моделях. Он может кодировать геометрию поверхности 3D-модели, а также может хранить информацию о цвете и текстуре, но этот формат не хранит информацию о сцене (например, о положении света) или анимации.

Файл OBJ обычно генерируется программным обеспечением CAD (Computer Aided Design) как конечный продукт процесса трехмерного моделирования. Расширение файла, соответствующее формату файла OBJ, просто». OBJ».

Формат файла OBJ с открытым исходным кодом и нейтральным. Он широко используется для обмена 3D-моделями в графических приложениях, потому что он пользуется хорошей поддержкой импорта и экспорта практически из всех программ САПР. В последние годы он также становится популярным как формат файла для многоцветной 3D-печати, такой как например полноцветная печать гипсом CJP или нескольким экструдерами FDM, поскольку стандартный формат 3D-печати STL не поддерживает информацию о цвете и текстуре.

Формат файла OBJ был изначально создан Wavefront Technologiesдля приложения Advanced Visualizer для хранения геометрических объектов, состоящих из линий, многоугольников, а также кривых и поверхностей произвольной формы. Последняя документированная версия v3.0 заменяет предыдущий выпуск v2.11.

Последняя документированная версия формата v3.0 заменяет предыдущий выпуск v2.11.

Что означает расширение файла. OBJ?

Полное имя этого типа файлов — «Wavefront OBJect», но никто больше не хочет использовать полное имя. Это просто называется формат файла OBJ.

Чем формат файла OBJ отличается от других?

Формат файла OBJ: использование в 3D-печати

Самым доминирующим форматом в мире 3D-печати является STL. Тем не менее, STL — это старый формат файлов, который, хотя и очень популярен, но не идет в ногу со временем.

Точность 3D-печати быстро приближается к разрешению на микронном уровне, и многоцветные модели становятся все более популярными. Формат файла STL не очень хорошо справляется с высоким разрешением, поскольку более высокое разрешение достигается за счет увеличения размера файла. Формат STL также не подходит для многоцветной 3D-печати, поскольку он не поддерживает информацию о цвете и текстуре.

В отличие от этого, он может приблизить геометрию поверхности так точно, как требуется, не увеличивая размер файла. Это возможно, используя кривые Безье и метод NURBS, который мы обсудим позже в этой статье. Кроме того, формат файла OBJ имеет встроенную поддержку нескольких цветов и текстур в рамках одной модели.

Таким образом, формат файла OBJ превосходит формат STL, если вам нужны точные многоцветные модели, и в будущем он, вероятно, станет очень популярным форматом 3D-печати.

С другой стороны, формат файла OBJ не так универсален, как формат STL. Почти все 3D-принтеры поддерживают формат STL. Чего нельзя сказать о формате, хотя он также пользуется разумным одобрением и поддержкой. Поэтому, если вы выполняете 3D-печать одноцветной модели на стандартном принтере, формат STL все еще предпочтителен.

Оба формата OBJ и STL имеют очень развитую экосистему с большой инвестиционной базой пользователей и множеством сторонних инструментов.

Другие претенденты на формат файла 3D-печати — VRML, AMF и 3MF. Но они не имеют сопоставимой поддержки и на данный момент не являются серьезной альтернативой форматам файлов STL и OBJ.

Формат файла OBJ: использование в приложениях 3D-графики

Наиболее часто используемые форматы файлов в приложениях 3D-графики — OBJ, FBX и COLLADA.

Различия между форматами файлов OBJ, FBX, COLLADA

Наиболее важным различием между форматом файла OBJ и другим является поддержка информации о сцене (такой как источники света) и анимации. Формат файла OBJ не поддерживает информацию сцены и анимацию, в то время как FBX и COLLADA поддерживают. Поэтому, если вам нужны анимации для вашей игры или фильма, вам лучше использовать форматы FBX и COLLADA.

Но если вам не нужна полная сцена или анимация, есть определенные преимущества использования формата файла OBJ.

Преимущества формата файла OBJ

Во-первых, формат файла OBJ — это простой и открытый формат. Имеет широкую поддержку экспорта и импорта программного обеспечения САПР. Это означает, что если вы поделитесь своей 3D-моделью в виде файла OBJ, то другое программное обеспечение САПР будет интерпретировать ее правильно и последовательно. То же самое нельзя сказать о форматах FBX или COLLADA. Формат COLLADA также является открытым исходным кодом, но он довольно сложный. Различное программное обеспечение CAD интерпретирует это по-разному, и это приводит к несоответствиям.

Формат FBX является закрытым и закрытым форматом и предлагает SDK для преобразования существующих форматов в FBX (экспорт). Однако не так легко пойти другим путем — преобразовать файл FBX в другой формат (импорт). Разработчики программного обеспечения, не относящегося к AutoDesk CAD, как правило, должны взяться за реализацию правдоподобного импорта FBX. Это приводит к несоответствиям, если вы используете не программное обеспечение AutoDesk.

Файл OBJ также будет намного более легким и небольшим по сравнению с файлом FBX или файлом COLLADA той же 3D-модели. Это происходит из-за простоты формата файла OBJ по сравнению с другими спецификациями и из-за его собственного двоичного кодирования.

Таким образом, если вам не нужна полная сцена или анимация, и вы заботитесь о поддержке и последовательной интерпретации различными программами CAD, формат файла OBJ является правильным форматом. Почти во всех других случаях FBX является оптимальным форматом для приложений с трехмерной графикой.

Особенности формата файла OBJ

С точки зрения современных функций, формат FBX является наиболее прогрессивным форматом, предлагающим множество передовых функций, а также регулярные обновления и улучшения. Формат файла OBJ занимает второе место с точки зрения возможностей, в то время как формат COLLADA считается медленным для изменения.

Формата файла OBJ: Геометрия

Основное назначение формата файла OBJ состоит в кодировании геометрии поверхности трехмерного объекта. Формат файла OBJ довольно универсален в этом отношении. Это позволяет несколько вариантов кодирования геометрии поверхности. Каждый из трех разрешенных методов, описанных ниже, имеет свои преимущества и недостатки.

Формат файла OBJ: Тесселяция с многоугольными граниями

В простейшем виде формат файла OBJ позволяет пользователю тесселяции (мозаику) поверхности 3D-модели с помощью простых геометрических фигур, таких как треугольники, четырехугольники или более сложные многоугольники. Вершины многоугольников и нормали к каждому многоугольнику затем сохраняются в файле для кодирования геометрии поверхности модели.

Например, вот изображение, показывающее, как трехмерная модель головы свиньи может быть мозаично соединена с крошечными треугольниками.

Мелкая треугольная сетка приблизительно кодирует геометрию поверхности этой 3D-модели

Тесселяции с многоугольными гранями имеют свои преимущества и недостатки. Полигоны — это простые геометрические фигуры, и этот метод на самом деле является самым простым способом описания геометрии поверхности. Однако аппроксимация изогнутой поверхности полигонами придает модели грубость.

В случае 3D-печати 3D-принтер будет печатать объект с той же грубостью, которая указана в файле. Конечно, делая треугольники все меньше и меньше, можно сделать аппроксимацию лучше и лучше, что приводит к получению отпечатков хорошего качества. Однако по мере уменьшения размера треугольника количество треугольников, необходимых для покрытия поверхности, также увеличивается. Это приводит к гигантским размерам файлов, с которыми трудно справиться слайсерам 3D-печати. Также очень тяжело делиться или загружать такие огромные файлы.

Поэтому очень важно найти правильный баланс между размером файла и качеством печати. Не имеет смысла уменьшать размер треугольников до бесконечности, потому что в какой-то момент ваш глаз не сможет различить качество печати.

Формат файла OBJ: Кривые свободной формы

Формат файла OBJ также позволяет задавать геометрию поверхности модели с использованием кривых произвольной формы. Основная идея заключается в том, что пользователь определяет набор кривых свободной формы (кардинальные сплайны, кривые Безье и т. Д.), Которые проходят по поверхности модели. Поверхность затем аппроксимируется из этого набора кривых.

Вот пример, иллюстрирующий кривую свободной формы на поверхности 3D-модели.

Кривая произвольной формы на поверхности 3D-модели

Как видите, кривые произвольной формы определенно сложнее, чем полигональные грани. Но, пожертвовав простотой, мы тоже многое выиграем. Поскольку кривые произвольной формы могут точно описывать кривые линии с использованием нескольких математических параметров, им требуется гораздо меньше данных для описания одной и той же поверхности по сравнению с приближенным методом, таким как полигональные тесселяции. Следовательно, мы можем создать высококачественную кодировку любой 3D-модели, используя кривые произвольной формы, не увеличивая размер файла.

Формат файла OBJ: Поверхности произвольной формы

С форматом файла OBJ вы также можете указать геометрию поверхности, облицовав ее поверхностями с помощью заплаток свободной формы вместо простых многоугольников. Этот вид поверхностных пятен очень полезен для описания поверхностей, которые не похожи на плоскости, сферы, цилиндры или конусы, то есть поверхности, которые не имеют жесткого радиального размера. Примеры таких поверхностей включают в себя кузов автомобиля, крылья самолета или корпус лодки.

NURBS Поверхность

Самая распространенная поверхность произвольной формы называется NURBS (Non-Uniform Rational B Spline), и формат файла OBJ поддерживает ее. GIF показывает пример того, как выглядит поверхность NURBS.

Преимущества использования поверхностей произвольной формы в некоторой степени аналогичны преимуществам использования кривых произвольной формы — они более точные и приводят к меньшему размеру файла при более высокой точности по сравнению с другими методами. На самом деле, можно утверждать, что поверхности произвольной формы более точны, чем кривые произвольной формы, поскольку они кодируют поверхность точно в отличие от аппроксимации поверхности с помощью кривых. Вот почему они находят применение в инженерных дисциплинах, которые беспощадны, когда речь идет о точности, таких как аэрокосмическая техника и автомобилестроение.

Формат файла OBJ: цвет и текстура

Во многих приложениях внешний вид 3D-модели имеет первостепенное значение. Например, никто не хочет играть в Need For Speed с тусклыми бесцветными машинами. Автомобили лучше быть красочными и блестящими! Цвет и блеск автомобиля являются примерами свойств, связанных с внешним видом. Проще говоря, внешний вид описывает свойства поверхности, такие как тип материала, текстура, цвет и т. Д. Это решает, как будет выглядеть модель при визуализации.

Формат файла OBJ позволяет хранить информацию о цвете и текстуре в формате сопутствующего файла, который называется форматом библиотеки шаблонов материалов (MTL). Этот партнерский файл имеет расширение. MTL.

Используя эти два файла вместе, можно визуализировать многоцветную текстурированную модель.

Файлы MTL содержат текст ASCII, который определяет светоотражающие свойства поверхности в соответствии с моделью отражения Фонга. Можно определить свойства материала, такие как окружающий цвет, рассеянный цвет, зеркальный цвет, прозрачность и т. Д. Мы обсудим спецификации файла MTL более подробно в следующем разделе.

Помимо поддержки этих свойств материала, формат MTL также поддерживает карты текстур, что является более удобным способом задания цветов и текстур. В отображении текстуры каждая точка на поверхности 3D-модели (или полигональная сетка) отображается на двухмерное изображение. Координаты 2D-изображения имеют такие атрибуты, как цвет и текстура. При рендеринге 3D-модели каждой точке поверхности назначается координата в этом 2-мерном изображении. Вершины сетки отображаются в первую очередь. Затем другим точкам присваиваются координаты путем интерполяции между координатами вершин.

Иллюстрация того, как наложение текстуры используется для кодирования цвета и текстурной информации одной стороны куба

Часто задаваемые вопросы о формате файлов OBJ, относящиеся к 3D-печати

Вопросы о формате файла OBJ: Можно ли выполнять полноцветную 3D-печать в формате файла OBJ?

Недавно  XYZ Printing анонсировала первый в мире полноцветный настольный 3D-принтер . Приблизительно 3000 долларов не лишены возможности сказать, что индустрия 3D-печати постепенно переходит от монохромной модели к многоцветной печати.

Формат файла OBJ полностью поддерживает многоцветную 3D-печать. На самом деле, сейчас это лучший выбор, если вы выберете многоцветный маршрут. Стандартный формат 3D-печати STL не поддерживает цвета, а другие форматы 3D-печати, такие как AMF, 3MF и VRML, слишком ограничены для широкого использования.

Как использовать OBJ для 3D-печати?

Для 3D-печати файл должен быть открыт в специальном слайсере, таком как Slic3r. Что такое слайсер? Это программное обеспечение для 3D-печати, которое преобразует цифровые 3D-модели в инструкции по печати для вашего 3D-принтера для создания объекта.

Слайсер разбивает ваш OBJ-файл на сотни (иногда тысячи) плоских горизонтальных слоев на основе выбранных вами настроек и рассчитывает траекторию, по которой будет следовать инструмент, который будет физически отображать вашу модель слой за слоем. Этот процесс также вычисляет оценки того, сколько материала понадобится вашему принтеру и сколько времени потребуется, чтобы это сделать.

Вся эта информация затем упаковывается в файл GCode, родной язык вашего 3D-принтера. Настройки слайсера влияют на качество вашей печати, поэтому важно иметь правильное программное обеспечение и настройки, чтобы обеспечить вам максимально возможное качество печати. Также важно проверить, поддерживает ли ваш слайсер файлы OBJ, и если да, то какие функции он поддерживает. Некоторые слайсеры могут поддерживать простые полигональные сетки, но выдают ошибку, если вы использовали в своей кодировке кривые произвольной формы или поверхности.

Как только GCode будет загружен на ваш 3D-принтер, следующим этапом будет повторная сборка этих отдельных двумерных слоев в виде трехмерного объекта на вашей печатной платформе. Это делается путем нанесения последовательности тонких слоев пластмасс, металлов или композитных материалов и создания модели по одному слою за раз.

Можно ли печатать все файлы OBJ 3D?

К сожалению нет. Только 3D-дизайн, специально предназначенный для 3D-печати, пригоден для 3D-печати. Файл OBJ — это просто контейнер для данных, а не гарантия того, что что-то    можно распечатать. Помните, что формат файла OBJ также используется в качестве формата обмена для приложений 3D-графики, который не имеет ничего общего с 3D-печатью.

3D-модели, подходящие для 3D-печати, должны иметь минимальную толщину стенок и «водонепроницаемую» геометрию поверхности, чтобы их можно было печатать в 3D. Даже если это видно на экране компьютера, невозможно напечатать что-либо    с нулевой толщиной стенки.

Есть также рассмотрение нависающих элементов на модели. Посмотрите на логотип All3DP на картинке выше; если модель напечатана в вертикальном положении, то для нависающих элементов с углом более 45 градусов потребуются опоры (которые вы видите зеленым цветом).

При загрузке файла, который вы не создали сами, стоит потратить время на то, чтобы убедиться, что он действительно для печати в 3D. Это сэкономит вам много времени, разочарования и потраченной нити.

Ресурсы формата файла OBJ

В этом разделе мы расскажем об отличном программном обеспечении и ресурсах, которые вы можете использовать для загрузки, просмотра, редактирования и восстановления файлов OBJ.

Загрузка

В Интернете есть много репозиториев, торговых площадок и поисковых систем, содержащих буквально тысячи бесплатных файлов. Основные места для загрузки OBJ-файлов: TurboSquid , Free 3D , CGTrader , Archive3D , Clara , бесплатные 3D-модели и Oyonale .

Открытие и просмотр

К счастью, открытие файла OBJ не слишком сложно. Большинство программ САПР может обрабатывать формат файла OBJ и позволяет просматривать его. В частности, вы можете попробовать Solidworks, Fusion 360, Blender, Rhino, Cinema4D и Unity.

Вы также можете просматривать файлы в режиме онлайн без необходимости загружать и устанавливать программное обеспечение на свой компьютер: Autodesk360Viewer , 3DViewerOnline , 3D-Tool — это интерактивные средства просмотра 3D-моделей, которые поддерживают формат файлов OBJ.

Ремонт

Есть несколько программ, которые могут помочь с восстановлением поврежденного файла OBJ. Например, Netfabb Basic, Meshmixer и Meshlab являются отличными инструментами для устранения наиболее распространенных проблем печати.

файлов Спецификация формата файлов OBJ, упрощенная

До сих пор мы много обсуждали, что может делать формат файла OBJ, а что нет. Но как формат файла OBJ кодирует информацию о геометрии и свойствах материала в файле? Что вы увидите, если откроете файл в текстовом редакторе?

В этом разделе мы рассмотрим самые основные части спецификации, исследуя, как на самом деле работает формат файла OBJ. Изучив информацию, вы поймете и оцените, что хранит каждая строка файла OBJ. Если вы программист и хотите создать парсер, эти знания незаменимы. Полная спецификация файла OBJ доступна здесь http://www.cs.utah.edu/~boulos/cs3505/obj_spec.pdf.

Спецификация OBJ

Формат файла OBJ — это формат файла ASCII. Если вы действительно хардкор, вы можете редактировать файлы в текстовом редакторе.

Исходная спецификация не указывает, каким должен быть символ конца строки, поэтому некоторые программы используют возврат каретки, а некоторые используют перевод строки. Возможно, вам придется преобразовать символы конца строки, если ваш текстовый редактор или программное обеспечение не может прочитать файл.

Первый символ каждой строки очень важен. Указывает тип команды. Если первый символ — #, эта строка является комментарием, а все остальное в этой строке игнорируется. Пустые строки также игнорируются.

Ниже мы перечисляем все общие команды. Первый символ всегда является типом команды. За этим следуют аргументы. Все, показанное в квадратных скобках, не является обязательным.

ФОРМАТ ФАЙЛА OBJ: КОМАНДА КОММЕНТАРИЕВ

# a comment line

Как мы уже говорили, символ # указывает, что строка является комментарием и должна игнорироваться. Первая строка обычно всегда является комментарием, который указывает, какая программа создала файл.

ФОРМАТ ФАЙЛА OBJ: КОМАНДА VERTEX

v x y z

Это вершинная команда. В этой упрощенной версии спецификации мы будем покрывать только многоугольные грани, поэтому команду vertex можно использовать для указания вершин многоугольника. При использовании поверхностей и кривых произвольной формы существует аналогичная команда vp, которую можно использовать для указания контрольных точек поверхности или кривой.

Команда v задает вершину по ее трем декартовым координатам x, y и z. Вершины автоматически присваивается имя в зависимости от порядка, в котором она находится в файле. Первая вершина в файле получает имя «1», вторая — «2», третья — «3» и так далее.

ФОРМАТ ФАЙЛА OBJ: КОМАНДА VERTEX NORMAL

vn x y z

Это вершинная нормальная команда. Указывает вектор нормали к поверхности. x, y и z — компоненты нормального вектора. Обратите внимание, что этот нормальный вектор еще не связан ни с одной вершиной. Мы должны будем связать его с вершиной позже с другой командой, называемой командой f .

Команда нормали вершин во многих файлах опущена, потому что, когда мы сгруппируем вершины в полигональные грани с помощью команды f , она автоматически определит вектор нормали по координатам вершин и порядку, в котором эти вершины появляются.

ФОРМАТ ФАЙЛА OBJ: ТЕКСТУРНАЯ КОМАНДА VERTEX

vt u v [w]

Команда текстуры вершины задает точку на карте текстуры, которую мы рассмотрели в предыдущем разделе. U и V — координаты X и Y в текстурной карте. Это будут числа с плавающей точкой от 0 до 1. Они сами по себе ничего вам не говорят, они должны быть сгруппированы с вершиной в команде f face, как и нормали вершин.

ФОРМАТ ФАЙЛА OBJ: КОМАНДА FACE

f v1[/vt1][/vn1] v2[/vt2][/vn2] v3[/vt3][/vn3] …

Команда лица, вероятно, самая важная команда. Он определяет многоугольную грань, сделанную из вершин, которые были до этой линии.

Для ссылки на вершину вы просто следуете неявной системе нумерации вершин. Например, «f 23 24 25 27» означает многоугольную грань, построенную по вершинам 23, 24, 25 и 27 по порядку.

Для каждой вершины вы можете связать команду vn , которая затем связывает эту вершину, нормальную к соответствующей вершине. Точно так же вы можете связать команду vt с вершиной, которая определит наложение текстуры для использования в этой точке.

Если вы указываете vt или vn для вершины, вы должны указать их для всех.

ФОРМАТ ФАЙЛА OBJ: ГРУППОВАЯ КОМАНДА

g name

Команда имени группы определяет группировку подобъектов. Все екоманды лица, которые следуют будут находиться в одной и той же группе. Это полезно, если мы хотим повторно использовать определенную информацию, такую как тип материала, для выбранной части объекта.

ФОРМАТ ФАЙЛА OBJ: КОМАНДА «ИСПОЛЬЗОВАТЬ МАТЕРИАЛ»

usemtl name

Команда use material позволяет вам назвать материал для использования. Все последующие команды f face будут использовать один и тот же материал, пока не появится другая команда usemtl.

ФОРМАТ ФАЙЛА OBJ: ВСЕ ВМЕСТЕ

Собирая все это вместе, вот примерный план простого файла OBJ

# comment about what application generated this file.
# all the 'v' commands are listed
v x y z
v …
# all the 'vn' commands are listed
vn …
# all the 'vt' commands are listed
vt x y z
vt …
# a group is defined and the material for the group is set
g object
usemtl material
# all the 'f' commands are listed
f 1/1 2/2 3/3 4/4
f ….

Формат файла OBJ: спецификация MTL

Прилагаемый файл MTL определяет цвет и текстуру модели. На этот файл MTL ссылается команда

mtlib name

где имя — это имя файла MTL.

Поскольку материалы указаны в файле MTL, команда mtlib должна предшествовать команде usemtl .

Файл MTL может указывать много материалов. Материалы определяются командой newmtl .

mtlib name

Свойства материала определяются позже. Вот некоторые команды, которые определяют свойства.

ФОРМАТ ФАЙЛА OBJ: AMBIENT COLOR COMMAND

Ka R G B

Например, эта команда определяет внешний цвет материала. R, G и B — красный, зеленый и синий каналы. Каждый может принимать значение от 0 до 1.

ФОРМАТ ФАЙЛА OBJ: ДИФФУЗНЫЙ ЦВЕТ

Kd R G B

Точно так же, Kd — диффузный цвет.

ФОРМАТ ФАЙЛА OBJ: КОМАНДА ПРОЗРАЧНОСТИ

d value

Эта команда определяет прозрачность материала. Значения могут быть от 0 (полностью прозрачные) до 1 (полностью непрозрачные).

ФОРМАТ ФАЙЛА OBJ: КОМАНДА РЕЖИМА ОСВЕЩЕНИЯ

illum value

Эта команда определяет режим освещения. Доступны несколько вариантов, которые перечислены ниже:

0. Color on and Ambient off
1. Color on and Ambient on
2. Highlight on
3. Reflection on and Ray trace on
4. Transparency: Glass on, Reflection: Ray trace on
5. Reflection: Fresnel on and Ray trace on
6. Transparency: Refraction on, Reflection: Fresnel off and Ray trace on
7. Transparency: Refraction on, Reflection: Fresnel on and Ray trace on
8. Reflection on and Ray trace off
9. Transparency: Glass on, Reflection: Ray trace off
10. Casts shadows onto invisible surfaces

ФОРМАТ ФАЙЛА OBJ: КОМАНДА НАЛОЖЕНИЯ ТЕКСТУР

Наконец, все эти свойства также могут быть объявлены в текстурной карте. Например, если вы хотите объявить окружающий цвет, используя карту текстуры, просто используйте следующую команду.

map_Ka square.tga          # the ambient texture map 

Здесь карта текстуры указана в отдельном файле текстуры с расширением. TGA.

ФОРМАТ ФАЙЛА OBJ: ВСЕ ВМЕСТЕ

Чтобы собрать все воедино, вот фактический файл данных для простого текстурированного квадрата 2 × 2. Он ссылается на файл MTL с именем master.mtl. Этот файл MTL определяет свойства материала, используя текстурную карту 1 × 1.

# A 2 x 2 square mapped with a 1 x 1 square
# texture stretched to fit the square exactly.
mtllib master.mtl
v 0.000000 2.000000 0.000000
v 0.000000 0.000000 0.000000
v 2.000000 0.000000 0.000000
v 2.000000 2.000000 0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
# 4 vertices
usemtl wood
# The first number is the point, then the slash, and the second is the texture point
f 1/1 2/2 3/3 4/4
# 1 element

Заключение

В заключение мы узнали много нового о формате файла OBJ. Мы говорили о том, как он сравнивается с другими популярными форматами файлов 3D-печати и 3D-графики и когда использовать каждый из этих форматов. Далее мы обсудили особенности и позже представили простую версию полной технической спецификации. Мы ответили на некоторые распространенные вопросы, касающиеся формата файла OBJ и его использования в 3D-печати. Наконец, мы поделились некоторыми ресурсами, с помощью которых вы можете скачать, просмотреть и восстановить их.

Мы надеемся, что глубокое понимание формата файла OBJ поможет вам стать более знающим 3D-дизайнером и более информированным пользователем вашего 3D-принтера. Если вы нашли эту статью полезной, поделитесь ею с другими энтузиастами 3D-дизайна и печати и распространите информацию. У вас есть вопросы или замечания? Дайте нам знать в комментариях ниже .

Комментарии: