韓叢梅 李學(xué)孺 劉玲 牟超瓊 宗秀 楊從六 張楊
摘要:從哈尼族民居文化數(shù)字化保護(hù)視角,以云南省紅河州哈尼族民居文化為例,利用3DMax建模手段對哈尼族“蘑菇房”傳統(tǒng)民居屋舍、家具、廚具、樂器、農(nóng)具等進(jìn)行3D建模及數(shù)字化呈現(xiàn),并基于Unity3D三維引擎實(shí)現(xiàn)3D漫游,研究所構(gòu)建的三維場景交互性強(qiáng),能提供人們身臨其境,感受哈尼民居文化的虛擬體驗(yàn)。
關(guān)鍵詞:哈尼族;民居文化;3D建模;Unity3D;虛擬漫游
中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)12-0245-03
Abstract: From the perspective of digitized protection of Hani people's dwelling culture, taking Hani dwelling culture in Honghe Prefecture of Yunnan Province as an example, the Hani Traditional Dwelling Houses of the “mushroom house”, furniture, kitchenware, musical instruments, agricultural implements, etc. presented by 3DMax modeling and in digital way. And based on Unity3D engine to achieve 3Droaming, the three-dimensional scene constructed in the research has a strong interactivity and can provide people with immersive experience and the virtual experience of Hani's residential culture.
Key words: Hani People; Hani Architecture of Residence; 3D Modeling; Unity 3D; Virtual roaming;
1 引言
哈尼族民居文化在我國民居文化中獨(dú)樹一幟,云南省紅河州是我國哈尼族主要聚居地之一,部分村寨仍保存著以“蘑菇房”為典型代表的民居文化。然而,隨著新農(nóng)村建設(shè)步伐的加快,哈尼族獨(dú)有的民居風(fēng)格在新舊事物的不斷變更中正面臨逐漸消失的危險(xiǎn)。本研究擬從哈尼族民居文化數(shù)字化保護(hù)視角,將傳統(tǒng)民居建筑造型及相關(guān)生產(chǎn)生活用具通過3D建模等技術(shù)手段進(jìn)行數(shù)字化呈現(xiàn),并提供人們逼真的虛擬漫游體驗(yàn),以促進(jìn)哈尼族民居文化的傳播。
2 建模方案設(shè)計(jì)
本研究建模過程中綜合使用了Adobe PhotoShop圖像處理軟件、3D Studio Max動(dòng)畫制作軟件以及實(shí)現(xiàn)模型交互呈現(xiàn)的Unity3D三維引擎,哈尼族民居建模及漫游系統(tǒng)構(gòu)建方案如圖1所示:
1)素材采集優(yōu)化。精準(zhǔn)的模型數(shù)據(jù)信息及實(shí)物紋理素材是繪制高仿真度三維模型的前提,因此,在進(jìn)行數(shù)據(jù)及素材采集時(shí),需要盡可能對材質(zhì)紋理、體積、位置、用途等各方面數(shù)據(jù)進(jìn)行精確采集,并將采集數(shù)據(jù)進(jìn)行優(yōu)化整合。
2)3D Max建模。模型創(chuàng)建是整個(gè)設(shè)計(jì)最重要的一步,需對建模物體進(jìn)行結(jié)構(gòu)和形態(tài)的規(guī)劃,對其結(jié)構(gòu)特征分為規(guī)則物體和不規(guī)則物體,對規(guī)則物體采用堆砌建模法,對不規(guī)則物體采用細(xì)分建模法[1]。
3)模型優(yōu)化。在建模的基礎(chǔ)上需對建模的物體進(jìn)行優(yōu)化處理,包括:添加特效、燈光、物理力及渲染工作,以增添模型的真實(shí)感;對模型材質(zhì)的編輯和貼圖,是使模型更加貼近現(xiàn)實(shí)哈尼族民居的器具的現(xiàn)實(shí)狀態(tài)。貼圖是后期優(yōu)化處理的關(guān)鍵,貼圖效果能否體現(xiàn)該模型的作用以及現(xiàn)實(shí)形態(tài)對是仿真效果的一個(gè)評判標(biāo)準(zhǔn)。
此外,為了提高三維場景瀏覽的流暢度及逼真度,需對所構(gòu)建的模型進(jìn)行面數(shù)優(yōu)化和精簡,以減小模型的復(fù)雜度,同時(shí)對模型的表面、材質(zhì)及紋理進(jìn)行處理,以增加模型的逼真度。
4)場景創(chuàng)建及交互漫游。首先,需要?jiǎng)?chuàng)建主角漫游的場景,包括地形的創(chuàng)建,以及樹木,花草等的擺放;其次,導(dǎo)入前期創(chuàng)建的三維模型以及人物;再次,添加區(qū)域光與點(diǎn)光源,創(chuàng)建渲染器并進(jìn)行渲染;再次,進(jìn)行交互設(shè)置,主要是對角色的控制和碰撞檢測技術(shù)的實(shí)現(xiàn);最后進(jìn)行發(fā)布測試及優(yōu)化。
3 模型構(gòu)建及加工處理
3.1模型構(gòu)建
哈尼族民居文化中涉及的“蘑菇房”屋舍、生產(chǎn)工具、生活用具及樂器等建模對象中既有不規(guī)則物體,也有規(guī)則物體,且部分物品弧度彎曲有浮雕花紋,增加了建模的復(fù)雜度。下面以規(guī)則物體“鼓”和不規(guī)則物體“動(dòng)物圖騰”模型構(gòu)建為例對建模過程進(jìn)行簡單介紹:
(1)“鼓”建模。鼓是以中線為對稱軸的物體,在中軸線對稱模型構(gòu)建中,常使用“車削”建模命令,創(chuàng)建過程如下:利用3D Max的“線”命令,在點(diǎn)層級下,單擊鼠標(biāo)確定控制點(diǎn),調(diào)整點(diǎn)的位置以繪制輪廓線,在點(diǎn)層級下的幾何體卷展欄中,選擇“優(yōu)化”命令以實(shí)現(xiàn)對輪廓線添加控制點(diǎn),再使用“擠出”命令以增加其厚度。接著,將輪廓線條轉(zhuǎn)換成可編輯樣條線,確定旋轉(zhuǎn)軸向,調(diào)整旋轉(zhuǎn)角度使用“車削”命令后使截面曲線沿中心軸旋轉(zhuǎn)360°生成一個(gè)對稱的鼓三維模型,最后,添加網(wǎng)格平滑修改器,使鼓造型的輪廓線產(chǎn)生與實(shí)物鼓相似的曲面形狀、飽滿的感覺和光滑的效果[2]。鼓建模中的輪廓繪制及效果如圖2所示:
(2)動(dòng)物圖騰建模。哈尼族以信奉動(dòng)物為主,包括虎,龍,燕,鷹,蛇,狗等眾多動(dòng)物[3],其圖騰雕刻有魚,蛙,白鷴鳥,蟹,蝦,蛇。本模型是由多個(gè)球體組合形成的,表面有凸出的花紋,在這類模型的構(gòu)建當(dāng)中,使用頻率最高的是“置換修改器”。創(chuàng)建方式如下:第一步,用3D Max圖形面板中“標(biāo)準(zhǔn)基本體”下的圓柱體命令;第二步,繪制好圓柱體,修改其邊數(shù),使其比較平滑。調(diào)整高度的參數(shù)值增加其厚度。第三步,使用線命令制作出動(dòng)物輪廓,添加一個(gè)“殼”修改器,并調(diào)整內(nèi)部量或外部量來精確模型的厚度,建構(gòu)出魚,蛙,白鷴鳥,蟹,蝦,蛇等動(dòng)物的模型。動(dòng)物圖騰模型輪廓圖及效果圖如圖4所示。
3.2 模型貼圖、渲染
在貼圖時(shí),根據(jù)所構(gòu)建模型表面的平滑度選擇合適的貼圖方法,平滑表面模型貼圖常使用的是“材質(zhì)編輯器”,可根據(jù)需要貼圖后使物體表面呈現(xiàn)出不同的質(zhì)地、色彩和花紋。以哈尼族生產(chǎn)工具“犁”模型貼圖為例,犁的特點(diǎn):①它是不規(guī)則造型;②木頭表面有被腐蝕現(xiàn)象。所以在犁的制作過程中首先要對“犁”模型進(jìn)行局部分隔處理,分析它的不規(guī)則造型使之構(gòu)建得更加真實(shí),其次,在模型構(gòu)建完成以后,編輯材質(zhì)和進(jìn)行貼圖,使犁表面被腐蝕現(xiàn)象通過貼圖展現(xiàn)。
渲染是三維建模過程中非常重要的一步,在3D Max中渲染主要包括實(shí)時(shí)渲染、最終渲染和快速渲染等。將前文制作好的材質(zhì)和貼圖,以及在環(huán)境光顏色,漫反射光顏色,高光顏色和燈光的作用下對模型進(jìn)行渲染[4],以達(dá)到模型在現(xiàn)實(shí)生活場景中的真實(shí)呈現(xiàn)。本設(shè)計(jì)中采用最終渲染,使燈光和材質(zhì)渲染得更加出色,此插件比3D Max自帶的渲染器渲染得更加的細(xì)膩,富有真實(shí)感。
4 場景創(chuàng)建及交互漫游
在3D Max模型構(gòu)建基礎(chǔ)上,本研究選用Unity3D開發(fā)平臺實(shí)現(xiàn)模型交互及虛擬漫游功能,Unity3D支持多平臺發(fā)布、兼容性好,支持Javascript、C#、Boo等多種腳本語言,同時(shí)擁有強(qiáng)大的編輯器功能[5],是一個(gè)專業(yè)的3D游戲引擎。
在Unity3D中實(shí)現(xiàn)場景還原及虛擬漫游需要經(jīng)過創(chuàng)建場景、引入3D模型、添加燈光、渲染、設(shè)置交互及導(dǎo)出等多個(gè)環(huán)節(jié)。
1)創(chuàng)建場景。場景(Scene)是Unity3D中用來放置3d對象、燈光、相機(jī)的場所,瀏覽者可通過場景視圖觀察到每一個(gè)對象在場景中的位置并進(jìn)行調(diào)整。在Unity3D場景中對三維模型進(jìn)行整合時(shí),需特別注意模型的尺寸、比例及各模型之間的間距,以產(chǎn)生與實(shí)際相符的場景效果。
2)引入3D模型。將在3D max中導(dǎo)出的.fbx格式的模型導(dǎo)入到Unity3D引擎中,并根據(jù)各模型的實(shí)際空間位置及大小,設(shè)置相關(guān)參數(shù)進(jìn)行整合。
3)添加燈光。Unity3D中導(dǎo)入的三維模型,假如場景中沒有添加光效設(shè)置,整個(gè)虛擬環(huán)境將處在黑暗中,Unity3D中通過點(diǎn)光源及環(huán)境光的使用讓場景中的3D渲染模型得以呈現(xiàn)。同時(shí),為了使三維場景更加逼真,還需要在場景中計(jì)算實(shí)時(shí)陰影。
4)設(shè)置相機(jī)。在Unity3D場景中,需添加攝像機(jī)以實(shí)現(xiàn)場景的三維瀏覽,應(yīng)特別注意攝像機(jī)的擺放位置,以通過它能多角度觀察到特定的實(shí)時(shí)場景。用戶在瀏覽場景過程中,可根據(jù)瀏覽需要配合鍵盤快捷鍵的使用進(jìn)行動(dòng)畫相機(jī)的“暫停”和“播放”切換、“加速”或“減速”控制以及進(jìn)行“視角”控制。
5)創(chuàng)建渲染器并渲染。3D模型呈現(xiàn)的最后環(huán)節(jié)是創(chuàng)建渲染器并實(shí)施渲染,渲染器對象負(fù)責(zé)計(jì)算指定相機(jī)角度下瀏覽器中場景的樣子[2],通過創(chuàng)建對象,使計(jì)算機(jī)顯卡渲染場景,從而在屏幕上繪制出3D模型。所有我們看見的物體都是需要渲染的,比如,天空盒,角色模型,場景模型,特效等等。
6)交互設(shè)置。在Unity3D中,瀏覽場景時(shí)的鼠標(biāo)移動(dòng)、拖拽、旋轉(zhuǎn)及碰撞檢測等是常見的交互方式,下面以移動(dòng)交互及碰撞檢測交互為例。
(1)Unity3D中實(shí)現(xiàn)“前后左右”場景瀏覽交互的關(guān)鍵代碼如下:
水平軸(HoriZontal)
Alt Negative But a (A鍵) 按A鍵,檢測函數(shù)返回-1,向左走;
Alt Positive Butt d (D鍵) 按D鍵,檢測函數(shù)返回1,向右走;
Negative Button left (左光標(biāo)鍵“←”)相當(dāng)于按下了A鍵;
Positive Button left (右光標(biāo)鍵“→”)相當(dāng)于按下了D鍵;
垂直軸
Alt Negative But s (S鍵) 按s鍵,向后走;
Alt Positive Butt w (W鍵) 按w鍵,向前走;
Negative Button down (下光標(biāo)鍵“↓”)相當(dāng)于按下了S鍵;
Positive Button up(上光標(biāo)鍵“↑”)相當(dāng)于按下了W鍵;
添加JavaScript代碼
Function start( )
{
var x:float=Input.GetAxis(“Horizontal”);
Time.deltaTimer *speed;
var z:float=Input.GetAxis(“Vertical”);
Time.deltaTimer *speed;
Transform.Translate(x,0,z);
}[3]
(2)碰撞檢測則是模擬現(xiàn)實(shí)環(huán)境中物體與物體發(fā)生碰撞時(shí)的真實(shí)反應(yīng)[6],比如遇到墻壁時(shí),設(shè)置物體的物理屬性以致不會“穿墻而過”,所以主角與墻體、地面、樹木都需要進(jìn)行碰撞檢測。
7)發(fā)布與輸出。Unity3D支持多種方式的發(fā)布和輸出,可根據(jù)需要輸出為通用的“.exe”格式,也可生成網(wǎng)絡(luò)瀏覽文件,發(fā)布到互聯(lián)網(wǎng)上直接通過瀏覽器訪問,實(shí)現(xiàn)在線瀏覽和交互。
5 結(jié)論
在計(jì)算機(jī)虛擬現(xiàn)實(shí)技術(shù)廣泛滲透于社會各領(lǐng)域的今天,網(wǎng)絡(luò)環(huán)境下“虛”、“實(shí)”結(jié)合保護(hù)及傳播非物質(zhì)文化遺產(chǎn)是極其有效和被推崇的途徑之一[2]。本研究從哈尼族民居文化數(shù)字化保護(hù)的視角,采用數(shù)字化的形式,綜合3D虛擬現(xiàn)實(shí)以及文字、圖像、聲音、視頻,動(dòng)畫等多媒體技術(shù)手段,圍繞哈尼族典型民居“蘑菇房”及哈尼族常見的生產(chǎn)用具、生活工具進(jìn)行3D建模,并基于Unity3D實(shí)現(xiàn)三維漫游,可提供人們身臨其境、感受哈尼族民居文化的虛擬體驗(yàn)。
參考文獻(xiàn):
[1]李旭,王世發(fā),慈為濤,司春景,姚江河.基于3DSMAX和Unity3D校園虛擬漫游系統(tǒng)的研究[J]塔里木大學(xué)學(xué)報(bào),2015(2):3-3.
[2]彭榮仙,李學(xué)孺,李婭,徐靜,陶藝品三維建模及交互式呈現(xiàn)研究——以玉溪師院傳習(xí)館陶藝品為例[J].安徽文學(xué),2017(4):1-1.
[3] 龍倮貴.試析哈尼族動(dòng)物圖騰崇拜[J].紅河學(xué)院學(xué)報(bào),2010.8(3):1-1.
[4]王愛麗,程方會.基于3DMAX和Unity3D的三維虛擬產(chǎn)品展示系統(tǒng)[J].電子技術(shù)與軟件工程,2017(03)
[5] 朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(10):1-1.
[6]王彩玲,劉瑞香,宋釗.基于Unity3D的虛擬校園漫游的設(shè)計(jì)與實(shí)現(xiàn)[J.科技視界,2015(07)
[7] 武桐,王曉雨.Unity3D 中碰撞檢測問題的研究[J].電子測試,2018,1:1-1