LUOYANGNORMALUNIVERSITY2015届本科毕业论文基于Unity实现虚拟楼盘展示制作院(系)名称专业名称学生姓名学号110424010指导教师完成时间2015.5洛阳师范学院本科毕业论文1基于Unity实现虚拟楼盘展示制作马天宇数学科学学院信息与计算科学学号:110424010指导教师:刘青青摘要:Unity引擎推出后在全世界得到了大量的运用。本文通过运用Unity制作出来的是房地产虚拟展示的一个软件,通过虚拟现实技术制作全方位三维展示以及逼真的动画和过场。关键词:MentalRay烘培;材质;三维坐标;虚拟漫游;视频播放;手指触控引言虚拟现实(VirtualReality,简称VR)是最近几年来新出现的高新技术,也称灵境技术或者人工环境,虚拟现实技术集成了计算机图形(CG)技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果的集合,是一种由计算机技术辅助生成的高技术模拟系统,虚拟现实技术的发展与应用离不开计算机技术的发展,两者是相辅相成的关系,如果要正确认识和剖析并把握虚拟现实技术的应用与发展,就必须深入研究计算机技术的变化与发展趋势,这样才能有利于我们未来更好的掌握与应用虚拟现实技术。[1]实时互动的应用程序可以让你漫步在还没有盖好的房子里,或是回到几世纪以前的废墟让你在里面可以行走,尽管现在的计算机辅助绘图技术(CAD)能建立3D的模型,但仍不太容易真正的传达客户希望看到的视觉仿真效果。大多数的房地产公司仍然无法给予客户一个身历其境的体验的感觉,而交互式的3D可以让我们创造出一个完整的模拟环境,现在已经可以做到让客户在房子还没盖好之前就可以在未来的家里走来走去,甚至可以体验到当早晨的阳光从窗户透进来的感觉。本篇论文与大家一起分享Unity在非游戏领域的应用实例,在房地产家居行业中,通过Unity开发的应用将传统设计师的工作化繁为简并交予住户,让住户自己设计呈现喜好的家居环境在虚拟现实中来感受及评估。制作地产楼盘漫游,能够让顾客更好的了解整个楼盘的规划,效果,取代了以往图片平面化信息的不洛阳师范学院本科毕业论文2够直观的表达效果,信息传达不够直观全面的弊端。在楼盘尚未建成,也能让顾客身临其境的感受到整个楼盘的居住环境,建筑外观,配套设施,能够推动地产楼盘前期推广的效率,促进整体销售的提升,更能提升整体地产公司整体的品牌及企业形象。1研究主要内容1.1研究方法及手段以Unity3D为开发平台开发的一个虚拟仿真楼盘展示系统,是一个逻辑完整的、程序运行流畅的三维软件.通过对相关资料的大量查询以及对手指触控的一些研究,对Unity3D游戏引擎有了相关的了解.对Unity3D中需要使用的编辑语言C#进行学习,查阅C#相关资料,使自己的编程水平可以满足这个展示的基本需要.虚拟展示的制作过程以及软件实现后的整体过程大致分为以下几个步骤:1)了解3Dmax建模软件以及MentalRay渲染器,掌握相关的基本操控,熟悉3Dmax的四角面建模以及MentalRay烘培方法。2)熟悉Unity3D引擎,掌握unity基本的编辑器操作,熟悉Unity3D每个功能模块的作用和操作方法.熟练使用unityAPI的方法。3)设计软件的UI主界面,对软件的整体功能进行架构,明确虚拟展示软件的主要功能以及软件的风格。4)设计软件的内容,策划软件的主题,并设定软件的相关场景。5)根据别人的需求和自己的理解,在Unity3D中制作下相关部分,包括交互逻辑,加载逻辑,UI逻辑,漫游逻辑等,用到了EasyTouch插件和NGUI插件。6)初步测试,对系统的各项功能进行测试,及时发现问题,进行逐项解决。7)在PC上进行发布,并进行测试,完成在PC端触控上的正常操作。8)在IOS上进行发布,并进行测试,解决Ipad平板上的正常操作。1.2开发的环境PSPhotoshop经常用做于图像处理,而不是图形创作。图像处理是对已有的位图图像进行编辑加工处理以及运用一些特殊效果,主要用做于在于对图像的处理加工;图形创作软件是按照自己的构思创意,使用矢量图形等来设计图形。3DMax洛阳师范学院本科毕业论文33DStudioMax,(原名:3DStudioMax),常简称为3dsMax或MAX,是Autodesk传媒娱乐部开发的基于PC系统的全功能的三维计算机图形软件。MayaAutodeskMaya是美国Autodesk公司出品的世界顶级的三维动画软件,运用领域是专业的影视广告,角色动画,电影特技等。Maya引擎的功能完善,工作灵活多变,易学易懂易用,制作效率很高,渲染真实感极强,是电影级别的高端制作动画软件,MentalRay渲染器Mentalray是一个专业的3D渲染引擎,它可以生成十分逼真的高质量真实感很强的图象。现在你可以在3DStudio的高性能网络渲染中直接控制Mentalray。它在电影领域得到了大量的应用和认可,被认为是市场上最高级的三维渲染解决方案之一。Unity3DUnity3D是由UnityTechnologies开发的一个玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画的类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。C#C#是C++衍生出来的面向对象的编程语言,是微软公司发布的一种面向对象的于NETFramework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相,C#是微软公司研究员AndersHejlsberg的最新成果,C#看起来与Java有着惊人的相似,它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程,C#是微软公司NETwindows网络框架的主角。AEAdobeAfterEffects简称“AE”是Adobe公司推出的一款图形视频制作和处理软件,适用于从事视频设计和视频特效的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。属于层类型后期制作类软件。XcodeXcode是苹果公司开发的特有的编程软件,是开发人员建立OSX和iOS应用程洛阳师范学院本科毕业论文4序的最快捷的方式。Xcode具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成。2Unity3D简介2.1Unity3D总体概述Unity3D是一个用于创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的综合型创作工具,由UnityTechnologies开发,是一个全面整合的专业游戏引擎,Unity类似于Director,Blender,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、Windowsphone8和Android平台,也可以利用Unitywebplayer插件发布网页游戏,支持Mac和Windows的网页浏览,它的网页播放器也被Macwidgets所支持,Unity分成Free与Pro版。[2]2.2Unity3D软件特色综合编辑:通过Unity简单的用户界面,易上手进行界面编辑和编程工作。导入资源:支持所有主要的文件格式,并能和大部分的相关应用程序协同工作。一键部署:让玩家的作品在多平台呈现。着色器:着色器系统整合了易用性、灵活性和高性能。天空盒:优化软件流畅度的一种很好的办法。资源包:资源和逻辑从外部加载。音频和视频:实时三维混合音频流、视频流。光影:提供了具有柔和和阴影与烘焙的高度完善的光影渲染系统。文档:为学习者提供逐步的指导、文档和实例方案。2.3软件总体设计1.摄像机初始镜头,处于天空鸟瞰的感觉洛阳师范学院本科毕业论文5(单手指左右滑动控制旋转,双手指打开合拢控制方缩小)(上图箭头只是做参考,主要操作还是基于触屏,这两个功能用的很多)2.拉近后,单击可把视角转移到黄色单个中心点进行360度旋转拉近拉远观察(单手指左右滑动控制旋转,双手指打开合拢控制方缩小)洛阳师范学院本科毕业论文63.1软件操作说明3.1.1场景操作说明在开始场景中为楼盘的外围建筑的鸟瞰图。拖动鼠标或者手指拖动屏幕可对楼盘中心进行水平360以及上下0度到60度旋转,下方按钮功能,分别为1)区域分布:为大楼的地理位置的一个视频2)鸟瞰:为大楼的中心进行鸟瞰观察3)街景漫游:设置了4个街景点,点击街景漫游,会响应的出现4个街景漫游的按钮,4个按钮分别为不同的场景漫游地点,4)车库:点击车库会跳转场景,进入车库的场景5)室内:设置了4个室内场景,两个办公室内,两个家居室内,三个室内为没渲染的建模。一个室内为渲染的简模,点击跳转在室内场景后,有四个按钮一个是毛胚房按钮,一个是简装,一个是漫游,一个是返回主程序6)主楼:点击出楼会相应的出现6个按钮,分别为1,2,3,4,5,6点击六个按钮,围绕的中心点这会变成相应的主楼,7)退出按钮:点击按钮,退出程序。3.2软件建模流程介绍洛阳师范学院本科毕业论文73.2.1建模和模型整理在3DMAX建模中标准单位设置为毫米,导入CAD原图归到一个图层到坐标原点,根据CAD墙线制作墙体,根据设计方案硬装模型,根据设计方案软装模型,建好模型后把所有的单体的Gimao(中心点)整理到单体的中心,按程序不同的用处归到不同的层中,这样即使美术修改,跟程序也没什么大关系,顶视图在用线沿墙内勾出一个闭合的空间,原则是避开家具不能穿插墙体,描绘出线转角要给一个圆角命令,用在程序中漫游时不越过这个闭合的空间,尽量把该合并的材质都合并,这样的话会节省内存开销,是软件流畅度得以提升。漫游路径模型例图和程序不渲染路径图:3.2.2贴图方法及贴图的制作材质和贴图不能出现中文名称,纯色的物体贴图需弄32*32像素的纯色贴图,贴图的尺寸要按照2的N次方像素设置,这些设置也是为了软件运行时减少内存的开销,提高流畅度。例图:3.2.3材质赋予,模型减面及合并指定MentalRay渲染器,标准材质(Standard)换成MentalRay嵌套的材质,设置主要的几种材质参数,例如墙体,透明玻璃,灯罩,黄铜金属类,相同洛阳师范学院本科毕业论文8材质物体必须是同一材质球,材质球命名不能是中文来写。模型减面要适当,不能破坏模型原有的造型。不规则的模型要用ProOptimizer(批处理)命令。看不到的面要删除,但离地面比较高的面不能删除,灯罩窗帘使用双面模型,如果平面物体表面有黑斑时,应该取消那几个面的光滑组,对曲面要统一曲面的光滑组,避免烘培的时候贴图出现黑色接缝。模型减面后都应该用一下ResetXForm(重置变换)和TurntoPoly(转换为多边形);对模型结构与贴图坐标不起作用的点和面要删除以减少数据量,提高FPS帧速率。在保证场景效果的前提下减少场景的总体面数,曲线挤压的时候要注意线的段数,必要时候可以使用折线形式来代替曲线,模型的网格分布要合理,模型中平直部分可以使用较少的分段数,曲线部分为了表现曲线的转折可以适当多分配一些,模型平面边缘轮廓点分布尽量做到均匀,否则容易使模型破面或者产生其他问题。按空间里同材质物体塌陷。不同材质的挂画可以塌陷在一起,后期不需要调节,对整个空间影响不是很大的物体也可以塌陷在一起(具体方法视户型而定)。剪完面后整体效果帧速率要大于60;最后的模型分别打为两组,一组是静态的程序调用不到的场景模型,一种是程序有调用用到的按钮,动画等等有用的模型例图:3.2.4展UV及灯光测试手动展UV的目的是要尽量使UV铺满整张贴图以节省内存消耗。模型没减面前展的都不符合规范,必须在减面后展。展完UV模型后面加上贴图像素的大小。指定MentalRay渲染器,检查Gamma值,选择曝光方式,窗户位置打射面灯模拟天光。灯槽位置用圆柱灯模拟灯带,台灯位置用球灯模拟,光域网模拟室内筒灯,调节灯光强度和颜色,尺寸,阴影方式和阴影细分。同一空间的灯应该关联复制,调节渲染器常用参数。做渲染处理时尽量模块化渲染,一般的计算机硬件对渲染处理都很慢。[3]3.2.5