




免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于unity3D的垃圾处理场虚拟漫游人机交互研究基于unity3D的垃圾处理场虚拟漫游与人机交互研究摘要基于unity 3D的垃圾处理场的虚拟漫游与人机交互研究是一个重要课题,它将图像图形技术、计算机技术与虚拟现实技术等领域集合在了一起。本文主要根据现有的垃圾处理厂场景图片进行了相应的3D场景建模,根据需要我们在导入unity3D后对模型进行了相应的调整编辑。由于我们对于垃圾处理场漫游功能的要求,本文使用了C#编程语言对我们的模型对象进行了脚本编写,使用character controller的功能来实现我们第一人称漫游的交互设计。另外,介于我们希望本文的研究可以使用到垃圾处理场的推广以及环保宣传方面,我们在3D场景搭建完成后,我们对于场景中的建筑都进行了相应的UI设计,在我们漫游的过程中走到处理厂的一些关键的设备时,将用户可以选择查看相应的设备介绍,这样用户可以在身临其境的同时详细的了解我们垃圾处理场各部分的功能,这一部分的脚本编写也是由C#来完成交互设计的。本设计另外一个创新点在于,由于我们是设计完成垃圾处理厂的交互体验,考虑到环保宣传的角度,我们利用unity的天空盒子功能设计了一个变换天空颜色的交互体验,这样用户可以切身体会到垃圾处理场污染治理前后的天空变化。关键词:Unity,三维建模,垃圾处理场,C#脚本编写,虚拟漫游RESEARCH ON VIRTUAL ROAMING AND HUMAN-COMPUTER INTERACTION OF WASTE DUMP BASED ON UNITY3DAbstractThe research of virtual roaming and humanoid interaction in the garbage disposal field based on unity3D is a significant project, it brings the fields of image graphics technology, computer technology and virtual reality technology together. This article mainly carried out the corresponding 3D scene modeling based on the existing garbage disposal plant scene pictures, according to the need to import unity3D after the model has been adjusted accordingly. Because of our requirements for the roaming function of the garbage disposal site, this article uses the C # programming language to script our model object, and use the function of the character controller to realize the interactive design of our first person roaming.In addition, we hope that the study of this article can be used to promote the garbage disposal site and environmental publicity, after we completed the building of 3D model, we design some UIs for the buildings in the scene. In the process of our roaming to some of the key devices, the user can choose to view the corresponding equipment introduction, so that users can at the same time know about the function of our plants devices when they are roaming in the waste dump, this part of the script writing is written by C # to complete the interactive design.The another innovation of our design is that, because we are designed to get an interactive experience of waste dump, taking into account the perspective of environmental advocacy, we use the unity of the sky box function which is designed to complete an interactive experience of transforming the sky color, so that users can experience the changes of the sky before and after pollution control.Key words: VR, Unity, 3D modeling, C-sharp scripting, Virtual Tour 目 录1 绪论11.1引言11.2本设计的目的与意义11.3 国内外发展概况21.3.1 国外发展概况21.3.2 国内发展概况31.4本设计的主要内容42 Unity3D系统开发流程介绍42.1开发引擎的选择52.2系统策划与准备82.3框架结构102.4建模工具分析与选择112.5两大插件NGUI和iTween122.6 Unity场景漫游技术122.7 本章小结133 虚拟现实系统设计133.1产品开发流程143.2 三维真实场景的建模143.3系统交互设计方案163.4本章小结164 垃圾场漫游功能的实现174.1漫游功能的实现174.2虚拟场景的建立224.3 本章小结245 结论255.1 结论255.2环保、工程与经济应用讨论255.3 展望25参考文献26致 谢281 绪论1.1 引言随着工业4.0时代的到来,以德国为主体的工业4.0在汉诺威工业博览上,通过一些展出方案显示,将新材料,软件硬件,虚拟与现实,大小企业,国内外工业标准融合发展,是工业4.0的发展主线,通过各项工业技术的结合向人们展现未来智能生活生产的蓝图。其中,以“人为中心“的虚拟现实技术是其中一大发展趋势1。虚拟现实的英文名称为Virtual Reality,简称VR。virtual意思为虚拟的,意味着用户感受到的一切都是虚幻的而并非真实接触的,是通过计算机技术构建而成的;reality意为现实,是我们日常生产生活中存在的真实的事务,两词结合称为虚拟现实,也因此我们可以将虚拟现实技术大概理解为,使用者能够通过引擎工具创造的事物获取现实感受。我们可将其定义为:采用以IT技术为重点的现代化方式和相应设备仿真虚拟世界 2。1.2 本设计的目的与意义虚拟现实技术在很多方面有所应用,它可以在学校做虚拟实验室,战事上模仿虚拟斗争、医学上仿真虚拟手术、学校课程虚拟智力活动、工业上制造仿真等等。工业仿真是其应用的一大方面。工业仿真就是将实体工业转化为虚拟的场景中,在虚拟的场景中实现实体工业的每一项工作和流程,人们用第一人称实现在其中漫游实现人机交互。由于本文是基于unity3D的垃圾处理厂的人机交互设计,我们以垃圾处理场的工业仿真为例说明虚拟现实工业仿真的意义。(1)展会及市场推广。首先,垃圾处理场作为每个城市甚至乡镇所必需的一个工厂,对于其建造数量的要求会非常的高。在向政府或者公司展示垃圾处理厂的构造,无疑利用虚拟漫游是胜过于其他形式的介绍的。让企业沉浸在垃圾场的构造中去考察垃圾场建成后的效果和运行,简单直观,简化了推广的过程,并收获很好的效果。(2)垃圾厂的监控管理。垃圾处理厂难免会有很大的味道,在企业日常对垃圾处理厂的管理和控制上,通过虚拟漫游,工作人员可以非常快捷的指出工厂运作中出现的问题(3)培训教学的使用。垃圾处理场的发展将会日益智能化,并且考虑到垃圾处理场的应用广泛,对于垃圾处理场工人的培训也是亟待解决的问题。我们通过虚拟漫游系统,可以更加高效的对员工进行培训教学,并且还没有健康的威胁。3本文只是对漫游垃圾场作一个指引作用,作为展示作用,以此来显示垃圾处理厂的功能配置,同时也可以作为教育意义去呼吁人们关注环保,这里采用的就是一种新的宣传方式。1.3 国内外发展概况1.3.1 国外发展概况最早的开发起源于发达的国家,从1990年开始,很多发达国家就开始大力发展游戏引擎。许多的欧美国家都在致力于发展虚拟现实技术的相关应用,英国德国更是为此设立了许多相关的会议和展会,这使得这些国家对于这方面的研究一直保持着更新。另外,在亚洲,日韩和新加坡等国家也都在虚拟游戏开发方面抢占了大量的市场,很多芯片厂商也对相关头戴式设备进行相关升级。1.3.2 国内发展概况在相关文献中描述了在一些工地的现场,一些工人在漫游的角度来看遇到的一些问题的解决办法,这对游戏中用户体验来说是很大进步的研究。各种文献对基于计算机的Kinect2体感游戏也有相关的研究和讨论,这也是在虚拟体验上的很好的研究方向4。很多文献中也描述了一些基于unity3D构造的一些野外生存环境的一些事件,都有借鉴意义5。我国对于三维游戏的发展还比较浅,发展时间较短,对于一些三维软件的应用还未达到熟能生巧的地步,市场占有率非常小,但是虚拟游戏在国内的出现频率越来越高,也有越来越多的人开始从事相关的工作,许多的高校也设立了相关的专业,一些unity开发工程师也有非常高的年薪,这些表明我们已经开始向发达国家靠拢,大大的提高了这一方面的关注度。中国的相关研究开始于20世纪90年代,浙大计算机辅助设计和图形学国家重点实验室主要研究虚拟环境的高效构建和呈现、自然人机交互技术、增强现实技术、虚拟现实应用等。北京航空航天大虚拟现实技术主要研究一些理论方面的知识和增强现实方面的平台应用开发。它们开发了一批应用系统,如仿真训练系统、北京奥运会开幕式创意逼真演示环境、数字博物馆等6。由于本课题是基于unity3D实现,unity3D作为实现这个功能的引擎工具,是当下使用较多的一个三维场景设计引擎。相应的VR游戏开发引擎还有Virtools软件、Converse3D引擎、VRP等等。但是由于unity3D的综合性开发功能多平台发布,上手快等特点目前国内主要使用该引擎来实现虚拟现实的场景搭建,各种体感游戏、校园工厂漫游系统,相应的开发都有了较为成熟的发展7。1.4 本设计的主要内容本文研究基于Unity3D软件平台的使用方法,对相关的game设计的主要技能进行了讨论,研究和开发了电脑端的虚拟漫游。分析了垃圾处理场漫游系统的一些功能意义及要求,以及软件选择,三维场景搭建的设计和交互脚本的编写。第一章为绪论,介绍了本文研究垃圾处理场虚拟漫游的缘由、以及VR国内外研究现状以及论文的架构。第二章主要介绍了Unity 3D系统的研发的相关步骤,重点介绍了下Unity3D设计引擎的基本操作介绍,包括它的框架、优缺点和各类插件,其中包括NGUI、iTween等多款插件。第三章对垃圾处理场如何实现漫游功能,列出了系统的研发流程,并且实现了垃圾场搭建,系统交互逻辑的编写方案。第四章对垃圾漫游场功能的实现,相关界面的搭建与实现,虚拟场景的建立做了相关的研究。第五章是概括本文对垃圾处理场的研究探讨,并且分析了本文设计在环保工程经济发展方面的用处和意义,并解析了设计的不足和提升的空间巨大。 2 Unity3D系统开发流程分析与设计电脑是游戏漫游研发中不能缺少工具,而且游戏的创造更需要一些三维软件的协助,在本章将会介绍协助研发的各种应用,一个是用于场景建模的3DsMax,还有插件NGUI和iTween,还有一个是我们主要的引擎软件Unity3D,下面我们简单的解析一下这些软件应用,先来说一下Unity。2.1 开发引擎的选择Unity 3D软件是一个全球都广泛应用的综合游戏开发软件,同时,可以制作出数字交互产品、虚拟漫游和产品数字展示。它是3D研发的领导者,目前我们可以下载的版本都支持我们现在的微软平台下的使用,并且它们的互通性很高,在苹果系统中也可以使用unity。作为一个综合的三维设计引擎,它被用于设计三维广告,动漫等互动内容,最近几年却突然发展迅速,目前中国一流的相关开发公司都首选unity作为开发的工具,其具有文档齐全,平台互通性高,编程简便,费用低廉,BBS热闹,可搭配使用各种丰富的配件等突出特征。相对于其他游戏研发方式,它所支持的模型文件的类型也非常的多。其次,其引擎具有功能强大的控制系统:(1)渲染系统:全屏后处理,批处理,遮挡剔除;(2)灯光系统:延后光照处理,当下暗影,体积光,光照贴图,:(3)瑜入控制:手柄,鼠标键盘,手机触摸输入;(4)地形系统:刷地形,刷纹理,树,河流:(5)物理系统:柱体,物理模型之汽车,软物体:(6)粒子特效:烟、雾、瀑布、火、雨、水:(7)音响系统:MP3,WAV:(8)脚本系统:Java Script,Boo(Python),C#:(9)寻路系统:(10)网路支持:Realtime Networking, Web Browser,Backend Connectivity;(11)性能分析系统同时编辑器支持分类如下:1材料集成及其组合(游戏对象管理)2场景创建:快速创建3资源管道(工具建模):快速迭代(模型和纹理图像)4资源商店:提供免费资源,同时也可以有偿共享资源5资源管理服务器6编辑器的扩展7性能分析我们使用的unity3D是unity5版本,unity3D的游戏组织结构是使用资源(Asset)生成游戏对象(GameObject),游戏对象组成游戏场景(Scene),各种游戏场景构成了游戏工程(Game Project)。作为一个简便操作方便的游戏开发引擎,unity的菜单界面也容易学习,其中菜单有如下几种:(1)动画面板:渲染其中出现的各种场景。我们无法在这里编辑物体,但可以预览编辑后的整个动态结果。我们可以调整摄像头的参数来调整看的角度。图2-1 Game动画界面(2)层次清单栏:展示在面板中所有的物体对象。图2-2 Hierarchy界面(3)场景面板:场景面板为Unity 3D的操作的领域,设计时,将我们需要的所有的素材和渲染要求放入其中,最后形成渲染和动画效果。图2-3 Scene场景界面(4)对象属性栏:显示出所有project对象的本质属性,包括对象xyz值、缩放程度、脚本的变量和对象等等。图2-4 Inspector界面 图2-5 项目文件界面(5)菜单栏:菜单选项: File、Component、Edit、Terrain、Assets、Help。图2-6 菜单栏界面(6)项目文件栏:所有的资源、文件夹都可以在这个区域找到。包括物体、字体大小,project的各个场面文件等。(7)场景调整具:改变编辑过程中的物体视图、位置、通过移动旋转缩放等等操作来实现所见即所得的效果。图2-7 场景调整工具2.2 系统策划与准备现在,各种立体感的游戏已经渗透进入人们的日常社交,工作和生活。各种题材,各种形式,以及基于pad、手机、电脑端等不同操作方式的应用成批进入眼帘,所以在设计过程中我们对于整个设计的方案的构造和点子都是至关重要的。面对创新进行大量的改造和呈现,开发者让使用者眼前一亮也是一项非常重要的工作。在本文中,我们对垃圾处理场漫游的设计很重视,我们提前作出设计方案有两点是很重要的:1、在开始实现之前先进行测试。如果设计有非常大的缺陷在实施后又无法弥补,将会损伤惨重2、策划方案作为一个书面的文件,我们可以反复的修改,使之更加完美,在设计过程中有什么问题,也可以随时标注,最后尽量减少漏洞,使最后的产品稳定运行,降低不确定带来的风险。在虚拟现实设计中很关键的是软件研发的规范准则,其涉及到软件的研发逻辑、必须遵循的原则以及该领域的行为职业准则,unity3D作为一个引擎平台,对于对象占据的储存空间也有相关的要求,因此才能保证游戏和系统的运行。对于模型面数我们可以在3D max中看到,最好在2k及2k以下。 本次设计对于3D的程序技术进行阐述。由虚拟现实研发的固有属性,在很多的情景下,代码和技术的应用都会出现重复和相类似的地方,这对于其他的应用软件来说,是可以学习的。我们课程的题目就是基于unity3D设计的一种漫游系统,利用游戏引擎来设计虚拟漫游是一个非常好的选择。而unity3D在游戏设计方面应用及其广泛,是漫游设计的首选,因此我们选择常用的游戏引擎unity3D来进行虚拟漫游的设计。我们在后面会详细的接受unity3D的优点特征。对于unity3D来说,unity5版本之前一直支持三种语言:C#、Java Script和Boo。Boo语言相对使用较少,我们就不再考虑。另外的两种语言,我们可以选择用两种语言来实现脚本的编写,最后它们都会被编译成unity3D中内置的中间代码。但是由于C#是面向对象的语言成分比较多,面向对象的特性完整,更加利于程序设计。另外,C#是mono develop的原生语言(mono develop的框架用的是.net),对于熟悉visual studio的编程用户使用c也更加方便。图2-8 monodevelop 脚本编写的界面2.3 框架结构设计软件开发都有互通性,三维游戏开发也不例外。Unity本身的设计就有是分层化的,我们的结构框架也是这样。整个设计从下至上的层级是:操作、构架、数据、控制、视图,如图2-9 所示:图2-9 游戏分层设计示意图系统层,即游戏最终运行在什么平台上。我们都知道,Unity 3D可链接各种平台,可发布游戏至 苹果、安卓、Windows phone 8 等8。框架层,根据其表面含义,游戏研发的通用底层支撑,可轻松复用于各类游戏的开发,包含UI框架、message管控器、游戏物体缓存池等最根本组件。上面 3 层为大家所熟悉的框架,模型视图控制器。模型层用于处理游戏数据思维,我们将数据划分为两大类:持久化数据和运行时数据。视图层包含UI层和多种游戏对象的行为表达。UI层即使用者观察的相应界面,用以呈现相关数据。控制层是游戏开发中集中表现在其物体的产生与掌控。采用这种分层,可以让我们的文件和逻辑分开,让我们的研发效率提升。下面介绍了结构框架的几个重点插件的完成。在我场景设计过程中,整个设计的构思框架都至关重要,不容小觑。我们构思好了一个完善的游戏框架可以使整个设计都更加的高效。在Unity 3D中,每一个模型都可以改变他们的固有属性,我们对于不用的需求可以使其表现出不同的特征。例如使用 Javascript 或是C#语言来编写的交互脚本,放在不同的对象上就会有不同的效果。的资源不会直接体现在我们的编辑界面中,但是我们可以在层级目录下更改他的固有性质,那么再次显示在场景中的时候就会有不同的表现。另外,将大场景划分为小场景也是一个提高研发速度的方式,这可以使我们的加载速度变快。9。2.4 建模工具分析与选择在三维场景漫游建模是一个必要的过程。目前较为普遍的建模软件有3DMAX,MAYA,CAD以及SKETCH Upll31等。市面上的3D建模软件非常的多,不同行业也会根据需要选择不同的三维建模软件,例如在机械制造行业用的比较多的是solidworks,在制作电影广告动画领域用得比较多的是maya、softimage等等。我们基于以下几个因素选择3Ds max软件来进行3D建模:(1)3D max是一款中端设计软件,其对于pc系统的配置要求低,对于多种平台都很适用。(2)我们进行工业仿真设计,3Dmax在建筑设计、工业设计、工程可视化、游戏制作等领域都有广泛的应用,并且可以通过代码来实现动画,是我们进行工业仿真系统建模的最佳选择。(3)3Dmax性价比高、应用广泛,简单易学、非常容易使用。另外由于使用者很多,我们也有丰富的资源进行学习和交流。(4)强大的角色动画制作能力。我们课程的题目就是基于unity3D设计的一种漫游系统,利用游戏引擎来设计虚拟漫游是一个非常好的选择。而unity3D在游戏设计方面应用及其广泛,是漫游设计的首选,因此我们选择常用的游戏引擎unity3D来进行虚拟漫游的设计。我们在后面会详细的接受unity3D的优点特征。如果还需要渲染,那还是3DMAX要好一些。如果模型很简单,这是最好的绝佳选择,使用3DMAX建模方便很多,材质不会重叠,也不会出现漏面的现象10。2.5 两大插件NGUI和iTweenUnity 3D软件中NGUI插件是游戏中非常常见的一种插件,他可以为游戏开始提供导航,也可以在游戏过程随时提供游戏重要信息,它是基于C#语言编写的,unity3D提供了两种GUI 组件,一种是GUI Text,一种是GUI Texture.其中NGUI插件提供事知的框架和UI系统。代码的编也很简单,这对开发者和研究者而言,更加容易操控和学习unity3D的相关内容,也可以搭建简单的界面。对于NGUI插件来说,作为研究开发者可以直接查看到它的结果,而不需要点击其他按钮。而且NGUI插件的使用方式与Unity的使用方式是完全一样的,当它在工作的时候。Unity的另一款插件是iTween插件。iTween插件和NGUI最大的不同是iTween插件非常简便,只是需要把一些资源插入unity当中即可。iTween插件是一个动画库,在编辑行走路线的时候我们会用到ITweenpath,给漫游用户设定行程等等。各种产品里需要的动作设置,和颜色的有无变化等都可以通过iTween组件来完成。iTween插件的主要核心是数值的,即只需要确定开端和末尾,而中间过程可以自然而然的形成。2.6 Unity场景漫游技术我们要设计一个场景漫游,简单来说分为两步:第一步构建模型,第二步设计场景。由于unity也是一个系统引擎,因此如果我们的所有对象都按照真实纹理放在上面势必会使运行减慢,造成很大的资源浪费。因此我们在制作模型时,尽量使用纹理图片代替复杂的模型,尽量减少模型的大小和数量,使用复制的功能将大幅减少资源占用比例。在一般的情景下,在Unity里创建的场景占用空间较多,不可能完全的将其一次性全数呈现。因此我们需要挑选一些物体对其实施渲染的操作。我们将大的场景进行分割,分割成若干小场景,每次运行时速度就会大幅提升。要在垃圾处理场里漫游,不管是在我们生活中的垃圾处理场,还是我们模拟出的处理场场景,都需要有观看者的存在。在Unity里面,我们可以把观看使用者者作为照相机,人眼为地面,来观察模拟垃圾处理场的各个地方12。2.7 本章小结本章主要介绍了本次虚拟漫游研究中用到的一些三维软件和游戏引擎unity的介绍。让论文读者对于本次研究开发所用到的软件有个清晰的了解,我们首先分析了本次交互研究用到的主要引擎unity的开发流程和简单的界面介绍,其中也包括了一些开发脚本的介绍,真对unity的特点我们分析了我们的策划准备,选择所要用的的插件,选择合适的建模软件。最后我们简单介绍了unity实现的虚拟漫游技术。总体为了让大家对本次开发运行环境有一个整体的了解。 3 虚拟现实系统设计对于Unity3D的使用步骤,主要是为下文的研发给予帮助。Unity3D总的工作流程分为三步:材料整合、垃圾处理场搭建、发布系统,这个过程下来没有问题,研发进度就会有所提升。资源整合在Unity3D中定义比较宽泛,它可以包括3D模型、纹理图片、插件、交互逻辑、材质、音频、着色器等等13。我们对资源的一些整理有很多方面,首先我们要有资源其次设置相关参数再将其运用到相应的场景中去,这些只有在实际开发中才能体会得到他们的好处。垃圾场的场景构建就是将我们所拥有的一些污水处理管道,垃圾处理厂房等等这些资源放入到场景编辑器中进行改造,使其放在一起更加和谐更加逼真的体现垃圾处理场的场景。场景构建主要是两部,第一步拥有场景内的物体,第二步就是将物体编辑加工好。游戏对象、各类组件、交互脚本是场景元素,摄像机、灯光也是场景元素。编辑场景,通过改造之后形成一个个可以使用的对象,再将对象组织在一起进行下一步的研发设计。而我们最后一步发布,就使我们的研发不仅仅可以在unity中运行还可以在其他平台使用 14。3.1 产品开发流程使用unity引擎,我们开发游戏和其他虚拟的场景的时候,是有一个通用的研发模式和步骤的。实际中游戏和虚实产品有差异,但是很大程度上的步骤是相似的。我们研发一个垃圾处理场,首先就要根据我们研发的需求进行设计,包括界面设计等等,然后就进入漫游交互部分的研发和编程阶段15。在垃圾处理场搭建完成,并可以实现交互后,我们还要进行相应的体验和修改,最后我们才能将其发布投入使用。其中整体的开发流程如下图3-1所示。图3-1 开发流程图3.2 三维真实场景的建模简单来说,我们在要建模的场景下现场采集图片和视频,然后利用图片和视频在电脑软件上进行三维建模。对于建模使用的图片,需要视角宽阔能够反映场景中物体的比例和位置关系。另外对于一些复杂的建模部分,我们需要正视图,拥有正面视图可以用其来代替以简化建模。简单的概括一下三种实用的建模方法:(1)UVW贴图uvw对应着xyz轴,我们通过控制uvw的值来改变贴图的位置和比例大小,以此达到一个三维逼真的效果。(2)线工具通过线条可以绘制任何需要的形状,不受限制;另外,线工具构建的模型面数少,导入引擎后占用储存空间小。(3)多边形工具我们将构建对象转化为可编辑的多边形,通过改变可编辑多边形的点、线、面、元素、边界对象模式来完成建模,功能性强。首先要到实地进行数据采集,再使用3D StudioMax建模。建法采用的是Polygon建模即用多边形工具,进行拆分再用图像处理软件进行材质贴图的制作,在安式插件生成Fbx文件格式后,导入到中进行调整。有时也要为了突出贴图的立体感而重新绘制的。导入到后,我们就需要对模型的位置和大小进行调整,图3-2是在Unity3D中实时煊染的效果图11。图3-2 三维场景中的模型图对于我们构建出来的垃圾处理场的场景,简单来说,就是可以让用户切身的体会到垃圾处理场的构造,以及其组成,能够像在真的垃圾场里面一样随意的走动视察和学习这其中的构造。那么为了拥有这种较强的真实感,我们在建模过程中,不仅仅要搭建好模型,更主要的是还要将模型逼真化,同时我们要保证构建模型的过程中按照标准规范来,使其占用的空间尽可能的小。模型优化最基本的原则就是:尽量使模型简单化,降低繁复的点线面的数量。 以下几点是最基本的建模要求:1模型命名尽量英文采用名称,避免重名,2在3DsMax中建模时,以米作为最小的单位,以便于Unity里使用,3建立三维模型时采用多边形工具进行建模,4在建模过程中,确型的正面视图.5尽量共用模型的材质和贴图组件,6尽量减少硬边数量,xy的边缘和顶点数量。3.3 系统交互设计方案在垃圾处理场的虚拟漫游中,使用者通过交互来进行联系虚拟和现实,而unity是开发人员的交互研发工具,虚拟现实的整个设计都在unity内完成,在本次研发中,有漫游场景的交互,有垃圾处理场设备界面介绍切换的交互,这通过点击设备来实现相应的交互功能。在场景交互中,我们以第一人称在垃圾处理场内漫游,可以随意的在垃圾处理场内走动,并且可以切换天空的颜色,以此来感受垃圾处理场治理前后天空的变化,这也是一种交互。 17。3.4 本章小结在第二章介绍了unity的开发准备之后,本章我们介绍了基于unity开发准备之后,我们如何设计并形成一个虚拟漫游的场景。其中包括了我们开发流程的介绍和相应的我们在建模过程中用到的主要建模技术,特别值得注意的是,unity作为一个引擎,其运行时也会占用大量的资源空间,我们提到了一些规范以避免浪费资源。最后,我们在搭建好场景后,也讨论确立了我们交互的人称设置,这也是我们下一章介绍漫游功能实现要确立的最基本的问题。4 垃圾场漫游功能的实现4.1 漫游功能的实现虚拟漫游是我们本次垃圾处理场漫游系统的关键,交互功能是实现我们漫游的重点。我们通过编写交互脚本来实现“上”,“下”“左”“右”“跳跃”“旋转”这些逻辑操作,并将他们封装成角色控制组件,来实现第一人称主角的漫游控制。具体的步行漫游功能采用的方法如下:通过按键控制该对象的移动,将主摄绑定在一个胶囊状对象上,其中主摄像机上还包含了水下效果代码、环效代码、鼠标控制代码、环境特效代码、天空显码等,主摄像机的改变决定着视窗中所有声音以及图像的相应改变。其中漫游功能的实现是对它的位置或者说是视点控制,然后通过CharacterController的包来实现,将添加为First Person Controller的组件即可实游功能。将鼠标控制程序绑定在主摄像机来实现对视角控制,这样就可以达到通过鼠动来控制视角18。在垃圾处理场交互系统中,从而实现了通过头部运动来掌控了三维场景的视角,鼠标控制视角的程序流程图如下:图4-1 鼠标控制程序流程图1图4-1所示的程序流程图主要表示了我们要使用鼠标控制人物的旋转,第一步我们在启动引擎之后,我们要将相应的属性设置到菜单栏,然后确定程序编写过程中所用到的旋转变量,并设置好以xy轴为旋转轴的旋转系数以及其最大最小的旋转值,这些我们将其归类为初始化设置。 图4-2 鼠标控制旋转程序流程图2图4-2所示的程序流程图中主要解释了我们是否要使用xy轴同时控制旋转,如果是的我们如何去通过编程设置如何通过鼠标旋转角度来计算最后的旋转数值,然后将此数值赋于我们的旋转变量最后计算出我们最后的旋转效果。同理可得入果只有x轴的数据或者y轴的数据,我们又如何得到最后的旋转效果。图4-3的程序流程图主要说明了我们需要固定我们的旋转轴,要在程序编写中来设定它们。另外旋转的角度也有相应的要求,如果小于最小值我们要加相应的度数,如果大于最大值,我们要减掉相应的角度。图4-3 鼠标控制程序流程图3为了一个更好的虚拟漫游体验,我们实现了一种不规定路线的漫游,用户可以根据自己的需要来随意选择路线,具体的实现通过下面的控制器来实现:飞行漫游功能是在的基础上 ,由公司的游戏程序设计师设计。通过样条控制器可以在Unity 3D软件下进行相机的自动路游19。在编辑模式下,自动生成拟合曲线,运行时可保存路据代码,然后脱离控固化程序运行。为了更好的漫游体验,我们还通过unity插件可以控制天空的颜色,我们通过按键T可以切换天空的颜色,让用户在漫游的同时,可以感受垃圾治理前后天空变化带给大家的直观感受,有关这一部分的程序流程图如下: 图4-4 切换天空颜色程序流程图1图4-4显示的是我们在开始输入按键部分的程序流程,我们使用到的a变量在后续的程序编写中还会用到。 图4-5 切换天空颜色程序流程图2图4-5显示的是我们在增加按键T的次数的时候所改变的数组的值,而数组的值会通过我们编写的程序隐藏天空颜色1显示天空颜色2,因此达到了切换天空颜色让用户直观感受污染治理前后天空的变化。下面我们展示出污染治理前与治理后天空颜色变化的图片: 图4-6 污染治理前天空灰暗图4-7污染治理后天空很蓝4.2 虚拟场景的建立我们将垃圾处理场中所有的素材和模型导入unity中,用户在game界面通过调整角度来看整个场景,我们要加入一个使用者的角色来模拟我们在真实场景中走动一样在虚拟搭建的场景中漫游。我们此次主要做的是第一人称漫游的效果,那么我们是无法看到自己本身的身体,所以我们不能放入一个人物进去,我们采用摄像机来替代我们的眼睛。等于说摄像机就是我们自己本身,我们需要给摄像机来编辑交互脚本,我们可以选择unity自带的第一人称角色控制器,在他自己本身自带的资源包内可以导入。具体步骤可以解释为:我们在project资源面板中找到第一人称控制器,将其放置进入场景外的边缘。放入之后我们再根据需要调整他的相关参数,这个时候hieracry面板内就会出现角色控制器,这时我们就可以来定义这个第一人称控制器的物体,比地平线要高,这样我们在运行的时候,物体才能保证呈现正常的状态20。图4-8 第一人称视角1图4-9 第一人称视角2我们的人物运动主要通过键盘上的四个按键来控制,由于是第一人称的控制视角,我们运行时看到的就是我们走路时要走的方向,通过W往前方移动,通过A往左面移动,通过S往后方移动,通过D往右面移动。另外由于unity是个游戏引擎,其中使用的时间按照帧而不是秒来计算,因此人物移动的速度也按照帧来计算。下面是控制第一人称移动的代码流程图如下:图4-10 人物控制运动的程序流程图在我们的垃圾处理场漫游中没有用到第三人称视角,但是我们在这里也简单介绍一下。就是将一个人物放入场景中,然后把相应的第三人称的脚本放在他的身上。第三人称角色控制器和第一人称控制器的使用是一致的,也是unity自带资源。另外,我们在场景中设置了很多设备的介绍,我们通过向鼠标点按的设备发射射线来显示我们设置的设备解释,通过鼠标右键可以消除这些解释。这些UI也需要我们通过编写交互脚本来实现它们的隐藏和出现,其中用到的一个setactive功能与天空盒子中运用的一样。下面是这一功能的程序流程图:首先,通过鼠标左键可以显示这些设备解析:图4-11鼠标左键显示设备解析程序流程图然后,通过点按鼠标右键可以隐藏这些解析,我们输入变量可以改变数组的值,不同的数组对应着不同的设备的解析,我们对不同的设备点按会发出不一样的射线,变量会有不同的值,就会有不同的解析出现。下面是隐藏这些解析的程序流程图: 图4-12 隐藏设备解析的程序流程图下面我们展示一下这些解析的效果:图4-13 焚烧炉解析图4-14 黄色通风管道解析4.3 本章小结本章主要介绍了我们是如何编写脚本来实现我们的漫游程序和交互功能的,第一部分介绍了我们是如何实现了步行漫游的功能,其中列出了一些上下左右基本逻辑操作的主要代码,值得注意的是,后半部分列出了我们实现随意路径漫游的主要代码。第二小节主要介绍了我们如何以第一人称的视角在虚拟场景中实现沉浸漫游,主要列出了第一人称视角漫游我们对场景的一些代码编写设置,已达到尽量逼真的沉浸感。5 结论与展望5.1 结论本论文通过研究垃圾处理场虚拟漫游的交互设计也介绍了关于Unity开发虚拟现实产品的一些基础技术和关键技术,以及使用3DsMax建模的一些要求。我们基于unity3D这个平台,通过对垃圾处理厂虚拟漫游交互的探索,获得了一些成果如下:(1) 基于垃圾处理场的照片和相应的工厂模型,搭建了垃圾处理场的三维模型。(2) 介绍了unity3D建模的方法和相关的步骤,同时也提醒了一些操作规范,使我们的仿真设计更加顺畅。(3) 利用c-sharp编写设计整个第一人称虚拟漫游交互脚本,包括对于场景UI的脚本编写。5.2环保、工程与经济应用讨论在环保治理方面,我们除了在制定相关的法律法规之外,我们应该尽可能的使用现代科技来对我们的污染进行有效的控制。我们可以在处理污染方面使用更加智能化的工程设备,在宣传理念方面也可以使用智能设备使宣传更加高效并广泛的进行。另外,我们对于智能行业和虚拟现实的行业的发展无疑会加快我们的经济发展进程,并使我们成为日益强大的经济科技大国。5.3 展望论文主要通过研究垃圾处理场的交互漫游,也介绍了unity相关的一些操作和研发流程,同时也涉及了一些三维建模的知识。随着虚拟现实技术的发展,以及计算机技术的快速发展,对于虚拟现实技
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年特岗教师招聘考试初中化学模拟题及解析
- 2025年金融行业从业资格认证考试指南及模拟题解答
- 电力基础知识培训课件通知
- 2025年炼钢工初级技能水平测试试题库
- 2025年炼钢工艺中级考试题库及答案解析
- 2025年初中地理特岗教师招聘考试复习资料与预测题
- 电剪安全知识培训内容课件
- 2025年物资储备与管理专业面试指南及模拟题集
- 2025年跨越时代的传承AR技术下皮影雕艺人专业预试题
- 2025年特岗教师招聘考试知识点详解高中地理
- 2025年新版《食品安全法》知识竞赛试题(附答案)
- 2025至2030中国保护器行业发展趋势分析与未来投资战略咨询研究报告
- 劳动教育主题活动课说课稿
- 八年级英语备课组教学工作计划范文
- 2025年电商行业直播带货研究报告:直播电商产业链分析
- (正式版)DB44∕T 2683-2025 《老年肌少症中西医结合健康管理规范》
- 企业工程管理办法
- 小学生美术国画课件
- 基孔肯雅热的个案护理
- 医疗反歧视培训
- 深圳市生产安全事故调查处理工作规范
评论
0/150
提交评论