王昊煒,王 淋,焦躍軍
(1.徐州醫(yī)科大學(xué) 醫(yī)學(xué)信息與工程學(xué)院,江蘇 徐州 221004;2.新鄉(xiāng)學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453003)
隨著三維建模技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)在醫(yī)學(xué)領(lǐng)域得到了廣泛應(yīng)用[1,2]。病房作為醫(yī)療設(shè)施體系的關(guān)鍵部分,其結(jié)構(gòu)設(shè)計(jì)、室內(nèi)布局等備受關(guān)注[3]。當(dāng)病房的設(shè)計(jì)與醫(yī)院需求相差較大時便會引起難以調(diào)解的矛盾。為了方便給出合理的病房設(shè)計(jì)方案,采用三維建模技術(shù)構(gòu)建三維場景不失為一種有效方法。目前,市場上常見的三維建模軟件有3ds Max、Auto CAD、VRay、Sketch Up等。其中,Discreet公司開發(fā)的3ds Max[4],作為一款基于PC系統(tǒng)的三維動畫渲染和制作軟件,相較其他軟件有不可比擬的優(yōu)越性,已經(jīng)廣泛應(yīng)用于工業(yè)設(shè)計(jì)[5,6]、建筑設(shè)計(jì)[7]、輔助教學(xué)[8,9]等領(lǐng)域。
本文參考現(xiàn)代化醫(yī)院病房結(jié)構(gòu),融合“舒適宜人”“理性實(shí)用”的設(shè)計(jì)理念[10],結(jié)合計(jì)算機(jī)、醫(yī)學(xué)和建筑學(xué)等領(lǐng)域知識,基于3ds Max軟件構(gòu)建病房三維場景,將現(xiàn)代醫(yī)院的雙人間病房作為模擬對象,采用室內(nèi)漫游動畫的形式,全方位展示虛擬病房場景,拓展虛擬病房功能。
本文先通過數(shù)據(jù)采集、數(shù)據(jù)優(yōu)化、模型創(chuàng)建、材質(zhì)添加等步驟構(gòu)建病房三維場景,之后通過攝影機(jī)布置、渲染、動畫導(dǎo)出等步驟完成虛擬病房的場景漫游,具體設(shè)計(jì)流程如圖1所示。
圖1 病房虛擬場景構(gòu)建流程
病房場景的構(gòu)建立足于現(xiàn)代化醫(yī)院普通病房的基本構(gòu)造,部分場景建模數(shù)據(jù)來源于建模前對建模對象的圖像采集,例如病床、座椅、呼吸機(jī)、儲物柜、綠植等。通過圖像采集獲取數(shù)據(jù)后,可以根據(jù)場景中其他建模數(shù)據(jù)調(diào)整相應(yīng)的建模對象數(shù)據(jù)。整體場景建模過程中,在不失真的前提下可以對采集到的數(shù)據(jù)做適當(dāng)修改,以此達(dá)到模擬現(xiàn)實(shí)病房的逼真效果。在采集并優(yōu)化處理數(shù)據(jù)后,即可利用獲取的數(shù)據(jù)進(jìn)行虛擬病房場景建模。
常見的建模方法包括幾何建模法、二維圖形建模法、放樣建模法、布爾建模法、多邊形建模法和NURBS建模法等[11,12]。為方便模型的后續(xù)設(shè)計(jì)及優(yōu)化,在創(chuàng)建虛擬病房三維模型時遵循“精簡數(shù)據(jù)量”的原則,在節(jié)約計(jì)算機(jī)資源的同時可以保持良好的流暢性。如圖2所示,本文創(chuàng)建的三維模型主要包括病床模型、座椅模型、電視機(jī)模型、儲物柜模型、呼吸機(jī)模型、植物盆栽模型、隔簾模型等。部分模型構(gòu)建如下:
圖2 病房的部分線框模型
(1)病床模型。病床由床頭、枕頭、鋁合金護(hù)欄、床墊、萬向剎車輪、餐桌、剛性支架和床尾組成。采用“組”命令將多個基本模型組合成復(fù)雜的病床模型。
(2)座椅模型。在虛擬病房場景中,座椅模型、儲物柜模型和隔簾模型等各有多個相同模型。3ds Max支持導(dǎo)入素材模型,具有兼容性強(qiáng)、素材多樣等特點(diǎn),極大方便了模型的構(gòu)建。本文的座椅模型采用了通用素材。此外,運(yùn)用3ds Max提供的克隆功能及功能齊全的插件,大大減少了場景創(chuàng)建工作量,提高了容錯率。
(3)呼吸機(jī)模型。呼吸機(jī)模型組成性質(zhì)與病床模型相似,均由多個基本模型組合而成,如供氧管、氧氣泵、密封橡膠圈、儀器底座等。同樣采用“組”命令將多個基本模型組合成復(fù)雜的呼吸機(jī)模型。
材質(zhì)是三維世界的重要概念之一,是對真實(shí)世界中各種材質(zhì)視覺效果的模擬,如顏色、感官特性、漫反射、粗糙度、反折射、透明度、粗糙程度等。貼圖為材質(zhì)表面的紋理樣式,不同貼圖會使材質(zhì)表面呈現(xiàn)不同效果。在3ds Max的精簡材質(zhì)編輯器中,可以在材質(zhì)球中添加貼圖。貼圖通過貼圖通道的方式被添加到精簡材質(zhì)編輯器中,之后通過精簡材質(zhì)編輯器將材質(zhì)添加到物體建模表面。本文構(gòu)建的病房場景所采用的部分材質(zhì)貼圖如圖3所示。圖4和圖5分別為呼吸機(jī)和儲物柜的貼圖前、后效果。其中,呼吸機(jī)在貼圖時經(jīng)歷“解組”到“貼圖”再到“組”的過程,其關(guān)鍵是氧氣泵和儀器底座部位的貼圖。氧氣泵貼圖需要為呼吸機(jī)氧氣泵提供標(biāo)尺效果,而儀器底座貼圖需要為儀器底座部分提供旋鈕效果。
圖3 本文用到的部分材質(zhì)貼圖
圖4 呼吸機(jī)的貼圖效果
圖5 儲物柜的貼圖效果
虛擬病房整體場景如圖6所示。場景搭建過程遵循“自下而上,自左向右”的原則,由病房地板到天花板,由病房門到病房內(nèi)部組合墻壁及其附帶模型。虛擬病房場景室內(nèi)燈光使用了目標(biāo)聚光燈與目標(biāo)平行光,并以主光源為主,輔以點(diǎn)綴光源。
圖6 虛擬病房場景效果(正視圖)
動畫一般包括關(guān)鍵幀動畫、約束動畫和高級動畫。關(guān)鍵幀動畫指一定時間內(nèi)對象狀態(tài)發(fā)生變化的過程。約束動畫則通過曲面約束、路徑約束等使對象產(chǎn)生約束效果[13]。高級動畫主要應(yīng)用于角色設(shè)計(jì)。本文采用約束動畫的形式,通過添加攝像機(jī)、設(shè)置渲染參數(shù)等,以第一人稱視角游覽病房場景,以病房房門為起點(diǎn),由外向內(nèi),通過路徑約束攝影機(jī)實(shí)現(xiàn)漫游的效果。
通過移動攝影機(jī)并使用不同焦距的鏡頭可以達(dá)到漫游動畫的效果。將自由攝影機(jī)綁定在設(shè)計(jì)好的軌跡上進(jìn)行渲染即可得到路徑動畫。在此過程中,攝影機(jī)軌跡設(shè)置尤為關(guān)鍵,具體設(shè)置步驟如下:①設(shè)置符合虛擬漫游動畫設(shè)計(jì)的曲線軌跡;②將攝像機(jī)設(shè)置為自由視角攝影機(jī);③將攝影機(jī)移動到曲線軌跡中;④將攝影機(jī)旋轉(zhuǎn)到與線性方向一致的位置;⑤為了獲得較大的瀏覽空間,將攝影機(jī)“鏡頭”設(shè)置為25°至30°。
前文中提到的“精簡數(shù)據(jù)量”原則正是基于渲染速度這一因素考慮。為了得到較好的渲染效果,動畫采用NTSC制式,幀速率設(shè)定為30幀/秒。此外,將虛擬病房的渲染設(shè)置為“產(chǎn)品級渲染模式”,渲染器為“默認(rèn)掃描線渲染器”。部分模型的渲染效果如圖7所示。3ds Max的渲染幀窗口的渲染方法為逐幀渲染,模型的貼圖數(shù)據(jù)量和動畫幀數(shù)的多少或直接影響渲染的速度。
圖7 渲染窗口及部分模型渲染效果
本文實(shí)驗(yàn)的軟件環(huán)境為3ds Max 2016,Windows 10;硬件環(huán)境為Intel i7-9750H,2.60 GHz CPU,渲染動畫共900幀,部分關(guān)鍵幀畫面如圖8所示。漫游動畫可以直觀地觀察到虛擬病房內(nèi)部結(jié)構(gòu),通過調(diào)整自由攝影機(jī)鏡頭角度、設(shè)定自由攝影機(jī)運(yùn)動軌跡等,能夠較好地實(shí)現(xiàn)小規(guī)模場景的漫游效果。與渲染動畫之前的場景相比,渲染后的動畫場景光照充足,貼圖清晰完整,能夠不同角度展現(xiàn)設(shè)計(jì)方案。
圖8 部分關(guān)鍵幀畫面
本文基于3ds Max,通過三維場景構(gòu)建、攝影機(jī)布置、渲染設(shè)置、動畫導(dǎo)出等步驟構(gòu)建虛擬病房。所構(gòu)建的虛擬病房可作為對醫(yī)院設(shè)計(jì)模式的有益補(bǔ)充,為模塊化醫(yī)院設(shè)計(jì)方案提供初步經(jīng)驗(yàn),對提高設(shè)計(jì)效率有較高應(yīng)用價值。不足之處是本文漫游動畫采用3ds Max動畫制作功能以及鏡頭移動采用手動設(shè)置攝影機(jī)軌跡的方式缺乏交互性。后續(xù)工作將實(shí)現(xiàn)三維場景的實(shí)時漫游。