一种基于unity3D的全景漫游场景编辑方法技术

技术编号:17542516 阅读:294 留言:0更新日期:2018-03-24 20:35
本发明专利技术公开了一种基于unity3D的全景漫游场景编辑方法,该方法提供自定义场景、场景切换、自定义场景路线、场景打点、自定义俯瞰图等功能,并对这些功能做了充分的封装,对外提供相应的接口,使得开发人员能够基于这些接口快速开发出基于unity3D场景漫游程序,并根据开发需求选择发布于各大应用平台上。该方法所提供的接口方便开发人员调用以及二次开发,提供了开发场景漫游程序的新思路,并且有效地提高了开发效率。

A method of panoramic roaming scene editing based on unity3D

The invention discloses a method to edit the panorama scene based on unity3D, this method provides custom scene switching, custom scene route, scene management, custom overlooking the map and other functions, and these functions to do a full package, to provide the corresponding interface, enables developers to quickly develop roaming based on these interfaces the program unity3D scene based on, and choose to release the application platform according to the development demand. The interface provided by this method is convenient for developers to invocation and two development, providing new ideas for developing scenario roaming program, and effectively improving the development efficiency.

【技术实现步骤摘要】
一种基于unity3D的全景漫游场景编辑方法
本专利技术属于虚拟漫游
,特别涉及一种基于unity3D的全景漫游场景编辑方法,提供给开发人员一种快速开发全景场景漫游程序的方法。
技术介绍
随着计算机软硬件的快速进步和虚拟现实技术(virtualreality,简称VR)的蓬勃发展,复杂场景的虚拟漫游炙手可热,在各行各业,尤其是建筑、旅游、医药、航空航天、游戏等具有广阔的应用前景。利用这一技术,人们可以足不出户地观赏博物馆中的文物,观看美丽的风景名胜,甚至在线体验利用这一技术展示的新楼盘广告等,方便快捷、全面直观。虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。它是仿真技术的一个重要方向,是仿真技术与计算机图形学人机接口技术多媒体技术传感技术网络技术等多种技术的集合,是一门富有挑战性的交叉技术前沿学科和研究领域。虚拟漫游,是虚拟现实技术的重要分支,在建筑、旅游、游戏、航空航天、医学等多种行业迅速地发展以及应用。由于其具有沉浸感、交互性和构想性,使得沿用固定漫游路径等手段的其他漫游技术和系统无法与之相比。unity3D是由UnityTechnologies公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。unity类似于Director,Blendergameengine,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windowsphone8和Android平台。也可以利用Unitywebplayer插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac所支持。在unity3D中可以使用JavaScript、C#和Boo来编写脚本。C#完整地支持面向对象,在C#中,万物皆类,不允许有任何一个独立于类的函数或变量。在unity中,所有的行为脚本都必须直接地或间接地继承至MonoBehaviour类。在使用JavaScript时,这种继承关系将自动生成,但在使用C#编写脚本时,必须显式地进行定义。unity内的C#运行于Mono虚拟机,它是一个开源软件平台,以微软的.NET开发框架为基础,能够实现跨平台开发,因此unity内使用C#不但能调用unity引擎本身的功能,还能调用.NET平台提供的大部分功能。unity3D以其强大的跨平台特性,交互式图形化开发环境以及全面齐全的功能吸引了众多的开发者。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种基于unity3D的全景漫游场景编辑方法,利用该方法开发人员能够快速开发出基于unity3D的全景场景漫游程序,并将它发布或者嵌入到各种平台。本专利技术的目的通过以下的技术方案实现:一种基于unity3D的全景漫游场景编辑方法,基于封装的功能接口包括:(1)自定义场景;(2)场景切换(即漫游);(3)自定义场景漫游路线;(4)自定义场景总俯瞰图;(5)场景打点;使用本方法开发全景场景漫游程序时,只需一一调用接口,依照接口指示放入相应的文件,设置所需的交互的点,便可自动生成具有交互热点的全景场景漫游程序。优选的,所提供的功能接口基于4个部分的unity模型:(1)一个三维的Cube物体,作为承载全景图片的容器;(2)一个三维Plane物体,作为承载全局图片,即鸟瞰图的容器;(3)一个UI的Canvas,用于放置各种UI控件;(4)Camera,模拟人眼所看到的视野。这4部分相互配合,实现多个功能;同时本方法的所有源码以及接口,均是基于这四部分编写的。优选的,所提供的功能接口基于以下自定义的数据结构:整体视为一个Map,称为WalkMap;其中的每一个具体的场景视为一个Node,称为MapNode;MapNode中包括自己的序号Index和自己的“邻居”,即与之相邻的场景(MapNode)的Index;“邻居”之间可以互通漫游。优选的,接口(1)自定义场景包含以下过程:根据前面所述的unity模型,规定Cube的6个面分别为“前后左右上下”;将一张全景图切割成6张立方体片图,分别对应Cube的6个面;在源码Walker\Assets\Resources\Image文件夹中放入每个Node的一套图,按照命名顺序存放每张图片;同一套的6张图之间顺序必须为back-bottom-front-left-right-top,由此实现了定义一个场景。优选的,接口(2)场景漫游包含以下过程:根据前面所述的unity模型,将Camera置于Cube的内部中心点,实现观看当前全景,即当前处于某一个具体的MapNode中;漫游,即是Cube中切换全景图片;点击Cube的“前后左右”四个面时,就会检测该MapNode的邻接信息,判断在这个方向上是否有“邻居”;如果有,则切换全景图片;否则,原地不动;实现漫游时的过渡效果,仅仅需要缩短Camera的视野,造成“向前走”的视觉效果;达到一定程度后,瞬间切换成新的全景图;在整个漫游过程中,Camera始终处于Cube的中心;Cube和Camera并没有发生位置的移动。优选的,接口(3)自定义场景漫游路线包含以下过程:根据前面所述的数据结构,通过创建MapNode并且指定该MapNode的邻居,使MapNode相互关联,形成一个整体;定义MapNode之间的邻接信息,也就定义了整体路线,使各场景能够按照该路线切换。优选的,接口(4)自定义场景俯瞰图包含以下过程:根据前面所述的unity模型,在Plane模型上贴上全局俯瞰图,俯瞰图应命名为AirMapImage,放入文件夹Walker\Assets\Resources\AirMapImage中。优选的,接口(5)场景打点包含以下过程:根据前面所述的创建MapNode时,可在某一面的图片上指定一个点,同时定义点击该点后的响应事件(跳转第三方链接或者播放视频);当场景漫游到该场景时,所打的点会以一定的形式显示,提示用户可点击。本专利技术与现有技术相比,具有如下优点和有益效果:1、直接提供封装良好、种类齐全的功能接口,方便开发人员直接调用以及进行二次开发。2、提供了开发场景漫游程序的新思路,有效地提高了开发效率。3、提供快速开发具有交互热点的全景场景漫游程序的方法。附图说明图1是使用实施例方法提供的接口开发全景场景漫游程序的流程示意图。图2是实施例方法使用的unity基本模型图。图3是cube模型表面抽象示意图。图4是plane模型表面抽象示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例1本专利技术方法提供的接口乃至于所有的源码都是使用C#编写的。一种基于unity3D的全景漫游场景编辑方法,基于自定义场景、场景切换、自定义场景路线、场景打点、自定义俯瞰图等功能接口,这些功能接口做了良好的封装。本实施例涉及的所有本文档来自技高网
...
一种基于unity3D的全景漫游场景编辑方法

