闞紅星 高勇 牛淑萍 胡繼禮 金力 譚紅春

摘 ? 要:針對現在針灸手法教學或訓練中的不足,文章利用建模軟件對人體、銀針模型進行建模,同時利用Unity3D軟件建立3D場景,通過C#語言編寫腳步代碼,開發出針灸手法教學仿真系統。該系統彌補了當前針灸手法教學的不足,極大地提高了針灸教學的效率。
關鍵詞:針灸;教學;Unity3D;虛擬交互
針灸教學在中醫學中占有很重要的地位,一直以來都為中華民族的健康和發展作出了極大的貢獻。促進針灸學的使用、推廣和發展,是中醫針灸造福全人類的關鍵突破口[1]。隨著中醫針灸的不斷進步,針灸醫療師的需求也在不斷地增加。現在的針灸教學及研究主要通過人體經絡腧穴模型、現代仿鑄針灸銅人、臨床或真實人體操作。通過人體針灸模型可以很好地進行針灸的取穴訓練,但是不能體現出用針的深度、力度、針刺效果等其他結果。通過臨床或真實人體操作會有視覺上的約束性,而且穴位的誤取或不準確的針灸手法會導致疼痛、內出血或其他不好的結果,有一定的危險性。
隨著科學技術的發展,本項目開發的系統為針灸教學提供了新的教學思路和方式,直觀、形象的教學模式大大提高了教學效率,同時提升了學生們的積極性和訓練效果。
1 ? ?針灸手法教學仿真系統概述
1.1 ?系統結構設計
本項目采用現在比較流行的開發模式,首先,在3Ds Max建模軟件中建立比較完整的人體和銀針模型。3Ds Max是一個基于PC系統的三維動畫渲染和制作軟件,通過FBX插件,將建立好的模型導入多平臺綜合型游戲開發工具Unity3D中。在Unity3D平臺中,通過C#語言編寫腳本代碼,實現相關的功能。
系統主要是實現3D人體的自由旋轉觀察、銀針的自由移動、角度的旋轉、UI界面顯示取穴名稱、用針深度、角度等功能,如圖1所示。
1.2 ?系統流程
當使用者在操作本系統時,針對不同病癥和穴位,選擇不同的針型和針刺方法,系統會對使用者的操作進行判斷和考核,當操作出現錯誤時,系統會立即做出一些回應,以提醒使用者及時訂正。使用者完成整個操作時,系統將做出正確的反饋,根據使用者操作的穴位數和準確度給出相應的成績,以充分發揮人機的交互功能。
2 ? ?系統關鍵技術
2.1 ?導入使用的素材模型
在本系統中,只需要導入兩個模型,一個是人體3D模型,另一個是銀針模型,直接將模型文件拖入之前在Unity3D軟件中設置好的文件夾中,即可完成模型的導入工作。
Main Camera組件是主攝像機組件,為場景提供攝像機視角,也就是在頁面中觀察的視野范圍。
Directional Light組件是方向光組件,為整個場景提供燈光照明,也可以渲染具體場景,常見的有太陽的光線照射、陰影、氛圍的渲染等。
以上兩個組件是場景的默認組件,且缺一不可,少了攝像機組件,運行程序無法顯示場景;少了燈光組件,場景就會變得黑暗,模糊不清。
2.2 ?系統腳步代碼設計
在Unit3D軟件中,通過編寫腳本代碼來控制物體模型,用以完成相關的動作控制。Unity3D支持的編程語言除了C#之外,還有Boo和JavaScript,這3種程序語言都有不同的優點,且都能達到同樣的目的。C#語言更能體現Unity3D軟件的編程思想,因此,本系統采用C#語言來編寫腳本代碼。
整個系統中需要腳本代碼控制的功能有:3D人體模型的360°上下左右的全方位查看、銀針的自由移動控制、角度的自由轉動、針灸穴位的定位等,及取穴的深度、角度、穴位的名稱等具體信息的UI界面顯示。
針對本系統所要實現的功能,建立了3個腳本程序:GUI Show,Camera Control和Needle Control,其中,GUI Show腳本負責取穴的深度、角度、穴位的名稱等具體信息的UI界面顯示;Camera Control腳本負責3D人體模型的360°上下左右的全方位查看;Needle Control腳本負責銀針的自由移動控制、角度的自由轉動、針灸穴位的定位等。
2.2.1 ?交互界面設計
GUI Show腳本文件負責取穴的深度、角度和穴位的名稱等具體信息的UI界面顯示。交互界面是使用者和本系統進行信息交換的通道,使用者可以進行穴位信息的查看等操作,系統則提供用戶所需要的信息。本系統的交互界面只是簡單展示一些信息和模型等,對界面設計沒有過高的要求,所以直接采用Unity3D自帶的GUI組件即可滿足預定目標要求[2]。
2.2.2 ?3D人體模型的全方位的查看實現
在本系統設計中,腳本代碼執行后可以完成對人體模型的控制,實現對模型的全方位查看。Camera Control腳本文件需要掛載在Main Camera組件上才能控制攝像機組件,具體操作是使用鼠標的右鍵拖動場景進行上下左右旋轉,通過鼠標的滾輪實現放大和縮小場景的功能。因為模擬的穴位模型很小,所以整個人體模型就需要放大,導致整個屏幕無法顯示完全。為解決這個問題,應使用組合鍵Q+鼠標左鍵,選擇攝像機顯示的中心點,以滿足設計要求。同時,設置攝像機顯示的最小和最大顯示距離、鼠標控制的靈敏度等,提高使用者對人體模型查看時的舒適度。
2.2.3 ?銀針功能控制的實現
Needle Control腳本文件負責銀針的自由移動控制、角度的自由轉動、針灸穴位的定位等。項目要求銀針能隨著鼠標的移動而改變位置,針刺的角度是指進針時針身與穴位所在表面的夾角。常見的針刺角度:平、直、斜刺[3]。針刺深度是以針本身刺入腧穴皮膚的深淺來作為量度,針刺的角度、深度都是在這個腳本代碼中控制和計算的,由于篇幅的原因,不再展示具體的代碼。
3 ? ?系統測試評估
為了測試本系統每個模塊的功能,專門請來兩位針灸老師和20位學生進行系統的測試,在測試的過程中發現,輕輕左右移動鼠標時,人體模型旋轉的角度過大,不利于對穴位的精確查找定位。在銀針的移動及旋轉的模塊中也發現了類似問題,所以在腳本代碼程序中增加靈敏度參數,從而調整對人體模型、銀針模型的控制。在進針的角度和深度計算中,涉及角度值Sin和Cos值的切換,利用Unity3D內置的腳本API即可完成角度的計算[4]。系統進行完善后測試的結果良好,基本實現了所設計的所有功能,但是系統還存在一些不足,有待進一步測試與研究。
4 ? ?結語
本系統基于針灸醫學知識,結合先進的計算機技術,具有很大的實用性,可用于針灸教學。本系統可以讓同學們在更為逼真的虛擬環境中對腧穴進行更直觀的認識及操作訓練,使同學們體驗清晰的針刺操作,進而提高學生的動手和探索能力,彌補了當前針灸手法教學的不足,極大地提高了針灸教學的效率。目前系統所實現的功能還比較有限,使用者在使用的過程中,交互界面稍顯簡單,還需要進一步完善。在以后的改進中可以嘗試和VR硬件設備相結合,增強系統的真實性和沉浸感[5],為更多的老師、學生、廣大醫務人員和針灸愛好者等提供服務。
[參考文獻]
[1]喻艷艷,許軍峰.淺談現代醫學對針灸學的影響[J].內蒙古中醫藥,2018(8):100-101.
[2]李兵川.基于Unity 3D游戲開發流程分析[J].山東工業技術,2018(7):148.
[3]蔡曉雯,黃泳,曲姍姍,等.虛擬現實技術在中醫針灸教學中的運用[J].河北中醫,2017(11):1758-1760.
[4]程世沖,歐陽猛,肖茗耀,等.基于Unity3D的針灸教學演示系統設計與開發[J].信息與電腦(理論版),2015(14):89-90.
[5]何玲玲,陳采益,林棟,等.基于VR技術的經絡腧穴學教學應用初探[J].中醫教育,2018(3):38-40,46.
Abstract:In view of the deficiencies in the teaching or training of acupuncture manipulation, this paper uses the modeling software to model the human body and the silver needle model, and uses Unity3D software to establish the 3D scene, and develops the simulation system of acupuncture manipulation teaching by C# language. The system makes up for the deficiency of the current teaching of acupuncture techniques, and greatly improves the efficiency of acupuncture teaching.
Key words:acupuncture; teaching; Unity3D; virtual interaction