作者: Chafferer,iOS 开发者,目前就职于手百 iOS 基础研发组。
Sessions: https://developer.apple.com/videos/play/wwdc2020/10601/
前言
Reality Converter 和 Reality Composer 可以更加容易地为你的 iOS 或者 iPadOS app 创建增强现实的资源,可以将 .obj
.gltf
和 .usd
等常见的 3D 文件格式拖放到 Reality Converter 应用程序中,Reality Converter 会将这些资源转换成 USDZ(USD 文件的“零压缩” zip 文件),以便进行编辑和自定义。开发者可以使用新纹理自定义材质属性,编辑元数据等来修改生成的文件。借助内置的 IBL 选项,可以在各种照明和环境条件下预览生成的 3D 对象。本 section 将详细说明如何用各种 3D 资源构建和测试你的的 AR 场景,并且与你的艺术家工具流集成。
Reality Converter beta 3 下载链接[1]
Overview
从 DCC 导出什么内容
将导出的内容导入 Reality Converter 并生成 USDZ 文件
使用 Reality Composer 中的资源设置一些复杂的行为创建丰富的体验
在设备上查看新创造的 AR 项目
Artist workflow overview
设计师的整个工作流程就是一条直线:选择的 DCC 到 Reality Converter 然后使用 Reality Composer 处理,最后发送到设备上进行观看或者是分享。
Reality Convert
这个过程是整个流程中重要的一步,可以将 FBX
OBJ
USD
GLTF
这些几何类型的文件以及 PNG
JPEG
格式的图片(纹理类型文件)组合输入到 Reality Convert 中以生成有效的 USDZ
文件(Reality Composer 只能处理 USDZ 文件,苹果已经为开发者提供了必要的工具来生成和检查 USDZ 文件的有效性)。
- 使用 Reality Converter 生成一些内容(以 USD 文件为例)
找到创建的 USD 文件,直接将这个文件拖放到 Reality Converter 中,Converter 会自动加载 USD 文件(如下图所示
你可以在 3D 视图中旋转、平移以及缩放,
在左边的工具栏中会展示当前的模型选项卡(Models 按钮),如果你拖入的 USD 文件很多时,此工具栏中的模型选项卡会越来越满。你可以点击 Frame
来恢复到标准视角。
右边的菜单栏提供了你大部分操作所需要的工具
环境选项卡(Environment)里面包含来预先加载的 IBL 文件:光照环境,可以让你的图像看起来更加自然
可以简单地在它们之间切换找到符合你需求地那些光照效果,在底部还提供了曝光调节工具,你可以做出相应的调整。
材料选项卡(Materials)用来连接所有材料和纹理(图片)
有两个标注的材料,但是只有其中的一个材料被分配给了 DCC,Converter 为你提供了默认材料作为后备素材,如果你下载来什么或者创建了什么但是忘记分配材料,Convert 会利用这些后备材料,并且在你导入内容的时候自动进行分配。你也可以直接拖拽本地的图片来添加:比如基色、法线贴图环境光遮蔽等等。
属性选项卡 (Properties)可以用来添加一些版权信息设置基本单位等等
- 导入其他的资源(以 Maya 内的动画资源作为 FBX 文件导出为例)
Converter 可以同时接受移动动画和蒙板动画,动画是通过直接在几何图形上的关键帧实现的,所以是不需要骨骼绑定的。Reality Converter 不关心你的图片输入,它关心的是材料的名称以及材料是如何进行分配的,所以在 Maya 中添加的图片纹理,只是我们自己在 DCC 中使用而已,这也就是说你不需要在你的视图中创建图片纹理。一切准备就绪后就可以导出成 FBX
格式的文件。这样你就可以在你的电脑中看到一个静态的资源文件,OBJ
是常见的静态资源文件的格式,几乎每个 DCC 都需要导出 OBJ
格式的文件,这些文件往往是由几何图形、材料以及图片纹理组成的。
GLTF
是 Reality Converter 能处理的最后一种几何图形格式的文件,越来越多的 DCC 开始选择其中的一种作为导出选项,KeyShot
就是一款这样的应用。你现在可以通过 GLTF
和 USDZ
轻松将你的数据移动到实时格式。
现在将这些文件导入进 Reality Converter,效果如下
使用 DCC 是一种复杂而且专业的技能组合,如果你不想学 DCC 或者不想创作自己的资源,可以直接直接使用在线的资源。现在一些网站(Sketchfab)甚至都开始提供 USDZ 格式的文件下载,这些文件非常适合在 Reality Converter 中使用。
- 创建一些丰富的体验
将现有的一些材料全都拖入到 Reality Converter 中,我们可以看到的场景如下所示
我们需要是用一个 USDZ 动画,可以在顶部菜单栏中的 Scenes
中选中当前的场景:
现在,我们需要选中一些目标:比如出租车
选中云朵,通过右键 -> 层级选择,我们可以四处移动物体也可以改变物体的大小
更重要的是,我们可以对它们进行行为设置,这样出租车就可以从 A 点移动到 B 点然后消失,并进行无限循环:
我们可以设置运动的距离,展示或者隐藏等属性来达到上述效果。
我们也可以设置一个环绕效果的动画:环绕一个小几何体运行,需要指定一个环绕对象以及一个环绕参考对象,我们设置一辆车绕一个小球状的物体环绕 90 度转弯,并不是一个完整的圆形轨迹,这样就能实现一辆车到了道路尽头转弯的效果。
Reality Composer
我们可以将 Reality Converter 中创建的场景移植到 Reality Composer 中进行实际的效果查看:在 Mac OS 中我们可以点击 “在 iOS 中编辑”,然后吧整个项目投送到我们的 iPad/iOS 设备中,在 iPad/iOS 设备中编辑完后再投送到 Mac OS 中进行查看(将 iPad 上编辑的文件同步到 Mac OS 中)
在 iOS 设备上运行的好处是,我们可以把整个场景投放到我们真实的世界中,进行实时编辑,点击 AR Quick Look,选定要将场景投放的地方,把当前编辑的场景投放出来。假设我们对某一处不满意,只需要暂停下来,然后进行一些修改直到满意为止。
一旦满意后,你可以将它们保存并且导出。
在导出之前,我们再为你的项目添加一个醒目的页面:使用 AR Quick Look 的时候,在同步和锁定平面的时候会有一个加载场景的时间,这时候你回看到内容里的一个场景,我们需要制作一个好看的场景。在 Reality Composer 中,最快的方法是复制所有的内容(删除你不想被别人看到的内容),然后将这个场景导出(File -> Export)的时候选择 Reality File。
总结
可以将
OBJ
GLTF
USD
FBX
格式的图片通过 Reality Converter 整合成USDZ
文件将你在 Reality Converter 上创建的场景投到 Reality Composer 中,在 iOS/iPad 设备上进行查看
Reality Composer 也支持编辑,你可以实时进行修改,然后再同步到 Mac OS 中
使用 AR Quick Look 欣赏你的作品
推荐阅读
关注我们
我们是「老司机技术周报」,每周会发布一份关于 iOS 的周报,也会定期分享一些和 iOS 相关的技术。欢迎关注。
关注有礼,关注【老司机技术周报】,回复「2020」,领取学习大礼包。
支持作者
这篇文章的内容来自于 《WWDC20 内参》。在这里给大家推荐一下这个专栏,专栏目前已经创作了 108 篇文章,只需要 29.9 元。点击【阅读原文】,就可以购买继续阅读 ~
WWDC 内参 系列是由老司机周报、知识小集合以及 SwiftGG 几个技术组织发起的。已经做了几年了,口碑一直不错。 主要是针对每年的 WWDC 的内容,做一次精选,并号召一群一线互联网的 iOS 开发者,结合自己的实际开发经验、苹果文档和视频内容做二次创作。
参考资料
[1]
Reality Converter beta 3 下载链接: https://developer.apple.com/services-account/download?path=/Applications/Reality\_Converter\_beta\_3/Reality\_Converter\_beta\_3.dmg
本文分享自微信公众号 - 老司机技术周报(LSJCoding)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。