与USD一起工作(一)

作者:禮龍
声明:转发本文,请联系作者授权

iOS整合与USD一起工作(一)_第1张图片

Messages、Mail、Notes、News、Safari、Files以及其他第三方应用。

什么是USD?

与USD一起工作(一)_第2张图片

USD全称为Universal Scene Description,即通用场景描述。

由Pixar开发

  • 3D文件格式
  • Python绑定的C++库
    • 读取/写入
    • 合成引擎
    • 更多。。。

专注于速度、可扩展性、 协作

USD文件类型

与USD一起工作(一)_第3张图片

什么是USD?

与USD一起工作(一)_第4张图片
USD的分配格式
紧凑的单个文件
共享优化
AR快速查看的基础
支持iOS,macOS和tvOS

usdz剖析

  • 未压缩的存档 64位对齐文件(内存映射)
  • 场景描述文件 .usda, .usd, .usdc, .usdz
  • 纹理 .png或.jpeg
    与USD一起工作(一)_第5张图片

转换3D内容

与USD一起工作(一)_第6张图片

新的命令行工具 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内容

与USD一起工作(一)_第7张图片

与USD一起工作(一)_第8张图片

与USD一起工作(一)_第9张图片

从SceneKit中导出usdz

创建或加载SCNScene
导出.usdz

let scene = SCNScene(...)
...
scene.write(to: baseURL.appendingPathComponent("file.usdz"), delegate: nil)

USD特性

与USD一起工作(一)_第10张图片

你可能感兴趣的:(ARKit)