基于Unity3D的室内漫游仿真系统研究课件_第1页
基于Unity3D的室内漫游仿真系统研究课件_第2页
基于Unity3D的室内漫游仿真系统研究课件_第3页
基于Unity3D的室内漫游仿真系统研究课件_第4页
基于Unity3D的室内漫游仿真系统研究课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、基于Unity3D的室内漫游仿真系统研究 研究背景和意义1 相关理论和技术2 系统需求分析3 系统架构设计4 系统实现5 总结和致谢6目 录 研究背景和意义虚拟现实技术综合利用了计算机图形学、仿真技术、多媒体技术、人工智能技术、计算机网络技术、并行处理技术和多传感器技术,模拟人的视觉、听觉、触觉等感觉器官功能,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。 虚拟现实技术已经在多个领域 中得到应用,如家庭娱乐系统、军事仿真系统、室内漫游仿真系统、医疗系统等,创造了巨大的社会价值和经济价值。 研究背景和意义室内漫游仿真系统作

2、为虚拟现实技术的一个分支,正在得到迅速的重视和发展。室内漫游仿真系统的优势在于,相对于单一的图片展示,更能使用户获得身临其境的直观感受,能获得更细节、全方位的信息。它的沉浸感、交互感是其他传统媒体平台和动画所无法比拟的。室内漫游仿真系统包括一个逼真的视、听、触觉的一体化的虚拟环境,用户借助必要的装备在该环境中漫游,从任意角度观察环境中的物体,从而产生身临其境的感觉,同时也可以对环境中的家具进行规划和操作。 应用领域相关理论和技术系统开发流程图如下图所示三维建模本系统采用3dsMax 2009建模软件为建模工具,它具有易上手、教程多、插件众多、能建立工业级复杂模型的优势。场景三维建模是室内漫游仿

3、真系统主要构成部分,也是整个项目最为繁重的部分建模原则:首先要尽量做简模。虚拟现实中的运行画面每一帧都是靠显卡和CPU 实时计算出来的,如果面数太多,会导致运行速度急剧降低,甚至无法运行;模型面数的过多,还会导致文件容量增大,在网络上发布也会导致下载时间增加。第二,模型的数量不要太多。如果场景中的模型数量太多会给后面的工序带来很多麻烦,如会增加烘焙物体的数量和时间,降低运行速度等编程控制Unity3D采用组件式开发,它包括寻路、动画、资源管理、音频、物理、图像效果、首选项设置、网格、网络、渲染、GUI用户界面、变换、摄像机、光照、角色控制、粒子特效等数十个组件。它拥有层级可视化编辑器,动态的游

4、戏预览和属性编辑,支持自动资源导入,支持Bump Mapping、Reflection mapping、Parallax mapping、Shadow mapping、light mapping等技术,内建地形编辑器,支持树木与植被贴片,支持多人网络联机。Unity3D支持三种语言,即C#、JavaScript、Boo,前者是面向对象语言,对于大型项目宜采用;后两者是脚本语言,对于中小型项目更具有灵活性。编写程序必须调用Unity3D SDK中的API,包括实时运行类和编辑器类项目工作主要集中在Assets文件夹,包括models、scripts、materials、textures、soun

5、ds、shaders、standard assets7个文件夹。scripts下放编写的脚本文件。在保存场景的时候,系统会自动编译脚本为.net dll文件。系统需求分析开始着手项目,首先应该对系统做需求分析,确定系统要做什么。需求分析之所以重要,就因为它具有决策性,方向性,策略性的作用。我姑且把它称作需求驱动开发。用户需求: 别墅建筑有四层,第一层是杂物储存室,第二层是起居室、读书 室、活动室等,第三层是会客室,第四层是天台。用户能利用键盘和鼠标来控制摄像机的移动。用户能与场景中的道具有交互体验。系统具备和现实世界一样的物理特性。系统需求:采用面向对象的软件开发工具,使系统具有可扩展性、可维

6、护性和稳定性。操作界面友好,系统运行流畅,内存占用适中。系统架构设计系统分为三维建模和编程控制,那么自然在设计的时候就分为模型和程序两个模块。这样在项目的不同阶段,可以针对某一个模块进行实施,让开发人员得到一定程度的解放。模型模块程序模块程序模块设计程序模块的设计图如下所示,整个模块也分为三个层次,按功能的优先级划分依次是漫游、交互操作、系统设置。系统实施-三维建模首先是建筑模型的三维建模。1.楼体建模。规划设计整个楼体的形状和各附属物(门、窗、楼梯)等的相对位置及它们的尺寸比例。四层楼的建筑,可以分成四个部分,每一层楼为一个部分,单独在一个max文件中建立,每层楼的楼体建立过程大体相似,墙壁

7、、门窗、地板都可以用同一套资源。系统实施-三维建模3.其他设施。主要包括地形和植物。地形本质上是一张平面,只是在U3D中又加了一些东西而成了一个独特的Terrian对象。在这层地形上,可以拉出山脉、高原,栽种一些植物,铺就一层植被和绿茵草。系统实施-三维建模4.灯光。 在Unity3D中,依次点击GameObject-Directional Light创建太阳光,选择Spot Light创建室内灯光。系统实施-三维建模最后整合场景,将资源按规格命名,依次导入Unity3D并作简单优化。系统实施-程序编写1.摄像机漫游。首先创建一个替代主角的物体,随便什么模型都可以,这里选用一个胶囊体A,并为之

8、创建一个Capsule Collider包围盒。Unity3D已经内置了一个Character Controller,里面已经包含了包围盒,并附带一些其他运动控制信息,所以这里为胶囊体A附加一个组件Character Controller。 此时A只是具有了包围盒和一些物理信息,但是它自己不能动,因为没有任何让模型A运动的逻辑处理代码。所以再创建一个JavaScript脚本名为Character Motor(寓意为模型的运动马达)。系统实施-程序编写此时虽然有了处理模型运动的代码,但是模型仍然不能动,为什么? 因为没有处理用户输入的逻辑代码,当用户按住W、S、A、D的时候,系统并没有去获取这些

9、输入信息,所以还要创建一个JavaScript脚本文件名为FPSInput Controller。系统实施-程序编写完成这一步,模型A能运动了,但是我们的视觉没有跟着模型A一起运动,因为摄像机(相当于这虚拟世界中我们人的眼睛)并没有移动。这里需要把摄像机Main Camera1和模型A绑定起来,让Main Camera1跟着A一起运动。因此这里需要创建一个JavaScript脚本文件名为third person camera.将Main Camera1指定给Camera Transform组件,完成这一步,我们的摄像机就能跟随模型A一起运动,并不断变换视角,终于有了一丝漫游的味道。系统实施-程

10、序编写2.碰撞检测。Unity3D内置五种包围盒,即Box,Sphere,Capsule,Mesh,Wheel包围盒。所以直接在需要碰撞检测的模型,比如墙壁、楼体、门等加上碰撞检测器。系统实施-程序编写3.门的交互控制。为了实现门的打开,本质上来说就是要控制门要绕着Z轴旋转九十度。因此我创建了一个JavaScript脚本文件名为Door Control,并将之附加到门的门把上,这样与现实似乎一致。在这个文件里我检测鼠标点击事件,当点击门把时,门旋转九十度,结果就达到了开门的目的。 总结项目成果: 基于Unity3D的室内漫游仿真系统一套。学习并实践了Unity3D开发知识,积累了初步的研究能力。存

温馨提示

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

评论

0/150

提交评论