基于互聯(lián)網的輪機虛擬實驗室的設計與開發(fā)
發(fā)布時間:2023-11-24 22:10
虛擬現(xiàn)實技術與互聯(lián)網通信技術發(fā)展迅速,結合了虛擬現(xiàn)實技術的輪機模擬器也日漸成熟并逐漸衍生出許多新的需求,其中互聯(lián)網多人協(xié)作功能與程序運行穩(wěn)定性及流暢度是需求重點。本文以上述需求作為課題重點,以現(xiàn)有的大連海事大學分布式輪機模擬器作為開發(fā)基礎,開發(fā)出基于虛擬現(xiàn)實技術的全新仿真實驗平臺:輪機虛擬實驗室。首先綜述了虛擬現(xiàn)實技術的特征及其在輪機模擬器領域的發(fā)展現(xiàn)狀,根據(jù)輪機模擬器中硬件端的特點,提出了切合實際的功能需求與性能需求。其次,闡述了搭建軟件框架過程中應遵循的重要原則并基于發(fā)布-訂閱機制為輪機虛擬實驗室三維端設計了可擴展的軟件框架,利用Unity3D引擎及一些輔助工具對虛擬實驗室的功能模塊進行了設計與開發(fā)。研究并分析狀態(tài)同步與幀同步兩種網絡同步模型,最終基于幀同步網絡模型設計了基本的多人協(xié)作框架。在此基礎上實現(xiàn)了操作回放功能,并做到了操作記錄的持久化保存。最后,針對項目中出現(xiàn)的性能問題進行分析。利用批處理、自定義遮擋剔除等優(yōu)化方案進行優(yōu)化,使項目的運行達到一個平穩(wěn)流暢的狀態(tài)。相較于傳統(tǒng)的輪機模擬器,輪機虛擬實驗室的多人協(xié)作能夠做到不受地域限制,并提供不輸于局域網協(xié)作模式的反饋體驗,解決了...
【文章頁數(shù)】:105 頁
【學位級別】:碩士
【文章目錄】:
摘要
Abstract
1 緒論
1.1 課題研究背景
1.2 課題研究意義
1.3 虛擬現(xiàn)實技術概述
1.3.1 虛擬現(xiàn)實技術的特點
1.3.2 虛擬現(xiàn)實技術的發(fā)展現(xiàn)狀
1.4 虛擬現(xiàn)實技術在輪機模擬器上的應用
1.5 本文主要研究內容
2 虛擬實驗室系統(tǒng)概述與需求分析
2.1 虛擬實驗室系統(tǒng)概述
2.2 系統(tǒng)需求分析
2.2.1 系統(tǒng)的功能需求分析
2.2.2 系統(tǒng)的性能需求分析
2.3 開發(fā)環(huán)境
3 客戶端架構與功能模塊的設計
3.1 客戶端架構設計
3.1.1 滿足功能需求的設計
3.1.2 滿足非功能需求的設計
3.1.3 基于事件發(fā)布-訂閱模型的軟件框架設計
3.2 客戶端功能模塊設計
3.2.1 角色控制器與有限狀態(tài)機
3.2.2 交互模塊
3.2.3 數(shù)據(jù)管理模塊
4 互聯(lián)網多人協(xié)作模塊的設計
4.1 網絡同步模型的分析與選擇
4.1.1 狀態(tài)同步
4.1.2 幀同步
4.1.3 網絡同步模型的選擇
4.2 幀同步網絡架構的設計
4.2.1 樂觀幀鎖定算法
4.2.2 幀同步網絡模型框架搭建
4.3 技術要點
4.3.1 操作信息的序列化與反序列化
4.3.2 選擇低延遲的UDP網絡協(xié)議
4.4 操作回放功能的實現(xiàn)
4.4.1 操作記錄存儲與讀取
4.4.2 操作回放功能與加速播放
5 虛擬實驗室的性能優(yōu)化
5.1 利用Unity Profiler進行性能分析
5.2 渲染優(yōu)化
5.2.1 通過批處理技術減少Draw Call
5.2.2 基于角色位置狀態(tài)遷移的自定義遮擋剔除
5.3 腳本GC優(yōu)化
5.3.1 基于角色位置遷移的交互點更新優(yōu)化策略
6 虛擬實驗室的功能與性能測試
6.1 系統(tǒng)測試環(huán)境
6.2 功能與性能測試
結論與展望
參考文獻
附錄A Json支持字典發(fā)送代碼
附錄B 人物狀態(tài)機代碼
附錄C 移動操作封裝代碼
致謝
作者簡歷
本文編號:3866691
【文章頁數(shù)】:105 頁
【學位級別】:碩士
【文章目錄】:
摘要
Abstract
1 緒論
1.1 課題研究背景
1.2 課題研究意義
1.3 虛擬現(xiàn)實技術概述
1.3.1 虛擬現(xiàn)實技術的特點
1.3.2 虛擬現(xiàn)實技術的發(fā)展現(xiàn)狀
1.4 虛擬現(xiàn)實技術在輪機模擬器上的應用
1.5 本文主要研究內容
2 虛擬實驗室系統(tǒng)概述與需求分析
2.1 虛擬實驗室系統(tǒng)概述
2.2 系統(tǒng)需求分析
2.2.1 系統(tǒng)的功能需求分析
2.2.2 系統(tǒng)的性能需求分析
2.3 開發(fā)環(huán)境
3 客戶端架構與功能模塊的設計
3.1 客戶端架構設計
3.1.1 滿足功能需求的設計
3.1.2 滿足非功能需求的設計
3.1.3 基于事件發(fā)布-訂閱模型的軟件框架設計
3.2 客戶端功能模塊設計
3.2.1 角色控制器與有限狀態(tài)機
3.2.2 交互模塊
3.2.3 數(shù)據(jù)管理模塊
4 互聯(lián)網多人協(xié)作模塊的設計
4.1 網絡同步模型的分析與選擇
4.1.1 狀態(tài)同步
4.1.2 幀同步
4.1.3 網絡同步模型的選擇
4.2 幀同步網絡架構的設計
4.2.1 樂觀幀鎖定算法
4.2.2 幀同步網絡模型框架搭建
4.3 技術要點
4.3.1 操作信息的序列化與反序列化
4.3.2 選擇低延遲的UDP網絡協(xié)議
4.4 操作回放功能的實現(xiàn)
4.4.1 操作記錄存儲與讀取
4.4.2 操作回放功能與加速播放
5 虛擬實驗室的性能優(yōu)化
5.1 利用Unity Profiler進行性能分析
5.2 渲染優(yōu)化
5.2.1 通過批處理技術減少Draw Call
5.2.2 基于角色位置狀態(tài)遷移的自定義遮擋剔除
5.3 腳本GC優(yōu)化
5.3.1 基于角色位置遷移的交互點更新優(yōu)化策略
6 虛擬實驗室的功能與性能測試
6.1 系統(tǒng)測試環(huán)境
6.2 功能與性能測試
結論與展望
參考文獻
附錄A Json支持字典發(fā)送代碼
附錄B 人物狀態(tài)機代碼
附錄C 移動操作封裝代碼
致謝
作者簡歷
本文編號:3866691
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3866691.html
最近更新
教材專著