Теперь вы можете конвертировать 3D-модели в .usdz
файлы (несжатый zip-архив), используя инструмент командной строки Apple в комплекте с бета-версией Xcode 10.
Пример кода для преобразования файла .obj
в .usdz
:
xcrun usdz_converter magnifying_glass.obj -g frame magnifying_glass.usdz
-color_map gold-basecolor.png -normal_map gold-normal.png
-roughness_map gold-roughness.png -metallic_map gold-metallic.png
Поддерживаются следующие типы входных 3D-файлов:
- OBJ-файл
- Однокадровый файл Alembic (ABC)
- USDфайл .usda (ascii) или .usdc (двоичный)
Насколько я понимаю, файл OBJ изначально не поддерживает анимацию.
Однокадровый файл Alembic не поддерживаетанимация либо как один кадр.
Так что я предполагаю, что вам нужно использовать файл usda, который ссылается на последовательность однокадровых Alembic или однокадровых OBJ-файлов для генерации анимации.
Есть ли какая-либо общедоступная документация покак это сделать?
Файл usda может использовать файлы полезной нагрузки для ссылки на однокадровые сетки.Приведенный ниже пример ссылается на геометрию файла фрейма с одним кадром в Treasure Chest.
#usda 1.0
def "Chest_Base" (
references = [ @./Chest.abc@</Chest_Base> ])
{
}
Но я не нашел конкретного способа связать последовательность файлов .obj
или одного фрейма .abc
в один кадр.для создания, скажем, 10-секундной анимации.
Любая помощь или подсказка будет принята с благодарностью.
Изменить 30 июня:
У меня сейчасудалось анимировать файл USDZ.У меня есть живое демо здесь с вращающимися шестернями и вертолетом.
По сути, мне нужно было скачать конвейер usd с github и собрать его на моем Mac.Вы можете получить хорошие инструкции о том, как это сделать, с здесь
Будьте осторожны, отложите хотя бы пару часов, сама сборка занимает около часа.
После этого я запустил анимированный учебный пример в комплекте с конвейером usd.Step5.usda (файл ascii usd) содержит пример анимации, которому я следовал, чтобы создавать свои собственные анимации с использованием вращений.
Выполнение этой команды usdz создаст простую анимацию вращающейся вершины, если вы создадите файл Step5.usda, следуя учебному пособию по пикселям по ссылке выше.
xcrun usdz_convertor Step5.usda animationTest.usdz
Правка 10-гоИюль 2018 года:
usdz также поддерживает ресурсы alembic (с анимацией).
Теперь мне удалось получить простую анимацию, работающую в usdz (используя формат файла alembic).Однако анимация костей на персонаже, которого я пробовал, не сработала.
Я экспортировал активы Alembic с экспортерами Blender и Modo Alembic ... одинаковые результаты.
Ультрафиолетовые материалы также неправильно отображались в сетке.Что-то не так с ультрафиолетовым масштабированием и картированием ... материалы получаются фрагментированными.На данном этапе я не знаю, является ли это ошибкой, или я не делаю что-то не так здесь.Существует некоторое обсуждение этой проблемы с ультрафиолетовым отображением на форуме Apple
Редактировать 8 сентября 2018 года:
Это быстро развивающаяся область, и яуверен, со временем появятся новые способы решения анимации usdz.Тем не менее, в настоящее время лучший и наименее затратный способ (с открытым исходным кодом) для создания usd-файлов с трансформацией, костью, наложением или морфированием использует инструмент командной строки, размещенный на GitHub и называемый glTF2usd .
Инструмент может преобразовать файл анимации glTF в файл usda (промежуточный тип файла) для создания файла usdz.Вскоре он также должен поддерживать прямое создание usdz, что исключает необходимость использования инструмента командной строки Apples usdz_converter для перехода от usda -> usdz.
В настоящее время поддерживается только 1 группа анимации.Некоторые ошибки все еще существуют в отношении вращений, можно использовать ручку --use-euler-вращение, чтобы помочь с более плавными вращениями.
Я публиковал анимации usdz, которые я создавал с помощью этого инструмента, в онлайн-галерею usdz www.fusionar.app