郭靜 朱學江 袁藝標


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