舰船虚拟火灾训练系统系统编码设计(源码)【字数:17413】
摘 要摘 要在当前VR火热流行的大背景下,船舶行业也紧跟时代潮流,决定使用基于VR技术的虚拟船舶火灾训练系统。由于我校在船舶领域具有很强的科研能力,故我们决定在毕业设计时研究开发一个《舰船虚拟火灾训练系统》,希望对我校的船舶研发工作提供支持。由于系统过于庞大,故将系统拆分为几个子模块,由多位同学共同开发。我的课题是在Unity环境中实现船舶防火训练系统中船舶子模型的编码设计和系统的用户管理。编码设计,就是将船舶拆分成各种独立的子模型,设置各种船舶子模型组件的id编码,通过id把各种子模型组合成船舶。实现原理就是通过模型的id把独立存在的子模型关联起来,加载系统各部分子模型场景。功能体现就是用户可以使用不同的子模型创建出不同的船舶,进入不同的船舶场景。用户管理,就是对注册的多个用户可以进行增删查改操作,并且设置用户权限。实现原理就是对用户表的记录进行增删查改,用户表添加一个设置用户权限的字段,根据字段值的不同用来区分管理员和普通用户。功能体现就是普通用户登录,只可以进行“组建船舶”操作,而管理员登录后,还可以进行“用户管理”操作,对用户进行增删查改。关键词Unity3d,虚拟现实,编码设计,用户管理
2.创建、打开项目很简单。你只需将你的工程在Unity中“打开工程”功能中找到工程所在的目录,打开这个工程即可,所有的项目资源文件就会自动加载出来,并且能还原显示项目保存时的编辑窗口位置。这对于继续开发非常友好。
3.功能全面。Unity可以像3dMax那样对一些简单模型进行渲染,对于模型仿真要求不太高的模型可以直接使用Unity自带功能。Unity还可以把Unity项目网页化转化成一个web项目。根据业务需要可以灵活变化。
4.灵活组合,协同开发。通过和其他软件的合作,unity开发就更高效了。模型不用自己建,直接调用建好的即可,这样利于开发时的分工。例如:使用3dMax建里高仿真的模型,unity调用模型,补充了Unity建模不够仿真的不足。
2.3 运行环境
操作系统:Win10 64位专业版。
Unity版本:Unity 5.4.2f2 (64bit)。
第三章 系统分析
3.1可行性分析
3.1.1 社会可行性
当今时代,互 *好棒文|www.hbsrm.com +Q: *351916072*
联网技术更新换代非常快,VR技术又有各种各样的新技术在诞生,人们非常喜欢使用VR技术进行防火训练的便捷高效。体会到了VR技术的美好,人们欣然接受了VR技术在其他方面的使用,各行各业各种各样的工程训练系统将会不断出现,我们只需等待几年,就能看到虚拟船舶防火训练技术实现的功能更强大,应用更简单高效。
我们研发《舰船虚拟火灾训练系统系统编码设计》的目的就是进行网上虚拟防火训练,相信只要我们在研究训练中没有做触犯我国相关法律法规的事,坚决维护我国法律的权威,就不会有社会方面的阻碍存在。
3.1.2 技术可行性
在开发本系统时,我是在Windows 10 Professional版操作系统上,使用Unity3D、C#和SqLite联合开发的。前台游戏界面开发使用Unity3D系统提供的NGUI工具[18];船舶子模型的创建使用的是3dMax[18]建模工具;模型间的关联脚本使用C#[19]代码开发;数据存储使用轻便高效的SqLite数据库[20],可以快速完成对数据的添加、修改、删除、查询等操作;数据库的连接只需使用Unity3D系统提供的API工具类即可轻易连接。总而言之,Unity3D负责界面设计、脚本关联;3dMax负责复杂模型的建模;C#编写后台脚本;SqLite存储数据;Unity3D系统提供的API工具类负责连接数据库、把Unity3D和C#关联在一起[21]。以上几种开发工具功能强大,在当前业内广泛实际应用,因此Unity3D、C#和SqlLite组合开发是开发轻量级游戏的完美组合,从而说明开发本系统在当前技术水平下完全可行。
软件方面技术可行,硬件方面更加可行。因为本系统知只是一个毕业设计而已,系统复杂度不像大型上线系统那么复杂,因此,只需要生活中的电脑设备即可开发。未来硬件的发展将紧跟软件的发展步伐,因此不必担心硬件的可行性。
3.1.3 操作可行性
该系统就是专门为了船上全体人员的防火训练需要而开发的,因此首先的要求就是页面可视化操作的简单易掌握。船员可以在个人笔记本、平板手机等多种设备上随时参加训练,这就得益于Unity系统可以把系统发布成支持多种设备的客户端。总之,该系统界面简洁易操作,所有船员通过短时间的使用就能快速学会如何操作。
3.2需求分析
3.2.1 系统功能模块分析
《舰船虚拟火灾训练系统系统编码设计》是整个《舰船虚拟火灾训练系统》子系统,因此只有一部分功能。《舰船虚拟火灾训练系统系统编码设计》是典型的虚拟船舶防火训练在实践中最为普遍的虚拟工程训练模式。系统主要功能模块有:“注册”、“登录”、“组建船舶”、“船内漫游”、“用户管理”。其中“注册”、“登录”、“组建船舶”、“船内漫游”前后台都可以操作,属于前后台共有的功能;而“用户管理”功能只有管理员用户才有。体现在页面上也就是,普通用户登录后不显示“用户管理”链接,管理员用户登录后才显示。
本系统主要采用的就是Unity框架。我根据大学课程里学到的软件工程知识,我借鉴了书里的软件工程规范,先进行了可行性分析后,再开始需求分析,设计需求文档。首先从船舶的子模型分类划分开始,把船舶分为了甲板、船舱两大主体;又使甲板上含有点火器和灭火器;接着设计船舱内部结构,包括船舱大门、走廊、房间3部分;最后设计房间结构,包括房间门、传感器2部分。到此为止,船舶拆分完毕,每种模型对应一个实体类,数据库里对应一张表。
《舰船虚拟火灾训练系统系统编码设计》主要功能如下:
前台部分(普通用户登录):
首页设计:左、中、上三部分:左侧目录栏,中部显示主窗口,上部显示用户名、退出;
用户模块:用户注册、用户登录、用户退出;
船舶显示:船舶列表、船舶详细;
船体漫游:进入甲板、进入船舱、进入房间、页面返回。漫游过程:点击已经组建好的船舶外观图片,进入该船舶的内部。底层实现过程:通过脚本调用id取出对应的船舶子模型信息,组合拼装在一起,页面显示;
组建船舶:设置船舶名称;选择甲板、点火器、灭火器;选择船舱;选择走廊;选择房间、传感器;保存船舶。组建过程:点击代表“添加”图标进入新建页面,通过下拉列表选择各种子模型,点击“保存”按钮即可保存船舶。一个用户可以使用不同的子模型创建出外观不同的船舶,体现编码设计思想;
2.创建、打开项目很简单。你只需将你的工程在Unity中“打开工程”功能中找到工程所在的目录,打开这个工程即可,所有的项目资源文件就会自动加载出来,并且能还原显示项目保存时的编辑窗口位置。这对于继续开发非常友好。
3.功能全面。Unity可以像3dMax那样对一些简单模型进行渲染,对于模型仿真要求不太高的模型可以直接使用Unity自带功能。Unity还可以把Unity项目网页化转化成一个web项目。根据业务需要可以灵活变化。
4.灵活组合,协同开发。通过和其他软件的合作,unity开发就更高效了。模型不用自己建,直接调用建好的即可,这样利于开发时的分工。例如:使用3dMax建里高仿真的模型,unity调用模型,补充了Unity建模不够仿真的不足。
2.3 运行环境
操作系统:Win10 64位专业版。
Unity版本:Unity 5.4.2f2 (64bit)。
第三章 系统分析
3.1可行性分析
3.1.1 社会可行性
当今时代,互 *好棒文|www.hbsrm.com +Q: *351916072*
联网技术更新换代非常快,VR技术又有各种各样的新技术在诞生,人们非常喜欢使用VR技术进行防火训练的便捷高效。体会到了VR技术的美好,人们欣然接受了VR技术在其他方面的使用,各行各业各种各样的工程训练系统将会不断出现,我们只需等待几年,就能看到虚拟船舶防火训练技术实现的功能更强大,应用更简单高效。
我们研发《舰船虚拟火灾训练系统系统编码设计》的目的就是进行网上虚拟防火训练,相信只要我们在研究训练中没有做触犯我国相关法律法规的事,坚决维护我国法律的权威,就不会有社会方面的阻碍存在。
3.1.2 技术可行性
在开发本系统时,我是在Windows 10 Professional版操作系统上,使用Unity3D、C#和SqLite联合开发的。前台游戏界面开发使用Unity3D系统提供的NGUI工具[18];船舶子模型的创建使用的是3dMax[18]建模工具;模型间的关联脚本使用C#[19]代码开发;数据存储使用轻便高效的SqLite数据库[20],可以快速完成对数据的添加、修改、删除、查询等操作;数据库的连接只需使用Unity3D系统提供的API工具类即可轻易连接。总而言之,Unity3D负责界面设计、脚本关联;3dMax负责复杂模型的建模;C#编写后台脚本;SqLite存储数据;Unity3D系统提供的API工具类负责连接数据库、把Unity3D和C#关联在一起[21]。以上几种开发工具功能强大,在当前业内广泛实际应用,因此Unity3D、C#和SqlLite组合开发是开发轻量级游戏的完美组合,从而说明开发本系统在当前技术水平下完全可行。
软件方面技术可行,硬件方面更加可行。因为本系统知只是一个毕业设计而已,系统复杂度不像大型上线系统那么复杂,因此,只需要生活中的电脑设备即可开发。未来硬件的发展将紧跟软件的发展步伐,因此不必担心硬件的可行性。
3.1.3 操作可行性
该系统就是专门为了船上全体人员的防火训练需要而开发的,因此首先的要求就是页面可视化操作的简单易掌握。船员可以在个人笔记本、平板手机等多种设备上随时参加训练,这就得益于Unity系统可以把系统发布成支持多种设备的客户端。总之,该系统界面简洁易操作,所有船员通过短时间的使用就能快速学会如何操作。
3.2需求分析
3.2.1 系统功能模块分析
《舰船虚拟火灾训练系统系统编码设计》是整个《舰船虚拟火灾训练系统》子系统,因此只有一部分功能。《舰船虚拟火灾训练系统系统编码设计》是典型的虚拟船舶防火训练在实践中最为普遍的虚拟工程训练模式。系统主要功能模块有:“注册”、“登录”、“组建船舶”、“船内漫游”、“用户管理”。其中“注册”、“登录”、“组建船舶”、“船内漫游”前后台都可以操作,属于前后台共有的功能;而“用户管理”功能只有管理员用户才有。体现在页面上也就是,普通用户登录后不显示“用户管理”链接,管理员用户登录后才显示。
本系统主要采用的就是Unity框架。我根据大学课程里学到的软件工程知识,我借鉴了书里的软件工程规范,先进行了可行性分析后,再开始需求分析,设计需求文档。首先从船舶的子模型分类划分开始,把船舶分为了甲板、船舱两大主体;又使甲板上含有点火器和灭火器;接着设计船舱内部结构,包括船舱大门、走廊、房间3部分;最后设计房间结构,包括房间门、传感器2部分。到此为止,船舶拆分完毕,每种模型对应一个实体类,数据库里对应一张表。
《舰船虚拟火灾训练系统系统编码设计》主要功能如下:
前台部分(普通用户登录):
首页设计:左、中、上三部分:左侧目录栏,中部显示主窗口,上部显示用户名、退出;
用户模块:用户注册、用户登录、用户退出;
船舶显示:船舶列表、船舶详细;
船体漫游:进入甲板、进入船舱、进入房间、页面返回。漫游过程:点击已经组建好的船舶外观图片,进入该船舶的内部。底层实现过程:通过脚本调用id取出对应的船舶子模型信息,组合拼装在一起,页面显示;
组建船舶:设置船舶名称;选择甲板、点火器、灭火器;选择船舱;选择走廊;选择房间、传感器;保存船舶。组建过程:点击代表“添加”图标进入新建页面,通过下拉列表选择各种子模型,点击“保存”按钮即可保存船舶。一个用户可以使用不同的子模型创建出外观不同的船舶,体现编码设计思想;
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/817.html