Reality Composer Pro 使用示例

创建项目

首先,设置我们的项目。有两种设置项目的方式。一种方式是转到Xcode > Open Developer Tool > 打开Reality Composer Pro。如果你想创建一个独立的Reality Composer Pro项目,推荐这种方式。

另一种方式是使用visionOS应用模板创建一个新的Xcode项目。该模板会自动生成并链接一个Reality Composer Pro项目到Xcode项目中。如果你想在Xcode应用程序中使用Reality Composer Pro项目,推荐这种方式。

Reality Composer Pro项目是一个Swift包。Swift包不仅使与Reality Composer Pro的工作变得容易,而且在构建过程中,它会将内容打包成一个框架,供我们的Xcode应用程序使用。如果我们想要查看或编辑场景,只需如上图所示,点击"Open in Reality Composer Pro"即可。

UI navigation

现在让我们看看如何在Reality Composer Pro中导航并了解用户界面。

窗口中间,是viewport视图。 这是一个编辑场景的主要视图。允许我们可视化、导航和预览场景中的3D对象。支持使用W、A、S、D键以及箭头键在视口中移动,和游戏控制一样。

窗口左边,是Hierarchy面板。 这是一个层次结构面板。层次结构面板提供了一个方便的方式来搜索、选择和组织场景中的3D对象。

窗口右边,是Inspector面板。 Inspector检查器面板提供了一个方便的方式来编辑所选对象的属性,如位置、旋转和缩放。该面板底部的"Add Component"按钮还允许我们查看内置的RealityKit组件,我们可以在对象上进行配置。

窗口底部,是Editor面板。 Editor编辑器面板有四个Tab,分别是:Project Browser、Shader Graph、Audio Mixer和Statistics。

开始制作一个场景

有三种方法可以将资产添加到Reality Composer Pro项目中。

第一种是将已经存在于计算机上的资源导入到项目浏览器中。

第二种是内容库,这是由Reality Composer Pro提供的资源的精选库。

第三种是Object Capture,它可以将现实世界物体的照片转换成3D模型。

要了解更多信息,请查看Meet Object Capture for iOS

将资源导入到项目中后,开始构建场景。 首先,让删除模板创建的球体,方法是选择窗口中的对象,然后按删除键。

接着,在Project Browser的资源中,将Diorama_Base.usdz和Yosemite.usdz这两个资源拖动到窗口左边的层次结构面板。

可以看出来,Diorama_Base没有材质。所以我们需要导入材质。点击工具栏上的加号按钮,打开内容库,然后查找可能要使用的材质。选择并下载一个混凝土材质,将它拖到我们的场景中。

点击层次结构面板Diorama_Base,更新使用刚下载好的混凝土材质。

接下来,将一个位置标记(Location_Pin.usdz)拖放到窗口视图中,复制两次,分别命名为Captian、Rocks、River。并分别移动坐标位置到不同位置。将三个位置标记放到Group里,并将该Group重命名为"Yosemite_Location_Pins"

粒子发射器

粒子发射器允许我们在场景中创建效果,例如这个火焰。粒子发射器由两部分组成:粒子和发射器。粒子和发射器都有多个可调整和修改的变量部分。在粒子上,有颜色、属性、力场和渲染等部分。在发射器上,有时间、形状和生成等部分。

Reality Composer Pro项目可以包含任意数量的场景。场景可以代表一个准备在我们的Xcode应用程序中使用的完成作品,或者代表可重用的内容。在这种情况下,云是由更小的云块构成的。我们首先构建一个可重用的云块场景。然后,我们将创建一个完整的云场景,其中包含在3D空间中不同位置放置的多个云块。我们将创建三种不同版本的完整云,最后将这三个云添加到我们的主要场景中。

回到Reality Composer Pro,打开File > New > Scene来创建一个新场景,将场景命名为"Cloud_Chunk"。

