Как создать DAE-файл для использования в SceneKit?

Как создать .dae файл из 3D-модели? Я создал 3D-модель из картографирования площадей дронов, и теперь у меня есть очень большой файл, который я могу импортировать в Photoshop, но я не могу понять, как создать .dae файл, который я могу использовать в SceneKit.

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


person ricozinn    schedule 20.11.2014    source источник
comment
Похоже, где-то должен быть учебник, в котором объясняется, как начать с 3D-модели .OBJ-файла, и с помощью Photoshop или другого аналогичного инструмента и Xcode объясняется, как создать образец стартового проекта SceneKit, который вы видите в Xcode 6.1 в настоящее время. Сообщите мне, если кто-нибудь нашел что-то подобное.   -  person ricozinn    schedule 20.11.2014
comment
Большинство программ для 3D-моделирования можно экспортировать в файлы COLLADA (.dae). Попробуйте один из них. Поскольку этот вопрос сейчас сформулирован, он не о программировании.   -  person David Rönnqvist    schedule 20.11.2014
comment
аналогичный вопрос: блендере. stackexchange.com/questions/14584/   -  person mnuages    schedule 20.11.2014
comment
Эта статья может вам помочь   -  person Leonardo    schedule 26.11.2014


Ответы (1)


Чтобы создать 3D-модель и экспортировать ее как файл Collada .dae, вы можете использовать любой из следующих инструментов 3D-авторинга: Autodesk Maya, Blender, Autodesk 3dsMax, The Foundry Modo, Maxon Cinema 4D, SideFX Houdini и т. Д. Самый простой способ - это используйте некоммерческую студенческую версию Autodesk Maya 2022. Это бесплатно. Вы можете загрузить его с ЗДЕСЬ.

В YouTube есть бесчисленное множество примеров того, как моделировать и UV-карту в программном обеспечении Maya. Посмотрите этот пример UV-отображения в Maya. Итак, когда ваша 3D-модель (и ее UV-текстура) готова к использованию, вы можете экспортировать ее как один из четырех форматов, поддерживаемых SceneKit:

  • анимированная коллада DAE
  • анимированный Pixar USDZ (для iOS 12 и выше)
  • анимированный Autodesk FBX
  • однокадровый Sony Alembic
  • однокадровый Wavefront OBJ

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

В Maya Export Type для вашей 3D-геометрии должно быть DAE_FBX export:

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

Текстуру для вашей модели (квадратное UV-отображение 1K или 2K) вы можете экспортировать как файл JPEG или PNG. Это может выглядеть так:

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

Эту UV-квадратную текстуру вы должны назначить слоту Diffuse свойств в Lighting Model (шейдер) в Show the Material Inspector.

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

И вот код Swift, если вы хотите сделать это программно:

let scene = SCNScene(named: "art.scnassets/mushroom.scn")!

let mushroom = scene.rootNode.childNode(withName: "mushroom", 
                                     recursively: true)!

let mushroomMaterial = SCNMaterial()

mushroomMaterial.diffuse.contents = UIImage(named: "mushroom.png")


P.S. Работа с форматом файлов Pixar USDZ:

Если вам нужен .usdz для вашей 3D-сцены, вы можете преобразовать .usda, используя следующую команду в Терминале:

usdzconvert file.usda

Здесь вы можете прочитать о команде usdzconvert.

person Andy Fedoroff    schedule 09.09.2018