2cc2013222417ca535caf1015a030446
40-《ARKit by Tutorials》读书笔记8: RealityKit & Reality Composer

ARKit文章目录

本文是Ray Wenderlich上《ARKit by Tutorials》3.0 版新增章节的读书笔记,主要讲内容概要和读后感  

本章节介绍了 RealityKit & Reality Composer 简单应用。

RealityKit

RealityKit 是苹果在 WWDC 2019 上宣布的纯 Swift 框架。主要作用是帮助我们更方便地创建 AR 应用。它充分利用了 Swift 的高性能,同时简单的 API。

RealityKit 的目标是创建出超高真实感的,基于物理的图形,同时还有精确的物理模拟和碰撞。它有很多惊人的特性:骨骼动画,真实感阴影,光照,反射和后置效果。

  • Rendering :RealityKit 在 Metal 的基础上,提供了新的基于物理的渲染,并为所有的苹果设备做了优化。
  • Animation:内置对骨骼动画和变换动画(Transform-based animation)的支持。比如一个僵尸动画(骨骼动画),或者平移,缩放和旋转(变换动画)任意物体。
  • Physics:内置强大的物理引擎,可模拟真实世界的质量,阻力和碰撞等。
  • Audio:带有空间音频理解和自动的收听者配置,你可以给 3D 物体添加音频效果。这声音会根据在真实世界位置的不同而不同。
  • ECS:RealityKit 强制使用 Entity Component Design Pattern 来构建真实世界中的物体。
  • Synchronization:内置的网络框架,用于多人共享体验。它甚至能够在不同的多个用户之间,自动同步实体。

RealityKit API components

项目的创建与以前区别不大,只是注意选择语言为 Swift,内容技术为 RealityKit 就行了。

惟一不同的是,多了个Experience.rcproject文件,它其实是用Reallity Composer创建的工程。

对于 RealityKit 的 API 结构,我们有必要说明一下:

  • ARView:ARView 在 RealityKit 中处于核心位置,它负责干所有的脏活累活。它支持全部手势,允许你将手势添加到 entity 上。它还负责后置处理的相机效果,类似于 AR Quick Look 中看到的那样。
  • Scene:可以看做是所有 entity 的容器。
  • Anchor:RealityKit 中将所有可用的 ARKit 锚点(Plane,Face,Body,Image 和 Object)作为第一等公民。Anchor 构成了 entity 结构的根结点。注意:附加到 Anchor 上的物体一开始是隐藏的,直到 anchor 被成功识别并连接到真实世界,才会显示出来。
  • Entity:所有场景中的虚拟内容都可以被看做是Entity。entity 可以组成树状的层级结构。
  • Component:Entity 中包含了不同类型的Component,可以赋予 entity 特有的特性和功能,比如模型,碰撞和物理效果。

Reality Composer

Reality Composer 是苹果推出的所见即所得的创作工具,支持 iOS 和 macOS。iPad版界面如下:

top Created with Sketch.