版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[15]。JSON(JavaScriptObjectNotation,JS对象简谱)是一种轻量级的数据交换格式,JSON文件为ASCII文本文件采用文本格式来存储和表示数据,简洁和清晰的层次结构使得它具有很好的易读写性和易解析的特点,成为理想的数据交换语言。3.3.5设计方法如下图3户外场景交互体验系统设计流程所示,首先在Unity3D引擎开发平台新建一个工程,导入项目所需的ARCoreSDK等插件包,基于ARCore项目添加两个关键对象ARSession和ARSessionOrigin,他们是构建AR应用的基础的框架,AR的所实现的所有功能都是基于这之上进行展开,如渲染摄像机背景、检测平面和设备位置等进行环境的搭建。然后建立两个空物体,把子空物体放到父空物体下,将叠加的虚拟物体模型放在子物体下,调整模型的Transform,使其在子物体的坐标系的中心处,且下端刚好接触地面(即创建的辅助Panel)进行调整。再利用ARCore技术框架通过C#进行编写脚本实现各功能。最后在Unity3D平台上、天津农学院校园内进行测试调整,完成户外交互体验系统。图3户外场景交互体验系统设计流程图4系统设计要点4.1系统总体架构4.1.1系统层次结构户外交互体验系统主要由数据层、功能层和应用层三个层次结构组成,如下图4系统层次结构图所示。系统在利用配置信息管理模块获取场景、虚拟叠加信息配置、展示模式等数据并保存的基础上,为用户提供信息交互与体验的各项功能。图4系统层次结构图(1)数据层数据层包含场景数据、叠加数据及展示模式数据等。场景数据:包括位置信息,图像信息以及移动设备姿态信息;叠加数据:体验端可虚实融合显示的数据;展示模式数据:虚实融合的显示方式以及人机交互方式。(2)功能层功能层是系统的核心层,具有配置信息管理和叠加信息交互与体验等主要功能。配置信息管理功能模块:该模块功能主要包括获取场景数据、设置展示模式数据以及配置叠加信息数据三个子功能。①叠加信息管理:将配置端设置好的叠加数据参数放入数据资源容器中管理;②叠加信息展示:提供放置固定模式、中心固定热点触发激活模式及相机前热点触发激活模式三种叠加信息展示模式;③节点信息配置:增加、删除、修改及查询节点信息并在节点处进行叠加信息的相关配置。叠加信息交互与体验功能模块:通过数据层将上一功能模块中生成的配置文件解析,进行虚实融合达到用户与叠加信息的交互与体验。①距离提示与图片保存:在体验端显示虚拟叠加信息的距离提示,且可对感兴趣的目标进行拍照保存至手机。②叠加信息显示与交互:是叠加信息交互与体验功能模块的关键,实现增强现实的显示和在界面内点击互动效果。(3)应用层应用层是指实际运用到的场景。户外交互体验系统可被广泛应用于校园可视化游览、主题景区等应用层面。4.1.2系统总体流程户外交互体验系统分为App配置端和体验端两部分,系统先由配置端针对所处场景进行相关配置,再通过配置文件把相关配置数据传送到体验端进行增强现实显示浏览和互动。系统整体流程如下图5系统总体流程图所示。图5系统总体流程图(1)配置端:目的:建立定位信息,叠加信息以及显示方式的关联关系。流程:首先获取移动智能设备中与相关配置有关的场景数据(GPS定位信息、电子罗盘信息等),然后选择要显示在场景里的叠加信息内容并放置在合适的地理位置,再按照选中的展示模式进行配置,最后将以上相关配置数据封装到配置文件中保存。(2)体验端:目的:根据配置端生成的相关配置数据,实现户外虚实融合体验。流程:首先加载配置文件,其次对配置文件进行解析,最后通过定位信息,以指定的叠加和交互形式,形成虚实融合体验。4.2系统主体功能设计4.2.1APP应用程序UI界面设计图标、启动画面设计系统是以APP应用程序为展现的,图标是应用程序的代表,应具有程序系统的识别性和突出性特点,在启动画面也应提示应用程序的内容与类型,如下图6系统图标与启动画面设计。图6系统图标与启动画面设计主界面设计当使用者打开应用可以在主界面上触屏进入配置端、体验端。体验结束后可触碰退出键退出应用。此外,系统服务范围是以天津农学院校园为基础开发的户外交互体验App应用系统,因此在应用程序的主界面设计上应有所体现,如下图7主界面设计所示。图7主界面设计配置端界面设计当用户进入配置端界面可以看到绿色的字体是表示配置信息的参数,橙色的字体表示展示模式的信息参数,如下图8配置端界面设计所示。图8配置端界面设计体验端界面设计当用户在配置好叠加信息后,进入体验端进行游览体验,通过“选择节点”选看想要浏览体验的节点,根据距离提示寻找虚拟叠加信息的位置(节点处的叠加信息展示模式若为固定放置模式,则实时显示距离数;若为热点激活模式,则显示可能出现的地点,需用户自行探索寻找)。还可以通过触碰“保存照片”对喜欢的目标进行拍照,并能双击屏幕隐藏界面从而有更好的浏览效果,如下图9体验端界面设计所示。图9体验端界面设计4.2.2APP应用程序功能设计户外交互体验系统大体分为两部分:配置端和体验端。配置端:是本系统的核心部分,其核心功能模块包括叠加信息管理、叠加信息展示和节点信息配置等功能。体验端:是本系统的主体展示部分,其主要功能重点在于距离提示与图片保存及叠加信息的显示与互动。叠加信息管理为确保新媒体信息的多样性,系统的叠加信息有多种形式内容包括文字、图片、三维虚拟模型及音频等。目的:为了避免每次重复实例化叠加信息的预制体以减少项目的内存使用量。流程:将系统所有类型的叠加信息全部存储在数据资源容器里,当使用某个叠加信息时再进行访问引用,如下图10叠加信息管理流程图所示。图10叠加信息管理流程图把多种类型形式的新媒体信息资源导入Unity3D平台,使用Unity提供的ScriptableObject类通过ScriptableObject对象建立叠加信息的数据资源容器来存储多种类型的重复性叠加信息以避免占用过多的内存资源,在使用时以引用的方式来访问经数据资源容器处理后的叠加信息。叠加信息展示系统提供三种模式进行叠加信息的展示,分别为固定放置模式、相机前热点触发模式及中心固定热点触发模式。目的:实现三种虚拟叠加信息的展示模式。流程:先确定目标坐标再根据不同的展示模式放置并显示叠加信息,三种模式依次如下图11固定放置模式流程图、图12相机前热点触发模式流程图及图13中心固定热点触发模式流程图所示。图11固定放置模式流程图图12相机前热点触发模式流程图图13中心固定热点触发模式流程图固定放置模式流程:先确定目标坐标,再根据目标坐标放置、显示叠加信息。相机前热点触发模式流程:先确定目标坐标,再以其为中心设置触发半径,然后将叠加信息放置在摄相机前的固定位置处,当用户进入触发半径后,可显示叠加信息;当用户离开触发半径后则叠加信息不显示。中心固定热点触发模式流程图:大体同相机前热点触发模式流程,将叠加信息放置在目标坐标即触发中心处固定位置,当用户进入触发半径显示叠加信息,离开则不显示叠加信息。节点信息配置用户在进入配置端后需进行节点信息的相关配置。目的:节点信息的相关配置。流程:确定目标坐标,选择叠加信息与展示模式,最后进行微调,如下图14节点信息配置流程图所示。图14节点信息配置流程图距离提示与图片保存用户在校园内游览时需知道距叠加信息的距离方便浏览增强叠加信息,并可对感兴趣的目标进行图片保存。目的:实现在不同模式下显示不同的距离提示信息和保存图片。流程:判断展示模式,根据不同的模式显示不同的提示信息,如下图15距离提示流程图所示;调用设备摄像头进行拍照后保存在项目文件夹中,如下图16保存图片流程图所示。图15距离提示流程图图16保存图片流程图叠加信息显示与互动目的:实现叠加信息在真实场景中显现、互动效果。流程:首先将获取到的配置端配置文件中相关场景配置数据在系统体验端进行解析加载,再借助ARCore框架使得叠加信息在真实环境中正确显示、自然交互,如下图17叠加信息显示与互动流程图所示。图17叠加信息显示与互动流程图先通过ARCore框架在Unity提供的ARFoundationSDK下的ARSessionState枚举类型判断设备是否支持,若支持则使用ARCameraBackground组件把设备相机拍摄到的真实场景渲染附加为背景,并通过TrackedPoseDriver组件将AR摄像机与设备摄像机进行对齐,确保位置、方向与姿态一致。再由ARPlaneManage组件探测、追踪真实环境中的一个平面,然后将场景配置文件进行解析加载,使AR摄像机与设备摄像机进行ARSessionSpace对齐,让叠加信息能够以正确的视角在真实环境中的地理位置上增强现实渲染显示、虚实结合,最后通过要ARRaycastManager组件射线碰撞检测进行触控事件,使用户在系统界面上实现人机自然互动的效果。4.2.3数据处理设计目的:对系统运行中的所需数据如设备信息、叠加信息及展示模式等相关场景数据进行数据封装与解析。方法:从配置端获取并处理相关场景配置数据,生成Json文件封装保存,再传输到体验端解析,最后将解析的数据交由叠加信息的交互与体验功能模块进行处理,如下图18数据处理流程图所示。图5数据处理流程图将移动智能设备中与场景配置有关的设备数据(GPS定位信息、电子罗盘信息、姿态信息等)、经过在配置端的叠加信息相关配置数据等,封装成Json类型的配置文件进行保存。在体验端中进行Json文件解析传输给叠加信息的交互与体验功能功能模块处理。核心代码如下:publicvoidLoadJson()//文件解析{stringfilePath;//文件路径stringjsonString="";#ifUNITY_ANDROID//Android平台文件路径filePath=Application.persistentDataPath+"/"+"data.json";#endif#ifUNITY_EDITOR//Unity平台文件路径filePath=Application.dataPath+"/StreamingAssets/data.json";#endifif(File.Exists(filePath))//路径存在{jsonString=File.ReadAllText(filePath);//找到当前路径}else//路径不存在{Debug.LogError("当前读取的文件不存在"+filePath);jsonString=JsonFile.text;//得到默认文件File.WriteAllText(filePath,jsonString);//按当前路径写入默认文件}JsonDatadata=JsonMapper.ToObject(jsonString);//Json文件转String类型publicvoidWriteJson()//文件封装{//ToJson接口将数据字典传进去,并自动转换为string类型stringjson=JsonMapper.ToJson(_dictionarys);stringfilePath;//文件路径#ifUNITY_ANDROID//Android平台文件路径filePath=Application.persistentDataPath+"/"+"data.json";#endif#ifUNITY_EDITOR//Unity平台文件路径filePath=Application.dataPath+"/StreamingAssets/data.json";#endifFileInfofile=newFileInfo(filePath);//找到当前路径//判断有没有文件,有则打开文件,没有创建后打开文件StreamWritersw=file.CreateText();sw.WriteLine(json);//将转换好的字符串存进文件sw.Close();//释放资源sw.Dispose();}5讨论5.1设计存在的问题在户外增强现实的研究背景下,以天津农学院为服务范围设计并实现的户外交互体验系统已基本完成,实现最初设计的主体系统功能。用户在校园内通过系统配置端在喜欢的地点配置叠加信息,选择种类及展示模式,并在体验端根据距离提示,对感兴趣的目标进行增强信息浏览、交互,也可以与其拍照等。然而系统还存在一些不足之处。首先系统的界面设计不美观,会直观影响到用户对系统应用的第一印象。其次在功能上也有些缺失,没有地图导航功能,若用户是新生、学生家长或是参观者,在对学校不太熟悉的情况下在使用系统时,可能会带来一些不友好的体验感。还有在叠加信息方面,资源种类繁杂没有进行主题分类规范化,不能给用户较完整的观感。最后叠加信息资源未存储结构化,系统的数据存储方面不能提供很好的服务。综上所述,在后期维护和升级系统的过程中,会针对以上系统还存在一些不足的地方不断改良。5.2进一步改进设想系统在后期的升级过程中可从路线导航、叠加信息、数据处理等方面进一步改良,如下所示:路线导航:先预设几条游览校园路线供用户选择,便于对不熟悉校园的用户在学校里有更好的游览体验。叠加信息:叠加信息资源将按不同的户外主题,进行资源分类规范化,如系统试验点为天津农学院,则应使用相应学校类型的信息资源,进行场景配置、显示与互动。数据处理:叠加信息资源存储上要使用数据库,进行存储结构化,且将从信息资源都存储在移动设备的本地化储存过渡为网络化储存。5.3经验与体会增强现实是当下的热点研究方向,以虚实融合的特殊方式带来独特的感官体验。通过对户外增强现实系统的设计与实现,我对增强现实技术有了更深的理解,一个AR应用程序系统是如何将虚拟物体与真实场景融合,如何将虚拟物体在真实环境显示,如何与虚拟物体进行人机交互等。同时也明白系统软件开发的具体流程,从一开始查阅相关技术资料到设计并实现系统应用再到实地测试并调试系统。经由此次系统的开发,我不仅有了增强现实应用的相关开发经验也学习到大学期间触碰不到的领域知识,但我最大的收获是解决问题的思想,要把复杂的问题简单化、可控化。例如实际开发过程中遇到数据封装的问题,要把他分解成获取信息数据、将数据放入字典、转成文本格式、借助Json插件生成Json文件等自己能够操作的小问题,复杂的数据封装问题就迎刃而解了。我相信在系统开发时所得到宝贵的经验与知识,会很好地运用在以后的项目工作中。【参考文献】崔梦成,胡静,李曼曼,张贝贝,王梦杰.AR增强现实技术在旅游业中的应用[J].戏剧之家,2019(28):194-195+198.王强.基于Android的增强现实导览系统[D].南京信息工程大学,2017.蒂姆·布拉德肖,葛玉芳,文军.虚拟现实还是增强现实?看这里[J].英语世界,2019,38(02):4-7.李轩.基于Android的增强现实博物馆导览系统的设计与实现[D].华中科技大学,2019.曲毅,李爱光,徐旺,汪鹏,侯晓宁.基于位姿传感器的户外ARGIS注册技术[J].测绘科学技术学报,2017,34(01):106-110.黄碧辉,吴勇,郑森源,林月煌.一种改进的户外移动增强现实三维注册方法[J].武汉大学学报(信息科学版),2019,44(12):1865-1873.AsifA.Laghari,AwaisK.Jumani,KamleshKumar,M.AmeenChhajro.SystematicAnalysisofVirtualReality&AugmentedRealit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省青岛市南区重点名校2026届高中毕业班第二次中考模拟考试数学试题含解析
- 长春市绿园区2026年初三5月阶段检测试题语文试题试卷含解析
- 江苏扬州市仪征市市级名校2026年初三5月联考语文试题测试试题含解析
- 江苏省宜兴市丁蜀区重点名校2026年初三下学期七校模拟质量检测试题英语试题含解析
- 山西省大同市灵丘四中学2025-2026学年初三第四次模拟英语试题含解析
- 黑龙江省哈尔滨市第十七中学2026届初三第二学期3月中考诊断性测试英语试题含解析
- 重庆市涪陵区名校2026年初三第三次(4月)考试语文试题含解析
- (正式版)DB37∕T 3122-2018 《槐花多糖提取工艺及其生物活性评价技术规程》
- 投资项目合同书
- 2026年屋顶补漏合同(1篇)
- 2025年英才计划物理学科题库及答案
- 罐车租赁合同模版全文版2025年
- 低频电疗法授课
- 市场营销方面的毕业论文5000字
- 股权架构搭建合同范本
- 供应链风险管理检查清单
- 《轻钢龙骨石膏复合墙技术标准》
- 实施指南(2025)《DL-T 846.10-2016高电压测试设备通 用技术条件 第10部分:暂态地电压局部放电检测仪》
- GB/T 30117.6-2025灯和灯系统的光生物安全第6部分:紫外线灯产品
- 社科联课题申报书范文
- 2025咨询《工程项目组织与管理》冲关宝典
评论
0/150
提交评论