【技术保护点】
一种基于unity3D的全景漫游场景编辑方法,其特征在于,包括以下功能接口:(1)自定义场景;(2)场景漫游;(3)自定义场景漫游路线;(4)自定义场景总俯瞰图;(5)场景打点;使用本方法开发全景场景漫游程序时,只需一一调用接口,依照接口指示放入相应的文件,设置所需的交互的点,便可自动生成具有交互热点的全景场景漫游程序。

【技术特征摘要】
1.一种基于unity3D的全景漫游场景编辑方法,其特征在于,包括以下功能接口:(1)自定义场景;(2)场景漫游;(3)自定义场景漫游路线;(4)自定义场景总俯瞰图;(5)场景打点;使用本方法开发全景场景漫游程序时,只需一一调用接口,依照接口指示放入相应的文件,设置所需的交互的点,便可自动生成具有交互热点的全景场景漫游程序。2.根据权利要求1所述的基于unity3D的全景漫游场景编辑方法,其特征在于,所提供的功能接口基于4个部分的unity模型:(1)一个三维的Cube物体,作为承载全景图片的容器;(2)一个三维Plane物体,作为承载全局图片,即鸟瞰图的容器;(3)一个UI的Canvas,用于放置各种UI控件;(4)Camera,模拟人眼所看到的视野;这4部分相互配合,实现多个功能;同时本方法的所有源码以及接口,均是基于这四部分编写的。3.根据权利要求1所述的基于unity3D的全景漫游场景编辑方法,其特征在于,所提供的功能接口基于以下自定义的数据结构:整体视为一个Map,称为WalkMap;其中的每一个具体的场景视为一个Node,称为MapNode;MapNode中包括自己的序号Index和自己的邻居,即与之相邻的场景MapNode的Index;邻居之间可以互通漫游。4.根据权利要求2所述的基于unity3D的全景漫游场景编辑方法,其特征在于,接口(1)自定义场景包含以下过程:根据unity模型,规定Cube的6个面分别为前后左右上下;将一张全景图切割成6张立方体片图,分别对应Cube的6个面;在源码Walker\Assets\Resources\Image文件夹中放入每个Node的一套图共6张,按照命名顺序存放每张图片;同一套的6张图之间顺序必须为back-bottom-front-left-right-top;由此实现了定义一个场景。5.根据权利要求2所述的基于unity3D的全景漫游场景编辑方法,其特征在于,接口(2)场景漫游包含以下过程:根据unity模型,将Camera置于Cube的内部中心点,实现观看当前全景,即当前处于某一个具体的MapNode中;漫游,即是Cube中切换全景图片;点击Cube的前后左右四个面时,就会检测该MapNode的邻接信息,判断在这个方向上是否有邻居;如果有,则切换全景图片;否则,原地不动;实现漫游时的过渡效果,仅仅需要缩短Camera的视野,造成向前走的视觉效果;达到一定程度后,瞬间切换成新的全景图;在整个漫游过程中,Camera始终处于Cube的中心;Cube和Camera并没有发生位置的移动。6.根据权利要求3所述的基于unity3D的全景漫游场景编辑方法,其特征在于,接口(3)自定义场景漫游路线包含以下过程:根据所述的数据结构,通过创建MapNode并且指定该MapNode的邻居,使MapNode相互关联,形成一个整体;定义MapNode之间的邻接信息,也就定义了整体路线,使各场景能够按照该路线切换。7.根据权利要求书2所述的基于unity3D的全景漫游场景编辑方法,其特征在于,接口(4)自定义场景俯瞰图包含以下过程:根据unity模型,在Plane模型上贴上全局俯瞰图,俯瞰图应命名为AirMapImage,放入文件夹Walker\Assets\Resources\AirMapImage中。8.根据权利要求书6所述的基于unity3D的全景漫游场景编辑方法,其特征在于,接口(5)场景打点包含以下过程:创建M...

【专利技术属性】
技术研发人员:陆璐冯秋燕
申请(专利权)人:华南理工大学中山市华南理工大学现代产业技术研究院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1