摘要:本文針對腰椎間盤突出癥腰椎形態(tài)變化構建了虛擬腰椎展示系統(tǒng)用以科普腰椎間盤突出癥成因。參照脊柱及腰椎間盤突出癥病變結構的多角度平面視圖,利用三維建模軟件Maya建立了脊柱及腰椎間盤突出癥病變結構模型,制作逼真的脊柱及腰椎間盤突出癥病變結構材質。使用Unity3D平臺搭建虛擬系統(tǒng)模擬真實展示環(huán)境,并以HoloLens頭顯和PC端平臺兩種方式進行展示,可以實現實時的視覺和觸覺交互,模擬人工拆卸模型、觀察脊柱形變過程,為用戶提供一種更加逼真、安全、靈活的科普體驗,為腰椎間盤突出病變的成因知識的普及提供了新的途徑。
關鍵詞:虛擬系統(tǒng);腰椎病變;Unity3D;系統(tǒng)設計
中圖分類號:TP399" " " " " " " " " " " " " " " " " 文獻標識碼:B" " " " " " " " " " " " " " " " "DOI:10.3969/j.issn.1006-1959.2024.14.012
文章編號:1006-1959(2024)14-0069-04
Design and Implementation of Lumbar Virtual System Based on Unity3D
LI Xiao-wei,LAN Meng-jia,ZHANG Guo-dong
(School of Public Health and Health Sciences,Tianjin University of Traditional Chinese Medicine,Tianjin 301617,China)
Abstract:In this paper, a virtual lumbar display system was constructed for the morphological changes of lumbar disc herniation to popularize the causes of lumbar disc herniation. Referring to the multi-angle plane view of the pathological structure of the spine and lumbar intervertebral disc herniation, the structural model of the spine and lumbar intervertebral disc herniation was established by using the three-dimensional modeling software Maya, and the realistic structural material of the spine and lumbar intervertebral disc herniation was made. We use Unity3 D platform to build a virtual system to simulate the real display environment, and display it in two ways: HoloLens head display and PC terminal platform. It can realize real-time visual and tactile interaction, simulate artificial disassembly model and observe the process of spinal deformation. It provides users with a more realistic, safe and flexible popular science experience, and provides a new way for the popularization of the knowledge of the causes of lumbar disc herniation.
Key words:Virtual system;Lumbar spine disease;Unity3D;System design
目前,因為久坐、坐姿不當等原因而導致的脊柱退變性疾病如腰椎間盤突出癥目前已成為高發(fā)常見疾病,且呈現不斷年輕化的趨勢,因此推進該病癥在校園及社會面的成因科普顯得尤為重要[1]。然而,在當前的傳統(tǒng)的醫(yī)學教育科普中,以解剖教學、模型觀看和多媒體教學為主的教學模式,使學生難以真正了解到脊柱的真實結構[2]。而虛擬現實技術、混合現實技術作為教育科普領域最前沿具有沉浸感的技術,其交互性和想象力能打破信息世界與物理世界的約束,為解決上述這些問題創(chuàng)造了良好的條件。基于以上背景,本文設計開發(fā)出一款虛擬腰椎系統(tǒng),可以實現實時的視覺和觸覺交互,模擬人工拆卸模型、觀察脊柱形變過程,為用戶提供一種更加逼真、安全、靈活的科普體驗,為腰椎間盤突出病變的成因知識的普及提供了新的途徑。
1腰椎虛擬系統(tǒng)的分析與設計
1.1系統(tǒng)需求分析" 為促進用戶對脊椎結構及腰椎間盤突出癥的了解與認識,在系統(tǒng)的展示內容階段,確立展示內容主要為整體的脊椎和細節(jié)病變部位。在保證科普內容的科學嚴謹以及受眾用戶的范圍選取為中小學學生為主后,需要建立相對真實性的模型和一定逼真程度的材質貼圖[3,4]。為增強用戶的體驗性,又創(chuàng)新加入HoloLens頭顯,以雙平臺的展示方式,推進科普的效果。在系統(tǒng)中,用戶可以手動拆解模型并全方位觀察細節(jié)模型,通過對應的文字介紹了解脊椎的基礎結構和材質,還可以觀察到腰椎病變中脊椎的形變過程。
操作界面選擇Windows 10,利用Maya3D建模軟件,對3D腰椎模型進行創(chuàng)建。在Substance painter材質貼圖軟件進行腰椎模型的材質貼圖,借助開發(fā)系統(tǒng)所使用的Unity3D引擎,通過Mixed Reality Feature Tool搭載虛幻環(huán)境,在Visual Studio 2019的支持下設計和實現了一個功能完善,操作簡便的虛擬系統(tǒng)[5,6]。
1.2模型需求分析及設計" 以7塊頸椎、12塊胸椎、5塊腰椎、1塊骶骨以及1塊尾骨組成的整體脊椎為主,設計加入健康形態(tài)整體模型和病變形態(tài)整體模型,健康模型的組成部分為脊椎骨,正常椎間盤,正常髓核以及正常神經根;病變模型的組成部分為脊椎骨,受損椎間盤,脫出的髓核以及受壓神經根,用以設計動畫功能來展示脊椎整體在健康至病變狀態(tài)時的整體形態(tài)變化,表現腰椎間盤突出癥成因中長期的姿勢不正導致脊椎退行性變化這一因素。整體脊椎模型見圖1,病變部位的細節(jié)結構模型見圖2。
1.3功能需求分析及設計" 系統(tǒng)包括文字介紹模塊、展示模塊和動畫演示模塊,采用PC端和HoloLens端相結合的方式,用戶可以沉浸式觀察健康腰椎和病變腰椎模型細節(jié),通過動畫了解腰椎病變實景及過程,依據標注的文字介紹學習脊椎病變及結構的相關概念和知識。文字介紹模塊:以注視模型顯示文字介紹和滑動長文本介紹框兩大功能組成。用戶可以通過操作目標模型查看對應簡短文字介紹,了解模型的名稱和結構功能。用戶能自主定向選擇滑動長文本框查看本系統(tǒng)的主要功能介紹和腰椎間盤突出癥的成因介紹,依據需求重點查閱目標內容,深入了解腰椎間盤突出癥的成因科普,長文本框可以選擇隱藏或出現操作。展示模塊:以場景切換與放置、模型拆分功能、點擊放置功能和模型隱藏功能四大功能組成。在確認好想要展示模型的區(qū)域后,用戶可以隱藏或顯示除重點展示模型外的其余模型,更有助于對重點模型的觀察和操作。在重點模型上,用戶可以通過鼠標點擊或手指操作拆分模型,360度全方位的觀察模型細節(jié)。動畫演示模塊:以脊椎模型彎曲動畫功能為主,在用按鈕控制模型的動畫播放后,模型由正常形態(tài)轉變至病變形態(tài),整個動畫的過程并不是一個視頻,而是在模型上生成,動畫的前、中和后期模型均處于可交互階段。
2腰椎虛擬系統(tǒng)的實現
2.1腰椎模型建模" 以錐體為例,為構建錐體三維模型,首先需要創(chuàng)建建模使用的參照平面,用以在三視圖中觀察參考模型的各結構細節(jié)。建模的本質是構建模型的點線面,在創(chuàng)建好參考圖層后,在頂視圖中,可以通過Maya建模技術中的創(chuàng)建多邊形工具以描點成線,連線成面的方式描繪參考圖形成模型基礎大型,并用多切割工具勾畫細節(jié),連接頂點生成四邊面以及刪去多余的面。為了后續(xù)模型的正常使用,應盡量將所有面都改成四邊面,建模四邊面已經是工業(yè)認可的標準并且可以避免如動畫的拉伸變形,貼圖的拉伸變形,光照的正確計算等問題,四邊面在建模中方便拓補,方便選擇循環(huán)邊,且布線結構可以模擬模型的各種肌肉紋理,使之可以更加反映真實世界[7,8]。
2.2腰椎的材質貼圖" 構建完模型之后,在Maya中將模型分組賦予軟件自帶的Lambert材質,這一材質可以使模型得到外觀比較平直且不光滑的基礎紋理效果[9],為后期的材質貼圖制作打好基礎。提高材質貼圖的合理性,在紋理制備的準備階段需要對模型進行UV擴展,利用UV信息對曲面進行繪制[10]。在三維空間里,“U”表示地球的X軸,“V”表示地球的Y軸,“W”表示Z軸。UV是UVW的縮寫。UV也被稱為貼圖坐標,也就是紋理坐標,是被用來表現控制影響在被編輯物體上投影的方式[11]。在UV圖像中,UV的每一個像素內都存儲了與紋理中特定像素對應的2D坐標。在三維模型中,使用與三維模型相關的信息,來確定三維模型的紋理貼圖。UV是指把影像中的每個點都準確地與模型對象的表面相匹配。簡單來說,就是將這些東西沿著一定的軸線切割開來,形成一幅平面圖,在圖形軟件中繪制出一條線和一種色彩[12]。處理完成后,可以借助棋盤格參考紋理,檢查模型中棋盤格內正方形的形狀是否方正來判斷模型的劃分區(qū)域是否被賦予了正確的紋理[13]。
2.3系統(tǒng)的功能設計及實現
2.3.1模型拆分功能" 為了增強用戶科普體驗的沉浸性,本系統(tǒng)設計了可雙平臺實現的拆分功能,模擬真實的模型拆卸體驗。在PC端,用戶可通過長按鍵盤空格鍵喚醒虛擬右手,點擊鼠標左鍵,模擬手附帶的遠指針將模擬用戶手指,點擊目標模型遠指針由虛線切換為實線為選中狀態(tài),這時拖拽模型就能實現模型的拆分功能。用戶也可通過操縱鍵盤上的WSADQE鍵移動系統(tǒng)中攝像機的視角,模擬真實的用戶視角,通過前進、后退、左移、右移,上升、下降的操作移動視角靠近模型,或是通過點擊鼠標右鍵并拖動轉動攝像機視角,全方位地觀察模型。當項目配對HoloLens的PIN后就能在HoloLens上運行該項目。拆分功能是本系統(tǒng)的重點功能,通過混合現實插件MRTK中的腳本使“手部和運動控制器”輸入模型的“直接操作”模式,讓用戶可以直接在模型上操作[14]。
2.3.2點擊放置" 為實現模型復雜的空間布置,可借助放置工具在場景中靈活放置模型,幫助用戶按其喜好整理場景中的對象。在PC端,用戶通過鼠標左鍵點擊目標模型喚醒放置功能,長按鼠標右鍵可通過移動鼠標來擺放模型的位置,在確認好位置之后,再次點擊鼠標左鍵,模型確認放置。由于MRTK混合現實插件使項目在HoloLens中的模型便于拆分放置,故該功能只用于PC端,是PC端拆分模型的優(yōu)化版本[15]。功能的實現主要通過使用點擊以放置求解器來重新定位對象,為目標模型配置點擊以放置腳本組件Tap to Place并配置組件,確保該功能的層設置中只包含空間感知層,用以確認模型的初始位置和終止位置[16]。
2.3.3模型隱藏" 本系統(tǒng)的展示內容由模型主體和MRTK按鈕組成。第一個按鈕為模型隱藏按鈕,在PC端,用戶通過長按空格鍵喚醒虛擬手,運用鼠標左鍵點擊“細節(jié)”按鈕隱藏除腰椎間盤突出病變部位模型外的其余模型,方便用戶對該部位模型重點研究觀察。在HoLolens端,用戶可用手輕捏或點擊“細節(jié)”按鈕實現這一功能。
按鈕可以幫助用戶觸發(fā)即時操作,是MRTK的基礎組件之一[17]。而在Unity中,對象使用層次結構系統(tǒng),在該系統(tǒng)中,對象可以成為其他對象的“父級”,通過操作父級,父級層次下的所有子集統(tǒng)一受父級的控制和調配,而有些腳本和功能是通過空對象父級調用其他層父級的子對象實現的,因此不同功能的父級和子對象的組合十分重要。
2.3.4脊椎模型彎曲動畫" 為了直觀表現脊椎病變過程中整體脊柱的彎曲變化過程,并要求模型在該過程的前、中、后期均可交互,本系統(tǒng)設計了脊椎模型彎曲動畫功能。在PC端,用戶通過長按空格鍵喚醒虛擬手,運用鼠標左鍵點擊“動畫”按鈕實現模型的彎曲過程,再次點擊該按鈕模型復位。在HoloLens端,用戶可用手輕捏或點擊“動畫”按鈕實現這一功能。該功能有助于用戶理解腰椎間盤突出癥病變成因中脊柱長期彎曲的不正形態(tài)下誘發(fā)腰椎間盤受損這一因素。
該功能的實現通過創(chuàng)建功能按鍵并調試腳本以及父類對象和子類對象的組合實現[18]。優(yōu)化了腳本代碼,加入了角度變量,使系統(tǒng)識別到擺放后的模型的位移坐標和角度轉換坐標時做出相應變換。
2.3.5注視模型顯示文字介紹" 在PC端,用戶通過移動鼠標箭頭或喚醒虛擬手選擇模型模擬視線注視細節(jié)模型,模型上方的文字預制件內顯示簡短文字介紹并由一根實線與模型鏈接。在HoloLens端,用戶手指指向目標模型,文字介紹浮現。為實現該功能,在項目中,需要創(chuàng)建注釋文字預制件,在Tool Tip Text中編輯需要的文字。接著在需要顯示注釋文字的細節(jié)模型上添加ToolTipSpawner文字提示組件,并在事件中調用添加對應注釋文字預制件。
2.3.6滑動長文本介紹框" 用戶可以通過鼠標左鍵滑動文本框的滾軸,按需滑動選擇介紹文本,重點閱讀所需內容。為實現該功能,首先需要創(chuàng)建基礎UI內的image圖像作為文本的背景和標題,將文本背景設置為透明并為標題創(chuàng)建“介紹”的Text文本,以及為背景添加需要展示的科普內容文本且確認文本內容全部顯示。為使文本內容美觀簡潔地供用戶觀看,為背景添加Scrollbar垂直滾動條。在文字下方創(chuàng)建與垂直滾動條綁定的展示窗口大小的image圖像,添加Mask功能取消勾選Show Mask Graphic顯示蒙版圖形就能隱藏除展示窗口外的其余內容并將展示區(qū)設置為透明背景。
2.3.7場景切換與放置" 用戶通過點擊開始模型實現系統(tǒng)開始界面與展示界面的切換,該功能還能幫助用戶隨意放置模型的展示場景。開始模型中存放了所有展示模型的位置、物理、功能信息,所有的展示模型及其綁定的所有功能組件統(tǒng)一約束為一個空對象Mesh的子對象,開始模型添加Tape To Place點擊放置腳本實現場景位置的精準擺放,并在發(fā)生事件中調用空對象及其以下的所有子對象展示模型。為實現開始模型安置點擊后開始模型消失展示場景出現的場景切換功能,創(chuàng)建新的空對象Change Parent以及場景切換腳本Change Parent,并在Game Object游戲對象中調用存放展示場景的空對象Mesh,Cabe調用開始場景的開始模型[19,20]。
3總結
基于Unity3D、引入混合現實技術的虛擬腰椎系統(tǒng),創(chuàng)新實現了模型拆分、動畫演示、注視文字介紹、場景切換與放置、模型精準點擊放置、長文本滑動介紹框以及模型隱藏功能,相比傳統(tǒng)的教育科普方式,具有交互性強,沉浸感高以及方便快捷等優(yōu)點。這一技術在醫(yī)學教育科普領域的應用,對提升群眾脊椎病理認知具有重要的現實意義,同時對于在脊椎病變相關教學中具有重要參考價值。為國內外其他同類軟件或系統(tǒng)的開發(fā)與實現提供了新的研究思路,帶來了一定的參考意義。
參考文獻:
[1]王鴻,董寶強,王剛,等.密集型銀質針治療非特異性下腰痛多中心隨機對照研究[J].實用中醫(yī)內科雜志,2022,36(2):35-37.
[2]Ract I,Meadeb JM,Mercy G,et al.A review of the value of MRI signs in low back pain[J].Diagnostic and Interventional Imaging,2014,96(3):239-249.
[3]Finch P.Technology Insight:imaging of low back pain[J].Nature Clinical Practice Rheumatology,2006,2(10):554-561.
[4]汪振宇,張松齡,金濤,等.“腰椎間盤突出癥”微課制作心得體會[J].高校醫(yī)學教學研究(電子版),2017,7(1):11-12.
[5]吳晶琳.L4/5椎間盤突出癥危險因素回歸分析[D].南寧:廣西中醫(yī)藥大學,2018.
[6]林文博.基于虛擬現實的生產線仿真關鍵技術研究及其應用[D].杭州:浙江大學,2019.
[7]張慧.互聯網上機械設計虛擬實驗室設計型實驗研究[J].機械設計與研究,2008(4):118-120.
[8]強璐.基于Maya和Unity3D的三維定制鞋系統(tǒng)[D].西安:西安工程大學,2018.
[9]王偉.三維動畫制作軟件Maya的教學[J].藝海,2012,227(6):137-138.
[10]姚駿.MAYA軟件基礎教學之探討——MAYA模型制作完成后的規(guī)范性操作[J].智庫時代,2017,112(13):64-65.
[11]謝巍.淺談Maya動畫制作流程[J].電腦知識與技術,2006(14):156.
[12]王偉.材質與貼圖對三維動畫的影響[J].智庫時代,2017,115(16):91-92.
[13]Anouar R,Ouazzani CA,Akram H,et al.Revolution Mapping with Bump Mapping Support[J].Graphical Models,2018,100:1-11.
[14]馮小浪,左彪,陳淳,等.Unity3D在中醫(yī)學中的教學應用與探索[J].信息與電腦(理論版),2022,34(6):244-246.
[15]徐文芳.基于Unity3D的教育游戲的設計與開發(fā)[D].南昌:江西科技師范大學,2019.
[16]劉文苗,楊雪,王麗,等.基于Maya技術的醫(yī)學虛擬實驗模型構建[J].實驗技術與管理,2011,28(4):76-79.
[17]郭靜,朱學江,袁藝標.Unity3D在基礎醫(yī)學虛擬仿真實驗教學中的運用[J].科技視界,2016,183(24):48-49.
[18]張強.三維重建中紋理映射的研究[D].長沙:中南大學,2009.
[19]朱偉杰,王瓊.材質與貼圖對三維游戲場景的影響[J].現代交際,2015,404(3):129.
[20]韓蕾.基于Unity 3D的虛擬樓盤漫游和碰撞檢測研究[J].電腦知識與技術,2016,12(19):194-195,197.
收稿日期:2023-08-20;修回日期:2023-10-08
編輯/成森