Unity AR-VR虚拟现实开发基础(第2版)课件 11-5 AR家居设计项目_第1页
Unity AR-VR虚拟现实开发基础(第2版)课件 11-5 AR家居设计项目_第2页
Unity AR-VR虚拟现实开发基础(第2版)课件 11-5 AR家居设计项目_第3页
Unity AR-VR虚拟现实开发基础(第2版)课件 11-5 AR家居设计项目_第4页
Unity AR-VR虚拟现实开发基础(第2版)课件 11-5 AR家居设计项目_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

AR家居设计项目王寒目录案例描述案例实施案例描述案例描述这个实战项目中,我们将使用ARFoundation创建一个跨平台的AR室内装饰应用。该应用在Unity3D中开发完成后可以同时部署到iOS设备和Android设备中。不过需要注意的是,iOS设备必须支持ARKit,而安卓设备则需要支持ARCore。案例描述案例描述用户可以触碰界面上的按钮选择家具,然后在系统检测到的平面上放置家具。触碰不同按钮,可以选择其它家具,然后接着在平面上放置家具。如果觉得效果不够理想,还可以触碰“重置”按钮。案例实施开始前的准备1.下载并打开官方示例项目首先在浏览器中打开页面,/Unity-Technologies/arfoundation-samples点击Cloneordownload按钮,选择DownloadZIP,从而下载官方提供的ARFoundation示例项目。下载完成后将其解压缩到文件夹中,打开UnityHub,点击右上角的ADD按钮,选择我们下载的arfoundation-samples-master目录,从而将该项目添加到UnityHub中。注意,如果TargetPlatform中没有指定平台,我们需要手动设置一个Unity3D版本。设置完成后,双击项目名称可以在Unity3D中将其打开。2.下载并导入所需的资源包在编辑器中点击主菜单上的Window-PackageManager,然后在Allpackages中检查ARFoundation,ARSubsystems,ARCoreXRPlugin和ARKitXRPlugin等四个插件是否已安装且升级到了最新的版本。此外还需要将本章资源包中的其它资源添加到场景中。创建项目的主场景为了简单起见和避免出现设置错误,这里我们选择对之前的SimpleAR场景进行复制和修改。在Project视图中找到Assets-Scenes-SimpleAR目录下的SimpleAR场景,右键单击,选择Duplicate,从而复制出一个场景,将复制出的场景更名为ARHouseDesign。更改UI界面在默认的SimpleAR场景中,有四个按钮,分别用于重置,重新加载、暂停和继续AR场景。我们可以选择保留这些功能按钮,也可以将其删除或隐藏。这里我们选择隐藏这些场景,仅保留一个ReloadButton。除此之外,我们还需要添加三个按钮,分别用于显示不同的家具类型。在Hierarchy视图中点开Canvas的下三角,选中ResetButton,PauseButton和ResumeButton,然后取消勾选Inspector视图左上角的勾选框,从而让三个按钮在场景中隐藏。选中ReloadButton,使用工具栏上的移动工具将其移动到常见的右上角,并设置锚点为topright更改UI界面接着要在Inspector视图中的OnClick()事件响应部分点击右下角的减号,从而删除当前的响应事件。在Hierarchy视图中右键单击ReloadButton,选择Duplicate三次,从而复制出三个新的按钮,使用移动工具将三个按钮移动到合适的位置。更改每个按钮的文本,分别是VASE,SOFA和TORCHERE,代表花瓶,沙发和地板灯。更改每个按钮的SourceImage,分别对应花瓶、沙发和地板灯的图形。更改UI界面添加处理AR的脚本在Hierarchy视图中选中ARSessionOrigin,可以看到在Inspector视图中关联着多个脚本。添加处理AR的脚本其中ARPlaneManager和ARPointCloudManager分别用于检测平面和管理点云,而ARRaycastManager脚本用于射线检测。最后的PlaceOnPlane用于检测用户的触摸事件,并在检测的平面上根据用户的触摸点放置物体。在PlaceOnPlane脚本组件上当前只有一个参数,也就是PlacedPrefab,我们可以在这里手动更改要放置的3D对象。但是如果想要在程序中动态进行更改,就必须借助脚本的力量了。取消对PlaceOnPlane脚本组建的勾选,因为接下来我们将使用自己创建的脚本来替代该脚本的作用。添加处理AR的脚本在Inspector视图中点击AddComponent,创建一个新的脚本,将其命名为PlaceControllerWithUISelection,双击在VisualStudio中将其打开,更改其中的代码参考PlaceControllerWithUISelection.cs注意事项需要注意的是,因为预设体文件是通过代码自动加载到场景中的,所以几个预设体文件一定要存放在特定的文件目录下。如果这几个预设体没有放置在指定路径下,系统将无法正常加载,也无法将3D物体添加到场景中。设置按钮响应事件在Hierarchy视图中选择Canvas对象的子对象ReloadButton,然后在Inspector视图的OnClick()部分点击加号,设置响应的对象为ARSessionOrigin,设置响应的事件为PlaceControllerWithUISelection.reloadScene接着在Hierarchy视图中选择ARVaseButton对象,在Inspector视图的OnClick()部分,点击加号,设置响应的对象为ARSessionOrigin,设置响应的事件为PlaceControllerWithUISelection.ChangePrefabTo,设置响应参数为vase使用类似的方式为ARTouchereButton和ARSofaButton分别设置响应事件,并设置不同的参数。在iOS设备上进行测试在Unity3D编辑器中点击主菜单上的File-BuildSettings,在Platform中选择iOS,然后点击右下角的SwitchPlatform,切换到iOS设备的调试设置。切换完成后记得在BuildSettings界面上部的ScenesInBuild中勾选Scenes/ARHouseDesign完成后点击右下角的BuildAndRun按钮,在弹出的对话框中输入ARHouseDesign作为项目名称,并选择项目的存放地点。此时Unity3D会将当前项目保存为一个iOS项目,并自动在Xcode中将其打开。在iOS设备上测试接着要配置测试用的证书。点击TARGETS下的Unity-iPhone,切换到Signing&Capabilities面板,然后在Signing下面勾选Automaticallymanagesigning。此时会出现一个弹出对话框,选择EnableAutomatic即可。完成后还需要在Team处选择自己的开发者账户在iOS设备上测试全部设置完成后,点击工具栏顶部的右三角符号即可在设备上进行测试。注意在执行这一步操作前一定要将iPhone或者iPad连接到自己的Mac电脑上。手机上启动应用后首先会请求对相机的使用权限,一定要选择确认,否则AR应用就完全没有作用了。进入应用后,将手机后置摄像头对准桌面或地面等平面,然后点击检测到的平面,默认会添加花瓶。触碰菜单上的其它按钮,可以在场景中添加其它物体。最后,如果觉得对效果不满意,触碰重置按钮就可以重新开始了。在Android设备中进行测试接下来我们将在Android设备中进行测试。在Unity3D编辑器中点击主菜单上的File-BuildSettings,在Platform中选择Android,然后点击右下角的SwitchPlatform,切换到Android设备的调试设置。点击PlayerSettings,更改PackageName和MinimumAPILevel7。设置完成后在BuildSettings中点击Buil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论