本發(fā)明涉及化學(xué)實驗仿真,特別涉及一種基于虛擬現(xiàn)實的化學(xué)實驗仿真系統(tǒng)及方法。
背景技術(shù):
1、化學(xué)實驗室是提供化學(xué)實驗條件及其進(jìn)行科學(xué)探究的重要場所。在這里,實驗人員通過實驗操作,不僅能夠驗證理論知識,還能培養(yǎng)科學(xué)思維和實驗技能。然而,實驗室中也潛藏著不少安全隱患。由于實驗人員技能不熟練,操作不當(dāng),這些隱患可能隨時轉(zhuǎn)化為嚴(yán)重的安全事故。例如,化學(xué)試劑的不當(dāng)混合、實驗設(shè)備的誤操作等,都可能導(dǎo)致火災(zāi)、爆炸甚至中毒等嚴(yán)重后果。因此,確保實驗室安全,提高人們的實驗技能,是教育者和受教育者共同面臨的挑戰(zhàn)。正是在這種背景下,虛擬現(xiàn)實技術(shù)的應(yīng)用顯得尤為重要。通過虛擬現(xiàn)實仿真化學(xué)實驗室,實驗人員可以在一個安全的環(huán)境中進(jìn)行實驗操作,無需擔(dān)心真實實驗中可能出現(xiàn)的危險,同時,這種技術(shù)還能夠提供更加直觀和互動的學(xué)習(xí)體驗,幫助實驗人員更好地掌握化學(xué)實驗技能。
2、盡管虛擬現(xiàn)實技術(shù)在化學(xué)實驗室仿真教學(xué)中的應(yīng)用前景廣闊,但目前市場上的仿真系統(tǒng)功能單一,無法全面模擬真實實驗室中的復(fù)雜環(huán)境和多變條件。而且大多系統(tǒng)只提供了基本的化學(xué)試劑和儀器的簡單操作,缺乏對實驗過程中化學(xué)反應(yīng)的動態(tài)模擬,或者在操作細(xì)節(jié)上缺乏真實感,如實驗器材的精確操作、化學(xué)反應(yīng)的精確模擬等。這些問題限制了仿真系統(tǒng)在教學(xué)中的實際應(yīng)用效果,也影響了人們通過仿真系統(tǒng)學(xué)習(xí)化學(xué)實驗的積極性和效果。因此,開發(fā)一個功能全面、操作真實、能夠滿足教學(xué)需求的化學(xué)實驗室仿真系統(tǒng),對于提高人們的實驗技能和實驗室安全意識具有重要意義。
3、鑒于此,需要一種基于虛擬現(xiàn)實的化學(xué)實驗仿真系統(tǒng)及方法。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)中無法全面模擬真實實驗室中的復(fù)雜環(huán)境和多變條件,且缺乏對實驗過程中化學(xué)反應(yīng)的動態(tài)模擬,進(jìn)而在操作細(xì)節(jié)上缺乏真實感的問題,本發(fā)明提供了一種基于虛擬現(xiàn)實的化學(xué)實驗仿真系統(tǒng)及方法,能夠通過搭建化學(xué)實驗室模型以及化學(xué)儀器模型,并且通過特效和動畫的形式模擬化學(xué)實驗中的各種化學(xué)反應(yīng),實現(xiàn)各項基本的化學(xué)實驗。具體技術(shù)方案如下:
2、一種基于虛擬現(xiàn)實的化學(xué)實驗仿真系統(tǒng),包括:
3、場景搭建單元,采用3d建模和動畫軟件搭建化學(xué)實驗室模型和化學(xué)儀器模型并將其導(dǎo)入游戲引擎中,所述化學(xué)試驗室模型包括桌子,所述化學(xué)儀器模型包括酒精燈;
4、特效單元,包括火苗特效制作模塊,所述火苗特效制作模塊通過游戲引擎的粒子系統(tǒng)模擬火焰效果;
5、碰撞檢測單元,基于游戲引擎進(jìn)行碰撞檢測,當(dāng)觸發(fā)相對應(yīng)的碰撞時,自動觸發(fā)相應(yīng)操作;
6、vr交互單元,包括拾取放置物品模塊和顯隱模塊,所述拾取放置物品模塊建立抓取事件和松開事件,使用手柄將化學(xué)儀器拾取和松開,所述顯隱模塊通過設(shè)置actor在游戲中隱藏直接切換節(jié)點進(jìn)行顯示和隱藏物體,通過不同的碰撞檢測觸發(fā)相對應(yīng)的顯隱。
7、優(yōu)選的,所述拾取放置物品模塊使用手柄將化學(xué)儀器拾取和松開的操作過程具體如下:
8、新建藍(lán)圖接口,新增拾取和松開的函數(shù),拾取的函數(shù)添加輸入?yún)?shù),選擇變量的引腳類型為場景組件;新建藍(lán)圖actor,并設(shè)置碰撞屬性,加入物體拾取和釋放的函數(shù);在vrpawn藍(lán)圖里輸入左右手柄動作,當(dāng)目標(biāo)設(shè)置為靠近物體,判斷還物體是否實現(xiàn)了接口類的方法,再執(zhí)行抓取和松開函數(shù)。
9、優(yōu)選的,所述現(xiàn)已模塊具體操作如下:
10、調(diào)用事件開始執(zhí)行事件,執(zhí)行連接設(shè)置actor在游戲中隱藏,勾選布爾,目標(biāo)連接隱藏actor;調(diào)用碰撞盒子的碰撞重疊事件,類型轉(zhuǎn)換為huochai_2,碰撞檢測是不是huochai_2,object類別連接回object?actor,使用延遲節(jié)點,調(diào)用設(shè)置actor在游戲中隱藏,連接目標(biāo)actor。
11、優(yōu)選的,所述vr交互單元還包括歸位模塊,所述歸位模塊用以實現(xiàn)化學(xué)儀器的還原歸位,其制作過程具體如下:
12、新建布爾變量guiwei、變換變量taeget、浮點變量delta?seconds、浮點變量interp?speed。調(diào)用事件tick執(zhí)行連接一個序列,序列執(zhí)行連接一個分支,在分支里condition連接新建好的guiwei布爾變量,分支true執(zhí)行連接設(shè)置變量delta?second的值,浮點節(jié)點連接事件tick的浮點;
13、調(diào)用設(shè)置actor變換節(jié)點,連接設(shè)置變量delta?second的值,在設(shè)置actor變換節(jié)點中,目標(biāo)連接到所需要?dú)w位的actor,獲取actor的變換,變換t插值到,設(shè)置變量taeget的目標(biāo)變換、變量delta?seconds上次tick后講過的時間、變量interp?speed插值速度;
14、在碰撞盒子的重疊事件,執(zhí)行連接類型轉(zhuǎn)化為yaoping1,碰撞檢測是不是yaoping1,再執(zhí)行連接設(shè)置變量guiwei的值,勾選guiwei。
15、優(yōu)選的,所述火焰特效制作模塊用于制作火焰特效,制作過程如下:
16、火苗材質(zhì)制作:使用ue4里的粒子系統(tǒng)制作火苗,新建一個火苗材質(zhì)球,修改材質(zhì)的混合模式為additive,在用途里勾選使用粒子sprite;導(dǎo)入火苗的紋理圖連接在multiply節(jié)點的b,multiply節(jié)點的a連接一個三維節(jié)點設(shè)置顏色,再將multiply節(jié)點連接到材質(zhì)的自發(fā)光顏色;新建一個一維節(jié)點,修改其值并連接到材質(zhì)的不透明度;
17、在粒子系統(tǒng)的發(fā)射器材質(zhì)里選擇制作好的火苗材質(zhì),修改必需、生成、初始大小、初始速度等數(shù)值得到一個火苗粒子特效。
18、優(yōu)選的,還包括關(guān)卡序列動畫單元,所述關(guān)卡序列動畫模塊用于制作動畫,并在觸發(fā)相對應(yīng)的碰撞時播放動畫,所述關(guān)卡序列動畫單元包括中和反應(yīng)變色制作模塊,所述中和反應(yīng)變色制作模塊用于制作材質(zhì)變色動畫,具體過程如下:
19、新建一個材質(zhì),給材質(zhì)一個基礎(chǔ)顏色,并轉(zhuǎn)換為參數(shù),改名為color;
20、新建一個材質(zhì)參數(shù)集,添加一個向量參數(shù),命名為color,選擇材質(zhì)球,把基礎(chǔ)顏色替換為新建好的材質(zhì)參數(shù)集,并把參數(shù)名選擇color;
21、新建一個關(guān)卡序列,將材質(zhì)參數(shù)集拖入,添加color屬性,修改其顏色值和打關(guān)鍵幀。
22、優(yōu)選的,還包括關(guān)卡序列動畫單元,所述關(guān)卡序列動畫模塊用于制作動畫,并在觸發(fā)相對應(yīng)的碰撞時播放動畫,所述關(guān)卡序列動畫單元包括塑料瓶炸飛制作模塊,所述塑料瓶炸飛制作模塊用于制作塑料瓶炸飛展示動畫,具體過程如下:
23、新建一個藍(lán)圖actor,添加場景組件并將大塑料瓶靜態(tài)網(wǎng)格體作為其子集,添加樣條線,添加函數(shù)命名為fly,添加浮點變量distance,獲取scene的獲取場景位置和旋轉(zhuǎn)節(jié)點,獲取沿樣條線的距離處位置,獲取沿樣條線的距離處旋轉(zhuǎn),目標(biāo)連接樣條線,使用浮點變量distance來控制其位置和旋轉(zhuǎn)變換,枚舉值選擇世界坐標(biāo);
24、選擇變量distance勾選向過場動畫公開,使其暴露到sequence。在構(gòu)造函數(shù)里連接fly函數(shù),讓fly函數(shù)從一開始就計算;
25、編輯樣條線,編輯成所需要的運(yùn)動路線;
26、新建一個sequence,添加變量distance屬性和中繼器事件,對distance的值進(jìn)行打關(guān)鍵幀,匹配事件與關(guān)鍵幀的長度,在事件函數(shù)調(diào)用fly函數(shù),勾選激活事件在編輯器的調(diào)用;
27、利用碰撞檢測來實現(xiàn)實驗操作后播放爆炸擊飛動畫。
28、一種基于虛擬現(xiàn)實的化學(xué)實驗仿真方法,應(yīng)用于如上所述的系統(tǒng),包括如下步驟:
29、通過場景搭建單元搭建化學(xué)實驗室模型和化學(xué)儀器模型,化學(xué)儀器模型包括酒精燈、試管、燃燒匙、集氣瓶、燒杯、火柴、硫、藥匙、玻璃片、廣口瓶;
30、在化學(xué)實驗期間,通過拾取放置物品模塊抓取或放置化學(xué)儀器模型;
31、碰撞檢測單元基于游戲引擎進(jìn)行碰撞檢測,在完成正確的碰撞檢測操作,觸發(fā)特效單元中相對應(yīng)的化學(xué)反應(yīng)粒子特效;
32、通過設(shè)置actor在游戲中隱藏直接切換節(jié)點進(jìn)行顯示和隱藏物體,通過不同的碰撞檢測觸發(fā)相對應(yīng)的顯隱。
33、一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)包括存儲的程序,其中,在程序運(yùn)行時控制所述計算機(jī)可讀存儲介質(zhì)所在設(shè)備執(zhí)行如上所述的智能探測施工方法。
34、一種處理器,所述處理器用于運(yùn)行程序,其中,程序運(yùn)行時執(zhí)行如上所述的智能探測施工方法。
35、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
36、本發(fā)明通過場景搭建單元搭建化學(xué)實驗室模型和化學(xué)儀器模型,在化學(xué)實驗期間,通過拾取放置物品模塊抓取或放置化學(xué)儀器模型,通過碰撞檢測單元進(jìn)行碰撞檢測,在完成正確的碰撞檢測操作,觸發(fā)特效單元中相對應(yīng)的化學(xué)反應(yīng)粒子特效,并且通過設(shè)置actor在游戲中隱藏直接切換節(jié)點進(jìn)行顯示和隱藏物體,通過不同的碰撞檢測觸發(fā)相對應(yīng)的顯隱。進(jìn)而模擬包括硫的燃燒實驗、高錳酸鉀制取氧氣實驗、粉塵爆炸實驗、中和反應(yīng)實驗在內(nèi)的眾多化學(xué)實驗。