OBJ-файл для разработки приложений ARCore

Какое значение имеет файл andy.obj в примере ARCore?

Скажем, если мы заменим andy.png новым изображением, как мы можем сгенерировать .obj файл для нового изображения?


person Kashi    schedule 31.08.2017    source источник


Ответы (4)


Файл OBJ описывает геометрию, файл png - текстуру, которую нужно «растянуть» над этим трехмерным объектом. Вы должны использовать программу 3D-моделирования, например Blender, чтобы создать новую модель.

Вот как вы экспортируете файлы OBJ в Blender: https://blender.stackexchange.com/questions/121/how-do-i-export-a-model-to-obj-format

введите описание изображения здесь

person PhilLab    schedule 31.08.2017
comment
Я сделал это, но когда я добавляю файл новой модели (.obj) вместе с файлом .mtl в проект arcore (заменяя andy.obj), при нажатии на экран на экране ничего не появляется - person Conti; 12.09.2017
comment
Привет, Конти, вы проверяли консоль на наличие ошибок? Обратите внимание, что в примере кода ARCore ObjectRenderer использует простую 2D-текстуру (файл andy.png), которая отличается от текстуры, описанной в файле MTL. - person Quent1V; 15.09.2017

Пример кода может обрабатывать только простейшие модели OBJ, которые имеют только 1 файл текстуры.

Для этих сложных моделей OBJ они обычно идут с файлом MTL, который ссылается на несколько разных файлов текстур. Чтобы справиться с этим, вам потребуется дополнительная работа над существующим кодом. Пожалуйста, проверьте код, который я использую для этого случая, если вас интересует @ https://github.com/JohnLXiang/arcore-sandbox. В частности, вы можете взглянуть на ObjectRenderer.createOnGlThread ().

person JohnLXiang    schedule 25.09.2017
comment
Привет .. вы проверили свой код на github? Пытаюсь воспроизвести, но не рисует объекты. Никаких сбоев или чего-либо еще и входит в цикл for для групп материалов при отрисовке. - person Arun Reddy Kandoor; 04.11.2017
comment
@ArunReddyKandoor Да, знал. Но я также обнаружил, что некоторые OBJ, которые я скачал в Интернете, по какой-то причине не могут быть нарисованы, те, которые я включил в папку с ресурсами, работали нормально ... Извините, у меня нет возможности разобраться в этой проблеме - person JohnLXiang; 04.11.2017
comment
Не уверен, что я сделал (возможно, масштабировал) ... сейчас я вижу объекты, но они черно-белые. Есть какие-нибудь подсказки, как получить объекты в истинных цветах? - person Arun Reddy Kandoor; 07.11.2017
comment
@ArunReddyKandoor Извините, не могу помочь. Я также заметил, что для некоторых файлов текстур, даже если они правильно привязаны, с моей точки зрения, они все еще не могут быть отрисованы по какой-то причине ... - person JohnLXiang; 01.12.2017
comment
@JohnLXiang, какой инструмент вы использовали для экспорта файлов .OBJ и .MTL (это относится к нескольким файлам текстур)? - person Khurram Shehzad; 07.12.2018

Чтобы экспортировать текстуру как изображение в Blender, сделайте следующее:

Выберите свой объект и войдите в режим редактирования. Выделите все вершины / грани (нажмите «a»). Затем запустите UV Mapping, нажмите «u». И выберите один из вариантов UVMapping. Вы должны протестировать лучший вариант для вашей модели. Я не уверен, какой вариант отображения UV Mapping использует ARCore.

введите описание изображения здесь

Затем перейдите в редактор UV / Image:

введите описание изображения здесь

Экспортируйте UV Layout в меню и сохраните изображение.

введите описание изображения здесь

person Derzu    schedule 04.03.2018

Для создания новой .obj модели для вашего приложения AR вам необходимо использовать программное обеспечение для 3D-авторинга, такое как Autodesk Maya, Autodesk 3dsMax, Blender, SideFx Houdini, Cinema 4D и т. Д. Эти приложения могут помочь вам создать высококачественную многоугольную модель с соответствующим .mtl файлом текстуры. .

Но вы должны знать, что Sceneform поддерживает 3D-ресурсы не только в формате OBJ (где анимация не поддерживается), но также в формате FBX (с анимацией) и в glTF (анимация не поддерживается).

  • .obj
  • .fbx
  • .glTF

Также приветствуются определения объектов ASCII и Binary Sceneform:

  • .sfa
  • .sfb

Поддерживаемые файлы материалов (также известные как текстуры для ваших 3D-ресурсов) имеют следующие расширения: MTL, BIN, PNG, JPG и SFM.

  • .mtl
  • .bin
  • .png
  • .jpg
  • .sfm

Надеюсь это поможет.

person Andy Fedoroff    schedule 07.04.2019