郭靜 朱學(xué)江 袁藝標(biāo)
【摘 要】該文分析了基礎(chǔ)醫(yī)學(xué)實驗教學(xué)的現(xiàn)狀,闡述了目前基礎(chǔ)醫(yī)學(xué)虛擬仿真系統(tǒng)的特點及Unity3D引擎的特點,分析了在基礎(chǔ)醫(yī)學(xué)實驗教學(xué)中,適合采用Unity3D進行虛擬仿真系統(tǒng)開發(fā)的范圍、開發(fā)流程及關(guān)鍵技術(shù),評價了Unity3D在虛擬仿真系統(tǒng)開發(fā)中的應(yīng)用前景。
【關(guān)鍵詞】Unity3D;虛擬仿真;基礎(chǔ)醫(yī)學(xué)實驗
【Abstract】This paper analyzes the status of basic medical experiment teaching.It describes the characteristics of the current virtual simulation system based medicine and Unity3D.On the basis of analysis of medical experiment teaching,suitable for Unity3D virtual simulation system development scope,the development process and key technologies.This paper evaluated the Unity3D application in a virtual system development.
【Key words】Unity 3D;Virtual;Basic Medical Experiment
1 基礎(chǔ)醫(yī)學(xué)實驗教學(xué)現(xiàn)狀
基礎(chǔ)醫(yī)學(xué)實驗教學(xué)是醫(yī)學(xué)教育能力培養(yǎng)體系的重要組成部分,也是整個教學(xué)過程中理論聯(lián)系實際,培養(yǎng)學(xué)生動手能力、觀察、解決問題能力以及創(chuàng)新能力的重要環(huán)節(jié)[1]?;A(chǔ)醫(yī)學(xué)實驗教學(xué)除帶教教師外,還涉及實驗動物、實驗試劑、實驗器械、實驗儀器、實驗場所等等,受制于上述因素,使得基礎(chǔ)醫(yī)學(xué)的開放實驗難以方便開展;為及時更新實驗項目、推動實驗教學(xué)改革,實驗課時在一定程度得到了壓縮,部分復(fù)雜或經(jīng)典型難以納入常規(guī)實驗教學(xué),不足以滿足高需求的學(xué)習(xí),隨著現(xiàn)代信息技術(shù)的發(fā)展,虛擬仿真實驗的出現(xiàn)極大的緩解了實驗教學(xué)的困擾,成為基礎(chǔ)醫(yī)學(xué)實驗教學(xué)的重要輔助手段之一。
虛擬仿真實驗是在計算機的環(huán)境下,虛擬實驗界面,模擬實驗流程。虛擬實驗擺脫了實驗動物、實驗試劑、器械儀器、實驗場所等限制,使得開放實驗變得便捷、有趣、高效,同時以無消耗的反復(fù)訓(xùn)練,迎合了現(xiàn)代學(xué)生學(xué)習(xí)模式的計算機化、網(wǎng)絡(luò)化的學(xué)習(xí)特點,抓住學(xué)生學(xué)習(xí)興趣的,節(jié)約了人力、物力。目前全國醫(yī)學(xué)院校中,已經(jīng)建成基礎(chǔ)醫(yī)學(xué)虛擬系統(tǒng)的大致包含機能學(xué)虛擬實驗系統(tǒng)、分子生物學(xué)虛擬實驗系統(tǒng)、形態(tài)學(xué)數(shù)碼仿真系統(tǒng)、解剖學(xué)自主學(xué)習(xí)平臺等,它們主要以圖文、flash動畫等媒體加流程控制形式實現(xiàn),仿真度不高、沒有三維空間感、沉浸感。Unity 3D 作為跨平臺游戲開發(fā)引擎,應(yīng)用于虛擬仿真實驗的開發(fā),為虛擬仿真系統(tǒng)帶來了三維空間感覺,進一步提高虛擬實驗系統(tǒng)的仿真度。
2 Unity3D引擎
Unity3D是由Unity Technologies開發(fā)的一個讓玩家輕松創(chuàng)建三維視頻游戲、建筑可視化、實時三維動畫等有互動內(nèi)容的多平臺綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎,是利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件[2-4]。Unity3D很好地支持了3ds Max,當(dāng)模型導(dǎo)入Unity3D后,3ds Max中的標(biāo)準(zhǔn)材質(zhì)會自動轉(zhuǎn)變?yōu)閡nity默認的材質(zhì)球。Unity3D擁有可視直觀的游戲編輯環(huán)境,支持腳本語言包括 JavaScript、C#、Boo,Unit降低了開發(fā)的難度,提高開發(fā)效率,其編輯器可以在Windows 和Mac OS X系統(tǒng)下運行,程序可以發(fā)布至Windows、Mac、iPhone、Android等平臺,亦可通過Unity web player插件,發(fā)布成網(wǎng)頁游戲模式,支持Mac和Windows的網(wǎng)頁瀏覽,是目前最受熱捧的游戲開發(fā)引擎之一,近來被廣泛應(yīng)用于虛擬仿真系統(tǒng)的開發(fā)中。
3 Unity3D在基礎(chǔ)醫(yī)學(xué)虛擬仿真實驗中應(yīng)用
3.1 Unity3D應(yīng)用范圍
Unity3D作為游戲開發(fā)引擎,擅長于對三維場景、三維模型、角色進行控制,可在三維空間輕松完成交互,并可與圖文、動畫、音視頻進行配合,實現(xiàn)較強的三維體驗感,極大激發(fā)學(xué)生的學(xué)習(xí)興趣,因基礎(chǔ)醫(yī)學(xué)實驗教學(xué)內(nèi)容豐富,實驗?zāi)J蕉鄻樱w的面較寬,在Unity3D應(yīng)用于基礎(chǔ)醫(yī)學(xué)虛擬仿真實驗系統(tǒng)開發(fā)時,我們會發(fā)現(xiàn)有些工作Unity3D引擎并不擅長,結(jié)合Unity3D的特性,就基礎(chǔ)醫(yī)學(xué)實驗教學(xué)包含的機能學(xué)、形態(tài)學(xué)、解剖學(xué)三個主要方向,進行分析如下:
機能學(xué)包含生理學(xué)、藥理學(xué)、病理生理學(xué)、生物化學(xué)與分子生物學(xué)等學(xué)科的實驗教學(xué)內(nèi)容。實驗大致可分解動物手術(shù)過程,藥物、刺激因素對血壓、呼吸、泌尿、張力等影響關(guān)系,分子層面實驗流程進展。Unity3D在進行機能學(xué)虛擬實驗開發(fā)時可以構(gòu)建三維實驗場景,可以上學(xué)生在實驗室進行自主漫游,了解實驗室功能分區(qū);可以通過三維交互操作,虛擬動物手術(shù)過程;可以三維環(huán)境下,虛擬使用相關(guān)儀器、器械,可以虛擬分子實驗反應(yīng)結(jié)果;藥物、刺激因素對血壓、呼吸、泌尿、張力等影響關(guān)系可以通過其他方式展現(xiàn)。
形態(tài)學(xué)包含組織學(xué)、胚胎學(xué)、病理學(xué)、病原生物學(xué)、微生物學(xué)、細胞生物學(xué)、免疫學(xué)、遺傳學(xué)等學(xué)科的實驗教學(xué)內(nèi)容。實驗大致可可分解為切片與標(biāo)本學(xué)習(xí)、流程性實驗與操作技術(shù)學(xué)習(xí)、顯微鏡與相關(guān)儀器操作等。切片學(xué)習(xí)主要是對顯微鏡下切片的結(jié)構(gòu)識別,實踐教學(xué)中,通常通過數(shù)字切片圖片庫進行學(xué)習(xí),不適合采用Unity3D進行展現(xiàn),對于大體標(biāo)本的學(xué)習(xí)可以通過三維模型,進行任意角度的觀察學(xué)習(xí),其他部分也適合采用Unity3D進行虛擬仿真系統(tǒng)構(gòu)建。
解剖學(xué)實驗教學(xué)主要是人體解剖結(jié)構(gòu)的識別,運用Unity3D構(gòu)建3D人體,可以按照系統(tǒng)解剖分類,進行解剖結(jié)構(gòu)學(xué)習(xí),同時可以拓展斷層掃描的學(xué)習(xí)。
3.2 Unity3D開發(fā)流程
運用Unity3D進行虛擬仿真系統(tǒng)開發(fā),需遵從軟件工程的思想進行開發(fā)流程設(shè)計,從項目需求分析入手,設(shè)計系統(tǒng)各模塊實現(xiàn)的功能[5]。項目的開發(fā)流程的第一步根據(jù)需求分析,確立各模塊流程腳本文檔,用于指導(dǎo)模塊開發(fā);第二步根據(jù)項目具體需求場景模型采樣、貼圖等素材準(zhǔn)備;第三步通過3ds Max相關(guān)場景、模型及其貼圖、過程動畫的完成;第四步創(chuàng)建Unity3工程,導(dǎo)入3ds Max相關(guān)模型,調(diào)節(jié)燈光與材質(zhì);第五步根據(jù)流程腳本及功能需求進行模型交互程序?qū)崿F(xiàn);第六步進行工程發(fā)布(圖1)。
3.3 關(guān)鍵技術(shù)
3.3.1 場景建模技術(shù)
Unity3D常用建模方式有兩種,一種為通過自身的建模工具完成,另一種是導(dǎo)入3ds Max等第三方模型,Unity3S導(dǎo)入模型格式必須為.fbx。在實際開發(fā)中運用最多的方式是通過3ds Max建模導(dǎo)入到Unity3D工程中,在3ds Max中進行場景建模前,首先需修改3ds Max單位與Unity的比例保持一致,3ds Max系統(tǒng)單位為cm,Unity系統(tǒng)單位為m,需要統(tǒng)一模型比較。模型導(dǎo)出時,需要注意模型的軸向應(yīng)該與3ds Max的世界坐標(biāo)一致,此時調(diào)整模型軸向,把軸在X軸方向旋轉(zhuǎn)90度,導(dǎo)出模型時注意勾選Embed Media (圖2),這樣導(dǎo)出的模型將會在unity中才能自動生成貼圖。
3.3.2 碰撞交互
三維空間的流程性實驗中,模型之間能夠發(fā)生交互,源于模型間的碰撞檢測機制[6]。在Unity 3D中檢測碰撞發(fā)生的方式有兩種:一種是碰撞器,另一種是觸發(fā)器。碰撞器是物體之間相互碰撞,會產(chǎn)生碰撞的效果,觸發(fā)器只是檢測兩個物體有沒有接觸,沒有碰撞效果產(chǎn)生,在虛擬場景中漫游時,如果我們允許漫游者穿透一堵墻,我們可以選擇觸發(fā)器,如果我們希望人被墻阻擋了,我們需要選擇碰撞器,兩種方式的應(yīng)用都非常廣泛,根據(jù)不同功能需求是采用不同的方式。
碰撞器為一組件,它包含了很多種類,如:Box Collider,Capsule Collider等,這些碰撞器應(yīng)用的場合不同,但都必須加到物體上,碰撞信息檢測如下:
A)進入碰撞器:MonoBehaviour.OnCollisionEnter(Collision collisionInfo)
B)退出碰撞器:MonoBehaviour.OnCollisionExit(Collision collisionInfo)
C)停留碰撞器:MonoBehaviour.OnCollisionStay(Collision collisionInfo)
觸發(fā)器,只需要在檢視面板中的碰撞器組件中勾選IsTrigger屬性選擇框即可,觸發(fā)信息檢測:
A)進入觸發(fā)器:MonoBehaviour.OnTriggerEnter(Collider other)
B)退出觸發(fā)器:MonoBehaviour.OnTriggerExit(Collider other)
C)停留觸發(fā)器:MonoBehaviour.OnTriggerStay(Collider other)
4 結(jié)語
國家級虛擬仿真實驗教學(xué)中心建設(shè)工作順應(yīng)了高等教育的發(fā)展趨勢,是高等學(xué)校實驗教學(xué)信息化的最新舉措,必將對我國高等教育質(zhì)量的提高產(chǎn)生積極重要的作用[7]。Unity3D作為一款三維游戲開發(fā)引擎,因其使用便捷、開發(fā)高效,采用Unity3D開發(fā)的虛擬仿真系統(tǒng),仿真度高,沉浸感強,進步提升了學(xué)生的學(xué)習(xí)興趣,促進了實驗教學(xué)改革。據(jù)教育部網(wǎng)站公示,近兩年建成的國家級虛擬仿真實驗教學(xué)中心里,Unity3D被廣泛的應(yīng)用于虛擬仿真系統(tǒng)的開發(fā),受到了一致好評。
【參考文獻】
[1]侯燕芝,王軍,董小黎,郝剛,張利平,童學(xué)紅,尚宏偉.實驗教學(xué)過程規(guī)范化管理的研究與實踐[J].實驗室研究與探索,2012,10:112-114.
[2]方沁.基于Unity和3dmax的虛擬實驗室三維建模設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2015.
[3]Menard M,Shi X M,Li Q.Game Development With Unity[M].Beijing:China Machine Press,2012.
[4]于瀟翔,彭月橙,黃心淵,等.基于 Unity 3D 的道具系統(tǒng)研究與開發(fā)[J].成都理工大學(xué)學(xué)報(自然科學(xué)版),2014,41(4):523-528.
[5]朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2012,10:36-39+65.
[6]周見光,石剛,馬小虎,等.增強現(xiàn)實系統(tǒng)中的虛擬交互方法[J].計算機工程,2012,38(1):251-252,255.
[7]李平,毛昌杰,徐進,等.開展國家級虛擬仿真實驗教學(xué)中心建設(shè)提高高校實驗教學(xué)信息化水平[J].實驗室研究與探索,2013,32(11):5-8.
[責(zé)任編輯:湯靜]