基于互联网的轮机虚拟实验室的设计与开发
发布时间:2023-11-24 22:10
虚拟现实技术与互联网通信技术发展迅速,结合了虚拟现实技术的轮机模拟器也日渐成熟并逐渐衍生出许多新的需求,其中互联网多人协作功能与程序运行稳定性及流畅度是需求重点。本文以上述需求作为课题重点,以现有的大连海事大学分布式轮机模拟器作为开发基础,开发出基于虚拟现实技术的全新仿真实验平台:轮机虚拟实验室。首先综述了虚拟现实技术的特征及其在轮机模拟器领域的发展现状,根据轮机模拟器中硬件端的特点,提出了切合实际的功能需求与性能需求。其次,阐述了搭建软件框架过程中应遵循的重要原则并基于发布-订阅机制为轮机虚拟实验室三维端设计了可扩展的软件框架,利用Unity3D引擎及一些辅助工具对虚拟实验室的功能模块进行了设计与开发。研究并分析状态同步与帧同步两种网络同步模型,最终基于帧同步网络模型设计了基本的多人协作框架。在此基础上实现了操作回放功能,并做到了操作记录的持久化保存。最后,针对项目中出现的性能问题进行分析。利用批处理、自定义遮挡剔除等优化方案进行优化,使项目的运行达到一个平稳流畅的状态。相较于传统的轮机模拟器,轮机虚拟实验室的多人协作能够做到不受地域限制,并提供不输于局域网协作模式的反馈体验,解决了...
【文章页数】:105 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
1 绪论
1.1 课题研究背景
1.2 课题研究意义
1.3 虚拟现实技术概述
1.3.1 虚拟现实技术的特点
1.3.2 虚拟现实技术的发展现状
1.4 虚拟现实技术在轮机模拟器上的应用
1.5 本文主要研究内容
2 虚拟实验室系统概述与需求分析
2.1 虚拟实验室系统概述
2.2 系统需求分析
2.2.1 系统的功能需求分析
2.2.2 系统的性能需求分析
2.3 开发环境
3 客户端架构与功能模块的设计
3.1 客户端架构设计
3.1.1 满足功能需求的设计
3.1.2 满足非功能需求的设计
3.1.3 基于事件发布-订阅模型的软件框架设计
3.2 客户端功能模块设计
3.2.1 角色控制器与有限状态机
3.2.2 交互模块
3.2.3 数据管理模块
4 互联网多人协作模块的设计
4.1 网络同步模型的分析与选择
4.1.1 状态同步
4.1.2 帧同步
4.1.3 网络同步模型的选择
4.2 帧同步网络架构的设计
4.2.1 乐观帧锁定算法
4.2.2 帧同步网络模型框架搭建
4.3 技术要点
4.3.1 操作信息的序列化与反序列化
4.3.2 选择低延迟的UDP网络协议
4.4 操作回放功能的实现
4.4.1 操作记录存储与读取
4.4.2 操作回放功能与加速播放
5 虚拟实验室的性能优化
5.1 利用Unity Profiler进行性能分析
5.2 渲染优化
5.2.1 通过批处理技术减少Draw Call
5.2.2 基于角色位置状态迁移的自定义遮挡剔除
5.3 脚本GC优化
5.3.1 基于角色位置迁移的交互点更新优化策略
6 虚拟实验室的功能与性能测试
6.1 系统测试环境
6.2 功能与性能测试
结论与展望
参考文献
附录A Json支持字典发送代码
附录B 人物状态机代码
附录C 移动操作封装代码
致谢
作者简历
本文编号:3866691
【文章页数】:105 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
1 绪论
1.1 课题研究背景
1.2 课题研究意义
1.3 虚拟现实技术概述
1.3.1 虚拟现实技术的特点
1.3.2 虚拟现实技术的发展现状
1.4 虚拟现实技术在轮机模拟器上的应用
1.5 本文主要研究内容
2 虚拟实验室系统概述与需求分析
2.1 虚拟实验室系统概述
2.2 系统需求分析
2.2.1 系统的功能需求分析
2.2.2 系统的性能需求分析
2.3 开发环境
3 客户端架构与功能模块的设计
3.1 客户端架构设计
3.1.1 满足功能需求的设计
3.1.2 满足非功能需求的设计
3.1.3 基于事件发布-订阅模型的软件框架设计
3.2 客户端功能模块设计
3.2.1 角色控制器与有限状态机
3.2.2 交互模块
3.2.3 数据管理模块
4 互联网多人协作模块的设计
4.1 网络同步模型的分析与选择
4.1.1 状态同步
4.1.2 帧同步
4.1.3 网络同步模型的选择
4.2 帧同步网络架构的设计
4.2.1 乐观帧锁定算法
4.2.2 帧同步网络模型框架搭建
4.3 技术要点
4.3.1 操作信息的序列化与反序列化
4.3.2 选择低延迟的UDP网络协议
4.4 操作回放功能的实现
4.4.1 操作记录存储与读取
4.4.2 操作回放功能与加速播放
5 虚拟实验室的性能优化
5.1 利用Unity Profiler进行性能分析
5.2 渲染优化
5.2.1 通过批处理技术减少Draw Call
5.2.2 基于角色位置状态迁移的自定义遮挡剔除
5.3 脚本GC优化
5.3.1 基于角色位置迁移的交互点更新优化策略
6 虚拟实验室的功能与性能测试
6.1 系统测试环境
6.2 功能与性能测试
结论与展望
参考文献
附录A Json支持字典发送代码
附录B 人物状态机代码
附录C 移动操作封装代码
致谢
作者简历
本文编号:3866691
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3866691.html