创建新场景后,它会出现在窗口的一个新选项卡中。有两种方法可以将粒子发射器添加到场景中。第一种是通过层次结构Hierarchy面板底部的加号按钮。第二种是通过单击检查器Inspector面板底部的"添加组件"按钮,然后在菜单中选择粒子发射器组件,将粒子发射器添加到场景中的任何对象中。我们可以使用检查器面板顶部的播放控件来预览粒子发射器。

添加粒子发射器组件

可以使用检查器面板顶部的播放控件来预览粒子发射器

如果觉得粒子难以看清,可以转到setting,并更改viewport背景,使粒子发射器更容易看到。

制作粒子发射器没有固定的方法,只要你能将它们调整到你满意的状态即可。但要考虑的一件事是,场景中粒子的数量较多可能会对性能产生影响,因此建议密切关注使用的粒子数量。

粒子发射器组件有两个部分:粒子(Particles)和发射器(Emitter)。在粒子部分,我们控制单个粒子的外观。在发射器部分,我们控制粒子从原点发出的方式。

检查器面板中,粒子发射器组件提供了预置的粒子发射器。云最接近预置的Impact,所以让我们选择Impact开始。

选择Impact后,首先关注发射器选项卡(Emitter)

时间Timing是第一部分。在每次发射粒子之间会有短暂的暂停。这是由空闲持续时间(Idle duration)变量引起的。将其设置为零应该会导致粒子持续不断地发射。

在形状部分,云更像是一个球形而不是一个圆柱形,所以点击Emitter Shape将发射器形状更改为球形。

接下来,云应该在其体积内具有粒子,所以点击Birth Location将生成位置从表面更改为体积。云也倾向于更平坦而不是更高,所以让我们调整x和z轴比y轴比例大。

最后,我们应该勾选isLocalSpace,以便将来在粒子发射器的父对象上进行的平移、旋转和缩放也将应用到粒子发射器本身。

转到粒子选项卡(Particles)后,我们将调整单个粒子的外观

出生率定义了同时存在的粒子数量。出于性能方面的考虑,点击Birth Rate将其从2000降低到500。外观上有些微妙的变化。

由于使用了预置的Impact,粒子的颜色和纹理已经符合要求,所以可以跳过修改这些部分中的变量,继续到属性部分。

粒子似乎存在的时间太短了。点击Properties>Life Span将寿命从2秒增加到5秒。在运动、力场和渲染等部分还有更多的变量可供调整,但目前的效果已经接近想要的效果,所以暂时不要修改这些部分。可以使用快捷键Command-S保存场景,然后继续下一步。基本制作了一个可重用的云块。

将多个云块组合到一起,制作一个完整的云

通过将Cloud_Chunk资源从项目浏览器拖放到层次结构面板中,重复三次,并分别修改位置。分别命名为Cloud_A、Cloud_B和Cloud_C,导入到组Clouds里面。我们可以选择这三个云块的父对象Clouds,并在检查器面板顶部的播放控件按下播放按钮,以预览云块。

回到main Scene,拖动Cloud_A.usda到层级面板,复制到三个,分别重命名为Cloud_A、Cloud_B和Cloud_C,导入到组Clouds里面,分别修改坐标位置。

如何将音频纳入场景中

可以使用音频文件、音频文件组和音频源添加音频。从项目浏览器导入场景的音频文件可以以各种方式进行配置,例如是否应该循环播放。一个音频文件可以在一个或多个对象上播放,一个对象可以播放一个或多个音频文件。音频文件组可以由场景中的音频文件构建。每次对象播放音频文件组时,会随机选择组中的一个音频文件进行播放。音频源定义了音频文件和音频文件组在场景中的发射方式。

有三种类型的音频源:空间音频(Spatial Audio)、环境音频(Ambient Audio)和通道音频(Channel)。

  • 空间音频源为音频播放提供了3D空间中的位置和方向。想象一下,如果我们在桌子上放了一个收音机资产,可以使用空间音频。

  • 环境音频源没有位置,但提供了3D空间中的方向,用于播放音频。想象一下,如果风声从东方传来,无论我们朝东走多远,风声始终来自那个方向。

  • 通道音频源既没有位置也没有3D空间中的方向,用于在环境中播放背景音乐。

