论文部分内容阅读
摘 要: Unity 3D是由Unity Technologies开发的一个综合型游戏开发工具,是一个全面整合的专业3D游戏引擎。本文介绍了一个基于Unity 3D的建筑导览系统。该系统通过Unity 3D三维技术,模仿实体建筑设计出一个三维模型,实现建筑的三维展示,该系统具有良好的视觉和交互效果。
关键词: Unity3D 建筑场景建模 3D场景框架
引言
虚拟漫游技术是虚拟现实技术的重要分支,在建筑、旅游、游戏、航空航天、医学等行业发展很快。虚拟建筑场景漫游或称为建筑场景虚拟漫游是虚拟漫游的代表性方面,是虚拟建筑场景建立技术和虚拟漫游技术的结合。随着计算机图形学的进步和随之快速发展的软硬件技术,虚拟现实技术越来越多地应用在人们的工作、生活、娱乐的方方面面,但是这些离不开计算机多媒体技术的发展,而3D引擎更在其中扮演着重要的角色。3D引擎作为一种底层工具支持着高层图形软件开发,可以把它看做是对3DAPI的封装,对一些图形通用算法的封装,对一些底层工具的封装。利用它可以快速开发出3D应用而不必关心底层的主控程序,如三维场景中的旋转、移动、碰撞、物理效果等应用到数学方面的知识。
本文介绍了基于Unity3D开发技术在三维建筑导览系统中的设计和应用。以现实生活环境中的某一建筑为标的物,在Unity3D环境下以3DMax建模软件为辅助工具实现一个具有一定人机交互能力的建筑导览系统,有利于用户对建筑有更直观的了解。
1.Unity 3D平台
Unity3D是一个由Unity Technologies开发的,可让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件,其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台,也可利用UnityWebPlayer插件发布网页游戏,支持Mac和Windows的网页浏览,它的网页播放器被Mac widgets支持。
Unity3D支持所有主要文件格式,并和大部分相关应用程序协同工作。Unity3D支持三种脚本语言:JavaScript,C#,Boo。我们在用ASP SQLServer开发系统时采用的脚本语言是C#,这使得Unity3D与我们的程序更契合。我们采用这样一个游戏引擎,是希望把三维多视角游戏带到系统交互中来,在这样的环境下,可以多平台呈现我们的作品。Unity3D内置的NVIDIA PhysX物理引擎带给用户良好的互动体验。
2.主要设计流程
2.1系统功能的设计流程
3D建筑导览系统提供的三维浏览功能有利于用户通过网络直观地获取建筑信息,将生活中的场景及建筑物尽量还原重现,用户可以自主控制观察的角度及方向,具有沉浸感。该项目需要的硬件设备包括数码相机一部,双核CPU、2GB内存电脑一台,以及AutoCAD规划总平面图;软件包括AutoCAD、3DMax、Photoshop、Unity3D。在开发过程中需要注意以下设计要求:
2.1.1文件不能太大,要保证大多数普通计算机用户可访问;
2.1.2以相等比例真实缩小实体建筑物,所有重要的场景要尽量真实地表现出来;
2.1.3提供比较人性化的GUI界面便于用户操作,比如“帮助导航”用来给用户提示信息;
2.1.4供用户浏览模式的选择,包括自动漫游、手动漫游;
2.1.5设置导航图方便用户了解建筑物的整体布置情况;
2.1.6配备背景音乐播放,并可以由用户自行设置关;
在此想法下,设计出系统的总体设计流程,如图1所示。
2.2虚拟场景的构建
为了给用户创建一个能使其感受到身临其境、逼真的环境,必要条件之一就是创建一个逼真的虚拟场景。三维建模技术是整个导览系统建立的基础,是所有应用中的一个关键步骤和技术,是整个虚拟现实技术的灵魂。
2.2.1建立地形地貌。建筑构建是一般都要从构建地形地貌开始,包括模拟现实生活里的地形、建筑物及环境。地形和建筑在有了具体的地形数据和建筑高程数据之后,可以在3DMax中根据数据构建,环境部分主要包括天空、树木和花草,这些在Unity3D中有自带的多种模型可以选择。在模型的构建中需要注意的是多边形模型面数的优化。一个建筑导览系统算是比较大的,对模型充分的优化可以减小最后网络文件的大小,有利于用户快速浏览。除模型优化外,在贴图上不仅要注意尽量真实,还要注意贴图文件的大小不要过大,避免影响系统运行速度。
2.2.2纹理素材准备。为了表现一个更真实的虚拟环境,需要用数码相机采集真实物体的表面纹理照片。由数码相机拍摄的照片一般不能直接使用,需要通过专业的图形工具进行处理。本文根据数码相机拍摄的照片,通过Photoshop软件及安装RGB插件,将JPG格式的照片转换为能够识别的RGB格式,再将这些纹理图像加载到纹理调板中供贴图使用。
2.2.3建筑物模型建立及模型纹理贴图
场景中的物体模型可分为2D模型和3D模型。2D模型包括草地、河流、道路等;3D模型包括建筑物、树木等,可以利用Unity3D提供的强大的多边形、矢量建模功能完成模型的建立。在建模的过程中要注意模型数据库的构造要尽可能简单,便于进行遍历操作,模型的多边形数量要尽可能减少。与此同时,纹理贴图用于物体表面的描述,它将复杂的物体表面真实地体现出来。借助纹理贴图,可以用较少的多边形表现复杂的几何形体,从而节省建模时间并减少系统资源的消耗。 3.模块设计与实现
该导览系统采用网站形式呈现最终效果。用户通过鼠标控制第一人称视角,通过键盘的方向键控制移动,在360度视角观察建筑物。在这个过程中,用户能够充分地了解三维建筑模型的信息,包括尺寸、材质和设计风格等。系统按照功能的性质,分为前台服务系统和后台管理系统。
3.1前台服务系统
主要提供用户注册、用户登录、建筑浏览、资料管理等功能。系统前台功能结构图如图2所示。
其中比较基本的模块包括:
3.2.1用户管理模块:用户可以在网站首页的登录框中输入用户名和密码实行登录,当输入的用户名和密码正确则可成功登录,否则将提示登录失败,可重新登录。如未开通账户则注册相应用户后即可登录系统。输入相应的账户和密码,按下登录按钮后,将启动登录验证程序。登录成功,即可进行不同的操作。
3.2.2VIP信息管理模块:用户进入网站首页登录后,点击“会员中心”即可进入“会员中心”页面。这里为用户提供了用户注册信息的查看和修改功能,即用户密码的修改、历史浏览记录、充值服务等。
3.2.3建筑物管理模块:对系统中的建筑物利用数据库进行信息管理,实现基本的增删改查等功能。
3.2.4建筑展示与互动模块:实现最终效果展示,用户浏览记录,用户留言交互等功能。
结语
随着计算机技术的发展,今后的软件开发将更加人性化,各种应用首先要以方便用户使用为前提,如何让用户在电脑上真实地获得更多信息是需要不断努力的。本文利用Unity3D并融于系统的架构角色设计方案,详细分析了系统流程并进行了相应的建模分析。同时,通过此系统的开发,说明Unity3D软件对于虚拟环境的创建是一个实用的工具,不但方便三维建模,更有很强的交互性与实用性。
参考文献:
[1]宣雨松.Unity 3D游戏开发[M].北京.人民邮电出版社,2012.
[2][美]Michelle Menard,史晓明,李强.Unity游戏开发实战[M].机械工业出版社,2012.
[3]祝敏娇.基于Unity3D的虚拟漫游技术的研究[J].硅谷,2012(20):34-35.
[4]朱惠娟.基于Unity3D的虚拟漫游系统[J].计算机系统应用,2012(10):20-22.
[5]于潇翔,彭月橙,黄心渊.基于Unity3D的道具系统研究与开发[J].成都理工大学学报(自然科学版),2014(04):51-53.
基金支持:贵州师范大学2015年度“大学生科研训练计划”项目
关键词: Unity3D 建筑场景建模 3D场景框架
引言
虚拟漫游技术是虚拟现实技术的重要分支,在建筑、旅游、游戏、航空航天、医学等行业发展很快。虚拟建筑场景漫游或称为建筑场景虚拟漫游是虚拟漫游的代表性方面,是虚拟建筑场景建立技术和虚拟漫游技术的结合。随着计算机图形学的进步和随之快速发展的软硬件技术,虚拟现实技术越来越多地应用在人们的工作、生活、娱乐的方方面面,但是这些离不开计算机多媒体技术的发展,而3D引擎更在其中扮演着重要的角色。3D引擎作为一种底层工具支持着高层图形软件开发,可以把它看做是对3DAPI的封装,对一些图形通用算法的封装,对一些底层工具的封装。利用它可以快速开发出3D应用而不必关心底层的主控程序,如三维场景中的旋转、移动、碰撞、物理效果等应用到数学方面的知识。
本文介绍了基于Unity3D开发技术在三维建筑导览系统中的设计和应用。以现实生活环境中的某一建筑为标的物,在Unity3D环境下以3DMax建模软件为辅助工具实现一个具有一定人机交互能力的建筑导览系统,有利于用户对建筑有更直观的了解。
1.Unity 3D平台
Unity3D是一个由Unity Technologies开发的,可让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine,Virtools或Torque Game Builder等利用交互的图形化开发环境为首要方式的软件,其编辑器运行在Windows和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone和Android平台,也可利用UnityWebPlayer插件发布网页游戏,支持Mac和Windows的网页浏览,它的网页播放器被Mac widgets支持。
Unity3D支持所有主要文件格式,并和大部分相关应用程序协同工作。Unity3D支持三种脚本语言:JavaScript,C#,Boo。我们在用ASP SQLServer开发系统时采用的脚本语言是C#,这使得Unity3D与我们的程序更契合。我们采用这样一个游戏引擎,是希望把三维多视角游戏带到系统交互中来,在这样的环境下,可以多平台呈现我们的作品。Unity3D内置的NVIDIA PhysX物理引擎带给用户良好的互动体验。
2.主要设计流程
2.1系统功能的设计流程
3D建筑导览系统提供的三维浏览功能有利于用户通过网络直观地获取建筑信息,将生活中的场景及建筑物尽量还原重现,用户可以自主控制观察的角度及方向,具有沉浸感。该项目需要的硬件设备包括数码相机一部,双核CPU、2GB内存电脑一台,以及AutoCAD规划总平面图;软件包括AutoCAD、3DMax、Photoshop、Unity3D。在开发过程中需要注意以下设计要求:
2.1.1文件不能太大,要保证大多数普通计算机用户可访问;
2.1.2以相等比例真实缩小实体建筑物,所有重要的场景要尽量真实地表现出来;
2.1.3提供比较人性化的GUI界面便于用户操作,比如“帮助导航”用来给用户提示信息;
2.1.4供用户浏览模式的选择,包括自动漫游、手动漫游;
2.1.5设置导航图方便用户了解建筑物的整体布置情况;
2.1.6配备背景音乐播放,并可以由用户自行设置关;
在此想法下,设计出系统的总体设计流程,如图1所示。
2.2虚拟场景的构建
为了给用户创建一个能使其感受到身临其境、逼真的环境,必要条件之一就是创建一个逼真的虚拟场景。三维建模技术是整个导览系统建立的基础,是所有应用中的一个关键步骤和技术,是整个虚拟现实技术的灵魂。
2.2.1建立地形地貌。建筑构建是一般都要从构建地形地貌开始,包括模拟现实生活里的地形、建筑物及环境。地形和建筑在有了具体的地形数据和建筑高程数据之后,可以在3DMax中根据数据构建,环境部分主要包括天空、树木和花草,这些在Unity3D中有自带的多种模型可以选择。在模型的构建中需要注意的是多边形模型面数的优化。一个建筑导览系统算是比较大的,对模型充分的优化可以减小最后网络文件的大小,有利于用户快速浏览。除模型优化外,在贴图上不仅要注意尽量真实,还要注意贴图文件的大小不要过大,避免影响系统运行速度。
2.2.2纹理素材准备。为了表现一个更真实的虚拟环境,需要用数码相机采集真实物体的表面纹理照片。由数码相机拍摄的照片一般不能直接使用,需要通过专业的图形工具进行处理。本文根据数码相机拍摄的照片,通过Photoshop软件及安装RGB插件,将JPG格式的照片转换为能够识别的RGB格式,再将这些纹理图像加载到纹理调板中供贴图使用。
2.2.3建筑物模型建立及模型纹理贴图
场景中的物体模型可分为2D模型和3D模型。2D模型包括草地、河流、道路等;3D模型包括建筑物、树木等,可以利用Unity3D提供的强大的多边形、矢量建模功能完成模型的建立。在建模的过程中要注意模型数据库的构造要尽可能简单,便于进行遍历操作,模型的多边形数量要尽可能减少。与此同时,纹理贴图用于物体表面的描述,它将复杂的物体表面真实地体现出来。借助纹理贴图,可以用较少的多边形表现复杂的几何形体,从而节省建模时间并减少系统资源的消耗。 3.模块设计与实现
该导览系统采用网站形式呈现最终效果。用户通过鼠标控制第一人称视角,通过键盘的方向键控制移动,在360度视角观察建筑物。在这个过程中,用户能够充分地了解三维建筑模型的信息,包括尺寸、材质和设计风格等。系统按照功能的性质,分为前台服务系统和后台管理系统。
3.1前台服务系统
主要提供用户注册、用户登录、建筑浏览、资料管理等功能。系统前台功能结构图如图2所示。
其中比较基本的模块包括:
3.2.1用户管理模块:用户可以在网站首页的登录框中输入用户名和密码实行登录,当输入的用户名和密码正确则可成功登录,否则将提示登录失败,可重新登录。如未开通账户则注册相应用户后即可登录系统。输入相应的账户和密码,按下登录按钮后,将启动登录验证程序。登录成功,即可进行不同的操作。
3.2.2VIP信息管理模块:用户进入网站首页登录后,点击“会员中心”即可进入“会员中心”页面。这里为用户提供了用户注册信息的查看和修改功能,即用户密码的修改、历史浏览记录、充值服务等。
3.2.3建筑物管理模块:对系统中的建筑物利用数据库进行信息管理,实现基本的增删改查等功能。
3.2.4建筑展示与互动模块:实现最终效果展示,用户浏览记录,用户留言交互等功能。
结语
随着计算机技术的发展,今后的软件开发将更加人性化,各种应用首先要以方便用户使用为前提,如何让用户在电脑上真实地获得更多信息是需要不断努力的。本文利用Unity3D并融于系统的架构角色设计方案,详细分析了系统流程并进行了相应的建模分析。同时,通过此系统的开发,说明Unity3D软件对于虚拟环境的创建是一个实用的工具,不但方便三维建模,更有很强的交互性与实用性。
参考文献:
[1]宣雨松.Unity 3D游戏开发[M].北京.人民邮电出版社,2012.
[2][美]Michelle Menard,史晓明,李强.Unity游戏开发实战[M].机械工业出版社,2012.
[3]祝敏娇.基于Unity3D的虚拟漫游技术的研究[J].硅谷,2012(20):34-35.
[4]朱惠娟.基于Unity3D的虚拟漫游系统[J].计算机系统应用,2012(10):20-22.
[5]于潇翔,彭月橙,黄心渊.基于Unity3D的道具系统研究与开发[J].成都理工大学学报(自然科学版),2014(04):51-53.
基金支持:贵州师范大学2015年度“大学生科研训练计划”项目