Unity舰船虚拟火灾训练系统船舶子模型设计(3)

此外,运用《舰船虚拟火灾训练系统-系统编码设计》的意义远远不仅是满足了船舶防火训练的需要,其更深远的意义在于:为探索VR技术在各行各业所有的


此外,运用《舰船虚拟火灾训练系统-系统编码设计》的意义远远不仅是满足了船舶防火训练的需要,其更深远的意义在于:为探索VR技术在各行各业所有的工程训练、模拟系统中的应用积累宝贵的经验;推动我国的VR技术在实际生产中的工程训练、模拟系统中的应用的发展,践行“科技是第一生产力”[5]的真理;推动我国的VR技术的整体科技水平,追赶世界顶尖水平;推动我国朝着“科技强国”[6]的目标更近一步,不再过于依赖国外VR技术。

通过使用便捷的互联网,我对国内外虚拟防火训练系统的发展现状也有了大致的了解。经过大量的学习,我决定把基于unity框架的《舰船虚拟火灾训练系统-系统编码设计》的开发项目作为我的毕业设计。该系统负责是在PC平台上运行,具有“组装船舶”、“防火训练”等功能高级智能的自助防火训练系统。希望我的研究课题可以为我国在VR技术的发展道路上提供更多的经验。

1.2 国内外研究现状

1.2.1 国外的研究现状

1.2.2 国内的研究现状

第二章 系统技术--平台--运行环境

2.1 系统的技术介绍

2.1.1 Unity

Unity3D[22]是一个可以轻松创建三维视频游戏、实时三维动画、建筑可视化等互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity3D功能强大,同时支持Windows、Mac、Wii、iPhone[23]、WebGL(需要HTML5)[24]、Windows phone 8和Android平台,面向市场宽广,因此被广泛使用。

此外,我们也可以利用Unity web player[25]插件发布网页游戏,支持Mac[26]和Windows的网页浏览。它的网页播放器也被Mac widgets[27]所支持。

2.1.2 C#

C#和Java一样,也是一种面向对象的编程语言。程序员可以使用C#编写各种各样的基于Microsoft .NET平台[28]的应用。此外,Microsoft .NET还提供了大量的的工具和服务来达到对计算与通讯领域进行最大程度的开发利用[29]。

由于C#优秀的面向对象设计,使它成为构创建各种组件的理想选择,不管是高级的商业对象组件还是系统级的应用程序组件。这些组件可以通过使用C#简单的语言结构,很方便地被转化为XML 网络服务[30]。从而实现可以由任意一种语言在任意类型操作系统上通过Internet对这些组件进行调用。

此外,C#使C++程序员也可以更高效地开发,而不影响C/C++原有的强大功能。因为有这种继承关系,C#和C/C++非常地相似[6],熟悉类似语言的程序员也可以很快的学会C#。

2.1.3 SqLite

本系统需要在存储对象模型数据时使用数据库,经过反复对比思考,选择使用SQLite。选用SQLite就是考虑到它的轻便高效,易于使用和管理,可以随项目代码一起移动,而不必在移动项目到另一台机器时重新运行脚本重新创建数据库,造成原始的测试数据丢失。

SQLite是一款轻型、便捷、遵守ACID、高效的关系型数据库。它内嵌在一个小型的C库里[31]。最开始它的设计目标就是开源、轻便、占用资源低、可移植。因此把它作为一个公有领域项目对全世界免费开放[32]。它的主要应用目标在于嵌入式设备,因为相比其他数据库,在内存受限制的嵌入式设备中,内存成了最宝贵的资源,而SQLite常常只需要占用几百K的内存,远远优于其他动辄上百兆的数据库。因此,现在SQLite已得到了广泛的应用与认可。

此外,SQLite还有很多其他优良特性。第一,跨平台的超强可移植性:它同时支持Windows、Linux、Unix等各种主流系统,在使用中非常方便[33]。第二,超强的扩展范围: 可以支持和C#、PHP、Java等多种编程语言,甚至对ODBC[34]接口也完美支持。第三,超级快的速度:在所有的世界著名的开源数据库管理系统中,SQLite运行速度远高于Mysql等同类型数据库,对于性能要求极高而内存占用量不大的中小型游戏系统完美支持。