unity3d技术构建阳光海岸虚拟小区(源码)
基于Unity3D的交互式漫游系统具有很好的真实性和交互性,是一项具有“综合性”的艺术表现形式。它囊括的范畴有美术、音乐艺术、计算机技术、历史等等。Unity3D中JavaScript的加入在传统漫游系统的基础上提高了虚拟漫游系统的艺术价值和技术含量,可使得作品通过与用户进行交互从而更好地领略小区漫游的风采与环境。本作品针对此艺术表现形式,分析、设计并制作了命名为“小区虚拟漫游系统”交互式虚拟漫游系统。期望以交互形式向用户展示建筑与文化的博大精深。同时让用户感受到交互式虚拟漫游系统不同于其他种类的传媒形式而带来的良好体验。关键词 虚拟现实,虚拟漫游,Unity3D,场景建模,交互
目 录
1 引言 1
1.1 虚拟漫游系统的背景 1
1.2 虚拟漫游的研究现状 1
2 关键技术介绍 2
2.1 Unity 3D游戏引擎 2
2.2 3DS MAX 8
2.3 Photoshop 8
3 需求分析 9
3.1 项目概述 9
3.2 作品要求 9
3.3 可行性分析 10
3.4 具体的需求分析 11
4 系统设计 12
4.1 概要设计 12
4.2 详细设计 13
5 系统实现 15
5.1 模型的实现 15
5.2 功能的实现 18
6 系统测试 26
6.1 小区漫游测试 27
6.2 碰撞检测 27
6.3 交互功能检测 27
6.4 场景切换测试 27
7 系统发布 28
结 论 29
致 谢 30
参 考 文 献 31
1 引言
1.1 虚拟漫游系统的背景
虚拟漫游技术是虚拟现实技术的主要技术,近些年来已经出现了运用虚拟现实技术通过电脑的模拟真实环境,使用者在辅助设备的帮助下在虚拟漫游场景中进行漫游,并且可以随心所欲的观察虚拟场景的各个角落,使得使用者有身临其境的感觉。由于 *好棒文|www.hbsrm.com +Q: *351916072*
虚拟漫游有沉浸感、交互性和构想性,使其得到了足够重视并有了很大的发展。虚拟漫游的优势在于,脱离了单一的图片展示的套路,让用户有身临其境参观的感受,并且相对于二维,三维的漫游能够展示更精确、细腻的信息,这种特性是纸质媒体所无法达到的[1]。
1.2 虚拟漫游的研究现状
目前,虚拟现实技术已成为信息领域的热门话题,是研究的热门对象,它也是发展最为迅猛的综合了多个科学领域的技术。虚拟现实技术让人与机器的交互更加方便,更人性化,不再是以前单一、被动的交流方式,而且,它为人机交互界面提供了一个新的研发方向,为智能程序应用工程提供了一种新的接口[2],并为电脑机器语言的数据可视化挖掘出一种新的显示方法,它也改变了人们的落后生活方式、工作方式和旧的思想观念。虚拟现实技术已逐渐成为一种文化和艺术融入生活。
虽然与对虚拟现实研究比较深入的国家相比,我国还需要继续努力进行虚拟现实技术的研究,但是政府、科研机构和有关专家已经关注到这个情况,并根据我国的国情,紧跟国际新技术的发展步伐。同时,开发了一系列与虚拟现实技术相关的大型研究项目。数字敦煌在中国大陆的第一个虚拟建设项目,从1993年起,敦煌研究所为敦煌莫高窟的文物信息的保存与美国梅隆基金会和大英图书馆以及其他许多单位进行合作[3]。由于计算机图形学和系统工程等计算机技术的飞速发展,虚拟现实技术受到了人们的广泛关注。研制出了创建分布式虚拟场景模型的虚拟现实系统,该系统的开发正朝着纵横两个不同的方向快速发展。国家科学技术委员会科技工业部将虚拟现实技术列为重点的研究项目,中国的许多大学和研究机构也在虚拟现实的应用和研究上取得了一些研究成果[16]。
现在已经出现运用虚拟现实技术开发完成的游戏,但是由于技术问题,通过辅助设备观看到虚拟的场景还比较粗糙,模拟交互功能的实现还不够灵敏,而且设备也比较昂贵,技术还需要进一步的发展,才能够普及虚拟现实技术。
2 关键技术介绍
2.1 Unity 3D游戏引擎
Unity 3D是一个可用于制作3D视频游戏、建筑可视化和实时3D虚拟漫游系统的综合的引擎。Unity3D是一个跨平台的游戏引擎,具有强大的跨平台性和精美的3D渲染效果。Unity3D是由Unity Technologies公司开发的,该公司近年正在飞速的发展中。
目前Unity 3D的最低版本是Unity 3.x版本,从Unity 2.5开始,Unity 3D就可以跨平台使用了,功能也多了。随着技术的不断发展,Unity3D的版本在今年已经升级至Unity 2018.1,可同时在Windows与Mac OS上运行,多个游戏平台比如Steam就有用Unity 3D开发的游戏,像《坎巴拉太空计划》和《The Long Dark》,并且它大幅度的提升了3D渲染效果 [4]。其新的脚本渲染管道(SRP)将现代硬件和GPU的力量直接放到开发人员和技术艺术家的手中,而不需要消化数百万行C++引擎代码。SRP使得通过C#代码和材质着色器可以很容易地定制呈现管道,在没有编写或修改完整的C++呈现管道的复杂性和挑战的情况下,给开发人员最大的控制。官方还推出了两个开箱即用的渲染管道来满足开发人员的需要。高清晰度渲染流水线(HD RP)是为有AAA期望的开发人员提供的,而轻量级渲染流水线(LW RP)是为那些寻找美丽和速度组合的人提供的,它还优化了移动设备和类似平台的电池寿命。
因为Unity3D有着强大的功能,现它在全世界已有超过6000万的注册用户在使用,其最显著的优势就是它节省了开发人员跨平台开发所浪费的时间。平台之间的兼容性问题直接影响项目开发进度。因为平台的改变,操作模式、屏幕大小和硬件条件的差异可能会给开发人员造成巨大的时间浪费[5]。许多增加开发时间的问题困扰着每一个开发人员,对于开发人员来说,Unity3D几乎是完美的解决这个问题,大大减少了平台移植所带来的问题,缩短了开发时间。
Unity3D已经作为主流商业开发引擎之一,使用它来开发小区漫游系统是一个很好的选择,而且Unity3D学习版中非商业化的功能也比较全面,可以帮助初学者更好地学习这款引擎。
Unity3D在制作一个虚拟漫游系统上具有许多优势:比如Assets文件夹,可以用来管理漫游系统中所有的文件,包括模型、音乐、脚本语言、图片、音效等;Unity官方提供一些的资源包,其中含有可修改的模型、脚本资源可以辅助开发本漫游系统;Unity3D场景编辑器,可以直观地调整舞台内的物体,包括灯光、相机、物体的刚体模型、碰撞模型;场景的加载速度很快,例如在构建草的过程中,为了节省资源、加速场景渲染速度和提高电脑的运行速度,采用了资源消除法,只有在接近目标模型的时候才会对其细节进行显示[6]。Unity3D因其特有的优化图形渲染管道,使其渲染出的场景模型效果更加精美。刚性物体也通过物理引擎增加高度等等还原的物理性质的属性;开发人员可以自由使用JavaScript、Boo或c#,因为使用MonoDevelop,它的脚本调试使代码非常稳定,可以避免大量的错误;Unity3D支持多种平台,官方还提供专门的技术支持,所有脚本和公共变量都可以在编辑器中查看,并且有丰富的文档和实例介绍,方便开发人员使用。
目 录
1 引言 1
1.1 虚拟漫游系统的背景 1
1.2 虚拟漫游的研究现状 1
2 关键技术介绍 2
2.1 Unity 3D游戏引擎 2
2.2 3DS MAX 8
2.3 Photoshop 8
3 需求分析 9
3.1 项目概述 9
3.2 作品要求 9
3.3 可行性分析 10
3.4 具体的需求分析 11
4 系统设计 12
4.1 概要设计 12
4.2 详细设计 13
5 系统实现 15
5.1 模型的实现 15
5.2 功能的实现 18
6 系统测试 26
6.1 小区漫游测试 27
6.2 碰撞检测 27
6.3 交互功能检测 27
6.4 场景切换测试 27
7 系统发布 28
结 论 29
致 谢 30
参 考 文 献 31
1 引言
1.1 虚拟漫游系统的背景
虚拟漫游技术是虚拟现实技术的主要技术,近些年来已经出现了运用虚拟现实技术通过电脑的模拟真实环境,使用者在辅助设备的帮助下在虚拟漫游场景中进行漫游,并且可以随心所欲的观察虚拟场景的各个角落,使得使用者有身临其境的感觉。由于 *好棒文|www.hbsrm.com +Q: *351916072*
虚拟漫游有沉浸感、交互性和构想性,使其得到了足够重视并有了很大的发展。虚拟漫游的优势在于,脱离了单一的图片展示的套路,让用户有身临其境参观的感受,并且相对于二维,三维的漫游能够展示更精确、细腻的信息,这种特性是纸质媒体所无法达到的[1]。
1.2 虚拟漫游的研究现状
目前,虚拟现实技术已成为信息领域的热门话题,是研究的热门对象,它也是发展最为迅猛的综合了多个科学领域的技术。虚拟现实技术让人与机器的交互更加方便,更人性化,不再是以前单一、被动的交流方式,而且,它为人机交互界面提供了一个新的研发方向,为智能程序应用工程提供了一种新的接口[2],并为电脑机器语言的数据可视化挖掘出一种新的显示方法,它也改变了人们的落后生活方式、工作方式和旧的思想观念。虚拟现实技术已逐渐成为一种文化和艺术融入生活。
虽然与对虚拟现实研究比较深入的国家相比,我国还需要继续努力进行虚拟现实技术的研究,但是政府、科研机构和有关专家已经关注到这个情况,并根据我国的国情,紧跟国际新技术的发展步伐。同时,开发了一系列与虚拟现实技术相关的大型研究项目。数字敦煌在中国大陆的第一个虚拟建设项目,从1993年起,敦煌研究所为敦煌莫高窟的文物信息的保存与美国梅隆基金会和大英图书馆以及其他许多单位进行合作[3]。由于计算机图形学和系统工程等计算机技术的飞速发展,虚拟现实技术受到了人们的广泛关注。研制出了创建分布式虚拟场景模型的虚拟现实系统,该系统的开发正朝着纵横两个不同的方向快速发展。国家科学技术委员会科技工业部将虚拟现实技术列为重点的研究项目,中国的许多大学和研究机构也在虚拟现实的应用和研究上取得了一些研究成果[16]。
现在已经出现运用虚拟现实技术开发完成的游戏,但是由于技术问题,通过辅助设备观看到虚拟的场景还比较粗糙,模拟交互功能的实现还不够灵敏,而且设备也比较昂贵,技术还需要进一步的发展,才能够普及虚拟现实技术。
2 关键技术介绍
2.1 Unity 3D游戏引擎
Unity 3D是一个可用于制作3D视频游戏、建筑可视化和实时3D虚拟漫游系统的综合的引擎。Unity3D是一个跨平台的游戏引擎,具有强大的跨平台性和精美的3D渲染效果。Unity3D是由Unity Technologies公司开发的,该公司近年正在飞速的发展中。
目前Unity 3D的最低版本是Unity 3.x版本,从Unity 2.5开始,Unity 3D就可以跨平台使用了,功能也多了。随着技术的不断发展,Unity3D的版本在今年已经升级至Unity 2018.1,可同时在Windows与Mac OS上运行,多个游戏平台比如Steam就有用Unity 3D开发的游戏,像《坎巴拉太空计划》和《The Long Dark》,并且它大幅度的提升了3D渲染效果 [4]。其新的脚本渲染管道(SRP)将现代硬件和GPU的力量直接放到开发人员和技术艺术家的手中,而不需要消化数百万行C++引擎代码。SRP使得通过C#代码和材质着色器可以很容易地定制呈现管道,在没有编写或修改完整的C++呈现管道的复杂性和挑战的情况下,给开发人员最大的控制。官方还推出了两个开箱即用的渲染管道来满足开发人员的需要。高清晰度渲染流水线(HD RP)是为有AAA期望的开发人员提供的,而轻量级渲染流水线(LW RP)是为那些寻找美丽和速度组合的人提供的,它还优化了移动设备和类似平台的电池寿命。
因为Unity3D有着强大的功能,现它在全世界已有超过6000万的注册用户在使用,其最显著的优势就是它节省了开发人员跨平台开发所浪费的时间。平台之间的兼容性问题直接影响项目开发进度。因为平台的改变,操作模式、屏幕大小和硬件条件的差异可能会给开发人员造成巨大的时间浪费[5]。许多增加开发时间的问题困扰着每一个开发人员,对于开发人员来说,Unity3D几乎是完美的解决这个问题,大大减少了平台移植所带来的问题,缩短了开发时间。
Unity3D已经作为主流商业开发引擎之一,使用它来开发小区漫游系统是一个很好的选择,而且Unity3D学习版中非商业化的功能也比较全面,可以帮助初学者更好地学习这款引擎。
Unity3D在制作一个虚拟漫游系统上具有许多优势:比如Assets文件夹,可以用来管理漫游系统中所有的文件,包括模型、音乐、脚本语言、图片、音效等;Unity官方提供一些的资源包,其中含有可修改的模型、脚本资源可以辅助开发本漫游系统;Unity3D场景编辑器,可以直观地调整舞台内的物体,包括灯光、相机、物体的刚体模型、碰撞模型;场景的加载速度很快,例如在构建草的过程中,为了节省资源、加速场景渲染速度和提高电脑的运行速度,采用了资源消除法,只有在接近目标模型的时候才会对其细节进行显示[6]。Unity3D因其特有的优化图形渲染管道,使其渲染出的场景模型效果更加精美。刚性物体也通过物理引擎增加高度等等还原的物理性质的属性;开发人员可以自由使用JavaScript、Boo或c#,因为使用MonoDevelop,它的脚本调试使代码非常稳定,可以避免大量的错误;Unity3D支持多种平台,官方还提供专门的技术支持,所有脚本和公共变量都可以在编辑器中查看,并且有丰富的文档和实例介绍,方便开发人员使用。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1181.html