我试着查看http://graphics.pixar.com/usd/docs/index.html和http://graphics.pixar.com/usd/docs/Usdz-File-Format-Specification.html上的主要文档.但无法找到创建usdz文件的详细信息.
我可以从http://graphics.pixar.com/usd/downloads.html获取一些示例USD文件
我们怎样才能创造一个?
Cla*_*lay 21
Apple提供的usdz文件库位于以下网址
https://developer.apple.com/arkit/gallery/
您需要安装iOS12测试版的设备才能在移动设备上查看模型.基本上Apple使用Mime-types模型/ usd usdz和model/und.pixar.usd .usdz将它们标识为AR可查看.您还需要通过Safari浏览器执行此操作... Chrome不支持文件格式.
用于列出缩略图usdz文件的html将如下所示.
<a rel="ar" href="model.usdz">
<img src="model-preview.jpg">
</a>
Run Code Online (Sandbox Code Playgroud)
为了创建你自己的usdz文件,Apple捆绑了usdz_converter作为Xcode 10的一部分.它是一个命令行工具,用于从OBJ文件,单帧Alembic(ABC)文件,USD文件(.usda或usd.c)创建usdz文件. )
基本命令行是
xcrun usdz_converter Wineglass.obj Wineglass.usdz
Run Code Online (Sandbox Code Playgroud)
usdz支持基于物理的渲染,为此,你可以为PBR的每个组件添加图像,如下所示,
xcrun usdz_converter Wineglass.obj Wineglass.usdz
-g WineGlassMesh
-color_map WineGlass_Albedo.png
-metallic_map WineGlass_Metallic.png
-roughness_map WineGlass_Roughness.png
-normal_map . WineGlass_Normal.png
-emissive_map WineGlass_Emissive.png
Run Code Online (Sandbox Code Playgroud)
一个很好的视频,可以帮助您开始创建usdz文件,在网页上托管并在您自己的应用中创建快速浏览
https://developer.apple.com/videos/play/wwdc2018/603/
小智 5
用于在 iOS 上从 OBJ 创建 USDZ 文件(无需 xcode)
我团队的一位工程师上周解决了这个问题!(请参阅我们博客上的概要:https://www.scandy.co/blog/how-to-export-simple-3d-objects-as-usdz-on-ios)
创建USDZ文件现在很有趣 - 目前我们可以通过保存文件USDC并...重命名扩展名来伪造它!
首先,您需要将 filePath 处的 .obj 文件作为 MDLAsset 加载
NSURL *url = [NSURL fileURLWithPath:filePath];
MDLAsset *asset = [[MDLAsset alloc]initWithURL:url];
Run Code Online (Sandbox Code Playgroud)
确保MDLAsset可以写入所需的扩展 usdc 支持(美元二进制格式)
if([MDLAsset canExportFileExtension:@"usdc"]){
NSLog(@"able to export as usdc");
// save the usdc file
[asset exportAssetToURL:usdcUrl];
}
Run Code Online (Sandbox Code Playgroud)
将 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]);
}
Run Code Online (Sandbox Code Playgroud)
希望这对 Apple 能给我们提供更全面的操作方法有所帮助。