首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行中创建USDZ文件?

在运行中创建USDZ文件?
EN

Stack Overflow用户
提问于 2018-09-28 14:08:18
回答 1查看 687关注 0票数 2

有人知道如何从obj动态创建usdz吗?我们的应用程序使用第三方库创建了一个obj文件,为了使用QLPreviewController,我们需要将其转换为usdz格式。有一些方法可以使用终端来做到这一点,但是想知道是否有任何方法可以通过编程来实现?

EN

回答 1

Stack Overflow用户

发布于 2018-12-14 01:13:36

我们团队的一位工程师上周解决了这个问题!现在创建USDZ文件很有趣--目前我们可以通过保存一个USDC文件来伪造它。重命名扩展名!

首先,您需要将filePath中的.obj文件作为MDLAsset加载

代码语言:javascript
复制
NSURL *url = [NSURL fileURLWithPath:filePath];
MDLAsset *asset = [[MDLAsset alloc]initWithURL:url];

确保MDLAsset可以写入所需的扩展名( usdc支持)(usdc二进制格式)

代码语言:javascript
复制
if([MDLAsset canExportFileExtension:@"usdc"]){
  NSLog(@"able to export as usdc");

  // save the usdc file
  [asset exportAssetToURL:usdcUrl];
}

将usdc重命名为usdz,因为这就是它所需要的

代码语言:javascript
复制
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]);
}

希望这对我们有所帮助,直到苹果公司能给我们一个更彻底的方法。如果您想阅读更详细的详细信息- https://www.scandy.co/blog/how-to-export-simple-3d-objects-as-usdz-on-ios

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52549319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档