作者:禮龍
声明:转发本文,请联系作者授权
iOS整合
Messages、Mail、Notes、News、Safari、Files以及其他第三方应用。
什么是USD?
USD全称为Universal Scene Description,即通用场景描述。
由Pixar开发
- 3D文件格式
- Python绑定的C++库
- 读取/写入
- 合成引擎
- 更多。。。
专注于速度、可扩展性、 协作
USD文件类型
什么是USD?
USD的分配格式
紧凑的单个文件
共享优化
AR快速查看的基础
支持iOS,macOS和tvOS
usdz剖析
- 未压缩的存档 64位对齐文件(内存映射)
- 场景描述文件 .usda, .usd, .usdc, .usdz
- 纹理 .png或.jpeg
转换3D内容
新的命令行工具 usdzconvert
- .obj, .fbx, .gltf, .abc等
- 执行资产校验
- 基于Python
- 平台独立
% usdzconvert esprit.gltf
usdzconvert: converting file: esprit.gltf
usdzconvert: converted usdz file: esprit.usdz
usdARKitChecker: [Pass] esprit.usdz
% usdzconvert -h
[…]
% usdzconvert esprit.obj -diffuseColor d.png -normal n.png -metallic m.png -roughness r.png
[…]
usdzconvert工具下载
https://developer.apple.com/augmented-reality/quick-look/ 点击“Download usdz tools”
% usdcat model.usdz
[…]
% usdtree model.usdz
/
--Parent [def Xform] (kind = component) |--CubeChild [def Cube] |--SphereChild [def Sphere]
–Materials [def Scope]
`–Glass [def Material]
% usdchecker model.usdz —-arkit
Success!
% fixOpacity model.usdz
[…]
创建3D内容
从SceneKit中导出usdz
创建或加载SCNScene
导出.usdz
let scene = SCNScene(...)
...
scene.write(to: baseURL.appendingPathComponent("file.usdz"), delegate: nil)