接下来添加一些鸟叫声到场景中,以增添更多的现实感。

首先,导入一些鸟叫声音频文件Bird、Bird_Call_1_wav、Bird_Call_2_wav。这些文件将作为场景中的环境音频。接下来,创建一个新的音频源来播放这些鸟叫声。在层级面板底部,点击"+"按钮,然后选择"Audio > Spatial Audio"。或者在检查器面板底部,点击"Add Component"按钮,然后选择"Spatial Audio"组件。

在层级面板上点击"SpatialAudio"。为了让鸟叫声在整个场景中都可以听到,不需要设置空间音频源的位置。不过,可以选择一个3D方向,以便确定声音的传播方向。在Inspector面板,Spatial Audio > Focus设置成0.5,Preview > Resource 选择Bird_Call2_wav,现在只需点击播放按钮,就可以在场景中听到鸟叫声了。这样已经成功地将音频纳入了场景中。

回到main Scene,拖动Bird_with_Audio.usda到层级面板,并复制到五个。分别命名,且导入到组Birds。分别修改坐标位置,以及选择音频源SpatialAudio > Preview > Resource。点击Birds的播放按钮可进行播放,就可以在场景中听到鸟叫声了。

性能统计数据。

性能统计数据是一个强大的工具,可以帮助我们了解场景的性能并进行优化。要查看性能统计数据,只需在Reality Composer Pro的项目浏览器中选择一个场景,然后在检查器面板的底部选择"Statistics"。

点击几何(Geometry)模块右上角可以打开详情页面。查看三角形、顶点、网格等数据。

性能统计数据提供了有关场景性能的重要信息,包括每个场景的帧速率、GPU使用率、CPU使用率等。性能统计数据可以帮助我们确定场景是否需要进一步优化,以确保在目标设备上获得平滑的运行体验。如果性能统计数据显示帧速率低于目标值,我们可以采取一些措施来提高性能,例如减少粒子数量、降低纹理分辨率或使用更简单的3D模型。

总之,性能统计数据是一个非常有用的工具,可以帮助我们优化我们的场景以获得最佳的增强现实体验。

在设备上预览应用程序。

首先,确保你的设备上安装了Reality Composer,并且已经连接到Xcode。在Xcode中,选择你的目标设备,然后点击"运行"按钮。在设备上,打开Reality Composer应用程序,然后点击你的应用程序以开始预览。这样应用程序在设备上以增强现实的方式展现出来。

以上内容简单介绍了如何使用Reality Composer Pro创建、编辑和预览3D内容,包括添加位置标记、粒子发射器和音频。学习了如何使用性能统计数据来优化场景以获得最佳性能。希望这个示例有助于你开始构建令人惊叹的增强现实体验。

相关推荐
weixin_437497775 小时前
读书笔记:Context Engineering 2.0 (上)
人工智能·nlp
喝拿铁写前端5 小时前
前端开发者使用 AI 的能力层级——从表面使用到工程化能力的真正分水岭
前端·人工智能·程序员
goodfat5 小时前
Win11如何关闭自动更新 Win11暂停系统更新的设置方法【教程】
人工智能·禁止windows更新·win11优化工具
北京领雁科技6 小时前
领雁科技反洗钱案例白皮书暨人工智能在反洗钱系统中的深度应用
人工智能·科技·安全
落叶,听雪6 小时前
河南建站系统哪个好
大数据·人工智能·python
清月电子6 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网
Dev7z6 小时前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
七月shi人6 小时前
AI浪潮下,前端路在何方
前端·人工智能·ai编程
橙汁味的风7 小时前
1隐马尔科夫模型HMM与条件随机场CRF
人工智能·深度学习·机器学习
itwangyang5207 小时前
AIDD-人工智能药物设计-AI 制药编码之战:预测癌症反应,选对方法是关键
人工智能