耿曉敏 胡芳睿 王正義 趙夢 王夢迪
摘 要:隨著虛擬現(xiàn)實技術(shù)的崛起,虛擬現(xiàn)實已經(jīng)被越來越多的應(yīng)用于各個領(lǐng)域,尤其在醫(yī)學(xué)領(lǐng)域更是用之甚廣,以針灸虛擬仿真為例,本教學(xué)實踐輔助系統(tǒng)利用HTC VIVE頭盔,通過Unity3D完成交互系統(tǒng)的設(shè)計制作,實現(xiàn)虛擬針灸識穴,辨穴等功能,使其更好的面向針灸推拿愛好者及在校醫(yī)學(xué)生。
關(guān)鍵詞:虛擬現(xiàn)實;Unity3D;3ds MAX;Rhino;HTC VIVE
中圖分類號 TP391.9
虛擬現(xiàn)實是新一代的信息和通信技術(shù),如近眼顯示、感知交互、渲染處理、網(wǎng)絡(luò)傳輸和內(nèi)容制作等,以構(gòu)建新的業(yè)務(wù)類型、跨越云端、滿足用戶現(xiàn)場體驗需求,促進信息消費的擴大和升級以及傳統(tǒng)產(chǎn)業(yè)的整合和創(chuàng)新。
針灸療法大約起源于新石器時期,經(jīng)歷數(shù)千年來長期的醫(yī)療實踐,歷代醫(yī)家不斷的總結(jié)創(chuàng)新,形成了完整的一門學(xué)科——針灸學(xué)。[1]早期的針灸教學(xué)主要通過銅鑄模型輔助教學(xué),雖然模型立體感較強,但是不利于初學(xué)者對未知穴位的查找,于是發(fā)展成為主要依靠圖片訓(xùn)練?,F(xiàn)代新型科技發(fā)展背景下,針灸教學(xué)也實現(xiàn)了質(zhì)的飛躍,運用虛擬仿真輔助訓(xùn)練解決了初學(xué)者的許多難點,顯然虛擬仿真教學(xué)是一個不錯的選擇。[2]
1 虛擬針灸教學(xué)實踐輔助系統(tǒng)設(shè)計
本項目采用Unity 3D為開發(fā)工具,并且基于HTC VIVE頭盔,開發(fā)虛擬針灸教學(xué)實踐輔助系統(tǒng)。
2 輔助系統(tǒng)實現(xiàn)
2.1 3D建模
系統(tǒng)開發(fā)過程中,采用3dsMAX進行模型建立,利用3ds MAX導(dǎo)入背景圖片并將圖片導(dǎo)出線稿圖,創(chuàng)建人體三維線框,利用線框進行人物低模的創(chuàng)建。建模過程中針對人體的四肢五官進行精細化修改,采用相對高模,通過貼圖使得模型更加逼真。利用Sphere模擬人體針灸穴位,導(dǎo)出.OBJ格式,再導(dǎo)入Rhino進行模型修改,使用Rhino中的Pipe命令建立人體經(jīng)絡(luò)模型并與Sphere模擬的穴位進行合并,連接,Text命令標(biāo)注出最后導(dǎo)出.FBX格式,再導(dǎo)入Unity3D中進行組合。
2.2 實踐系統(tǒng)
本系統(tǒng)采用多場景切換來實現(xiàn)交互,使用SteamVR與VRTK插件搭建MainScene,用全景圖做三維空間背景,用Button搭建UI交互界面。導(dǎo)入Dotween即差值動畫插件在代碼中引用,新建空物體命名Iteam用來掛載代碼,給Item新建子物體Quad增加Video Player組件用來動態(tài)加載視頻文件,具體實現(xiàn)代碼如圖2:
為更加高效率完成項目,將重復(fù)使用的模型,采用Prefab,提升系統(tǒng)運行流暢度。[3]對于人體各系統(tǒng)模型與十二經(jīng)絡(luò)本項目將進行多場景搭建,每一條經(jīng)絡(luò)循行路線使用一個場景來進行展示。但是這樣會嚴重占用內(nèi)存,于是本系統(tǒng)采用異步加載的方法加載場景。實現(xiàn)代碼如圖3:
后期會將多場景整合到同一個場景,利用Raycast檢測碰撞體,通過射線檢測按住手柄圓盤并扣動扳機實現(xiàn)場景切換。
2.3 ?Shader
貼圖和一些參數(shù)都是通過材質(zhì)球載入的,材質(zhì)球載入貼圖后就會傳給Shader處理。Shader是整個材質(zhì)球的核心,它里面有必要的功能和算法,通過功能和算法對貼圖及參數(shù)進行處理后就可以使貼圖的各種信息顯示出來,然后把材質(zhì)球賦予模型物體得到目標(biāo)效果。
由于系統(tǒng)自帶著色器顏色過于單一,而我們又想渲染出更加逼真的模型,于是本項目使用Shader Forge插件如圖4。首先將插件導(dǎo)入Unity3D,將材質(zhì)球的Shader設(shè)置成插件對應(yīng)效果,然后打開編輯模式對材質(zhì)球和貼圖進行組合并賦在模型上,將皮膚貼圖的Metallic的參數(shù)調(diào)整為0。
Shader Forge即基于節(jié)點的著色器編輯器,它可讓更輕松地創(chuàng)建自己的著色器,而不需要使用代碼,著色器用于繪制游戲中的物理資源。它們用于確定當(dāng)前渲染物體的表面顏色,通過使用紋理、光源、光色、網(wǎng)格數(shù)據(jù)等信息計算該處的顏色。[4]
將ShaderForge直接拖入到Unity的項目視圖面板或者通過菜單導(dǎo)入,打開Shader Forge操作面板,添加節(jié)點。
2.4 粒子系統(tǒng)
粒子系統(tǒng)用來對穴位美化,烘培光暈特效即使得穴位更加可視化,更加美觀,給體驗者一定的視覺沖擊,令其加強記憶。新建Particle System修改里面的各項參數(shù)并給經(jīng)絡(luò)模型加上Collider使粒子能夠被束縛在Pipe中并沿經(jīng)絡(luò)的路徑進行移動,用來模擬人體生物電的效果。
2.5 交互
本系統(tǒng)對于單個穴位創(chuàng)建Animation添加狀態(tài)機,用Preview錄制關(guān)鍵幀,為每一個穴位添加動畫。模擬穴位的小球初始顏色設(shè)置為紅色,當(dāng)手柄射線點擊到時穴位以動畫的形式最終Sphere變成綠色,效果如圖5:
將調(diào)用粒子系統(tǒng)優(yōu)化穴位的代碼掛載在GameObject上,動態(tài)優(yōu)化各個穴位增加特效,使之更加可視化。
3 結(jié)語
本系統(tǒng)實現(xiàn)了用戶自由點擊每個穴位來模擬針刺,使得用戶能更好的識辨穴位的具體位置以及經(jīng)絡(luò)走向,沉浸于該系統(tǒng)的虛擬環(huán)境中。[5]用戶戴著HTC VIVE頭盔使用手柄即可完成實踐操作練習(xí)。
參考文獻:
[1]袁芳,李彬,張帆,劉璐,郭靜.科學(xué)記憶方法在針灸腧穴教學(xué)中的應(yīng)用[J].繼續(xù)醫(yī)學(xué)教育,2019,33(02):60-62.
[2]劉振波.基于虛擬現(xiàn)實技術(shù)的針灸醫(yī)療訓(xùn)練系統(tǒng)研究[D].浙江大學(xué),2008.
[3]易巧玲,何家勇.基于Unity3D的虛擬校園漫游系統(tǒng)設(shè)計[J].計算機產(chǎn)品與流通,2019(01):246+250.
[4]那遠遠的云端.博客:“ShaderForge插件介紹詳解”.https://blog.csdn.net/wwlcsdn000/article/details/78847745,2017.12.
[5]蔡曉雯,黃泳,曲姍姍,鐘正.虛擬現(xiàn)實技術(shù)在中醫(yī)針灸教學(xué)中的運用[J].河北中醫(yī),2017,39(11):1758-1760.
作者簡介:耿曉敏(1997-),女,漢族,山東濱州人,本科,主要研究方向為醫(yī)學(xué)虛擬現(xiàn)實。