Создание файла USDZ на лету?
Кто-нибудь знает, как создать usdz из obj на лету? Наше приложение создает файл obj, используя стороннюю библиотеку, и для использования QLPreviewController нам нужно преобразовать его в формат usdz. Есть способы сделать это с помощью терминала, но интересно, есть ли способ сделать это программно?
0 ответов
Инженер из моей команды понял это на прошлой неделе! Создание USDZ
файлы смешные прямо сейчас - в настоящее время мы можем подделать его, сохранив USDC
файл и... переименование расширения!
Сначала вы захотите загрузить файл.obj в filePath как MDLAsset.
NSURL *url = [NSURL fileURLWithPath:filePath];
MDLAsset *asset = [[MDLAsset alloc]initWithURL:url];
обеспечить MDLAsset
можно написать нужные расширения, поддерживается usdc (двоичный формат USD)
if([MDLAsset canExportFileExtension:@"usdc"]){
NSLog(@"able to export as usdc");
// save the usdc file
[asset exportAssetToURL:usdcUrl];
}
переименуйте usdc в usdz, потому что это все, что нужно
NSError *renameErr;
NSFileManager *fm = [[NSFileManager alloc] init];
BOOL mvResult = [fm moveItemAtPath:usdcPath toPath:usdzPath error:& renameErr];
if(! mvResult){
NSLog(@"Error renaming usdz file: %@", [renameErr localizedDescription]);
}
Надеюсь, что это поможет, пока Apple не даст нам более подробные инструкции. Если вы хотите прочитать более подробное описание этой формы - https://www.scandy.co/blog/how-to-export-simple-3d-objects-as-usdz-on-ios