Файл USDZ не загружается на iPhone 7 - PullRequest
0 голосов
/ 16 ноября 2018

Наш файл USDZ не загружается на iPhone 7 с iOS 12. Он отлично работает на моих iPhone X и iPad Pro, оба работают под управлением iOS 12 Beta.

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

Warning: in CreateMaterialBindings at line 59 of /BuildRoot/Library/Caches/com.apple.xbs/Sources/3DAssetTools/3DAssetTools-14207.2/external/ModelKit/extern/usd/pxr/usd/usdObj/translator.cpp -- OBJ mtl usemtl name has invalid name '15___Default', using default usemtl name: 'defaultShadeGroup0' 

Экран на iPhone 7 выглядит так: iPhone 7 Error Screen

Вы можете скачать необработанные файлы здесь .

1 Ответ

0 голосов
/ 21 апреля 2019

Вы не можете видеть свою 3D-модель, потому что вы используете очень плохое соглашение об именах для файла model2_$$usd_converter$$_.usdc внутри usdz контейнера. В macOS и iOS вы должны избегать использования $ в именах файлов, потому что знак доллара - это специальный символ .

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

Первый шаг (распаковать mmtest.usdz файл)

Чтобы распаковать файл usdz в macOS Mojave, используйте следующий метод:

  • В Finder измените расширение файла .usdz на .zip.
  • Распакуйте файл .zip, используя Archive_Utility.app или RAR_Extractor.app.
  • Открыть разархивированный каталог и изменить имена файлов.
  • Убедитесь, что все текстуры имеют формат JPG и / или PNG.
  • Убедитесь, что 3D-нормали вашей USDC модели не инвертированы.

enter image description here

enter image description here

enter image description here

Второй шаг (воссоздайте usdz снова)

Убедитесь, что Xcode 10.2 установлен.

Чтобы снова преобразовать содержимое разархивированной папки (двоичный файл usdc и его текстуры) в формат usdz, используйте следующую команду в Terminal.app:

cd ~/Desktop/mmtest/


xcrun usdz_converter Model.usdc Model.usdz 
-g SofaMesh
-color_map Diffuse.jpg
-roughness_map Roughness.png
-normal_map Normal.jpg

А вот полный список опций (введите xcrun usdz_converter -h в терминале):

-g groupName [groupNames ...]        Apply subsequent material properties to the named group(s).
-m materialName [materialNames ...]  Apply subsequent material properties to the named material(s).
-h                                   Display help.
-a                                   Generate a .usda intermediate file.  Default is .usdc.
-l                                   Leave the intermediate .usd file in the source folder.
-v                                   Verbose output.
-f                    filePath       Read commands from a file.
-texCoordSet          set            The name of the texturemap coordinate set to use if multiple exist (no quotes).
-opacity              o              Floating point value 0.0...1.0

-color_default        r g b a        Floating point values 0.0...1.0
-normal_default       r g b a        Floating point values 0.0...1.0
-emissive_default     r g b a        Floating point values 0.0...1.0
-metallic_default     r g b a        Floating point values 0.0...1.0
-roughness_default    r g b a        Floating point values 0.0...1.0
-ao_default           r g b a        Floating point values 0.0...1.0

-color_map            filePath
-normal_map           filePath
-emissive_map         filePath
-metallic_map         filePath
-roughness_map        filePath
-ao_map               filePath

Теперь модель работает отлично.

enter image description here

...