国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

論毛坯房尺寸度量仿真系統(tǒng)開發(fā)

2013-04-29 00:07:24朱錦輝
科技創(chuàng)新導(dǎo)報 2013年9期
關(guān)鍵詞:室內(nèi)裝飾仿真

朱錦輝

摘 要:該文從室內(nèi)裝飾教學(xué)需求出發(fā),以毛坯房尺寸仿真系統(tǒng)開發(fā)為題,介紹了FLASH、Unity3D等開發(fā)方案執(zhí)行思路并對方案的優(yōu)缺點(diǎn)進(jìn)行了分析。其中詳細(xì)介紹了Unity3D方案的研發(fā)過程。

關(guān)鍵詞:室內(nèi)裝飾 仿真 FLASH Unity3D

中圖分類號:TU7 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2013)03(c)-00-02

近年來,房地產(chǎn)行業(yè)持續(xù)升溫,與其密切相關(guān)的室內(nèi)裝飾行業(yè)也受到了帶動,人才需求不斷增加。在這樣的背景下,很多學(xué)校都根據(jù)市場需求開設(shè)了室內(nèi)裝飾專業(yè),以培養(yǎng)更多專業(yè)人才輸送給市場。在教學(xué)執(zhí)行過程中,最讓教師頭痛的是如何提高學(xué)生對施工現(xiàn)場的感性認(rèn)識。

由于安全、管理、交通等問題,讓學(xué)生親臨施工工地學(xué)習(xí)存在很大的執(zhí)行難度。與室內(nèi)裝飾設(shè)計情況類似,建筑施工專業(yè)同樣遇到工地現(xiàn)場教學(xué)的困難,而較為普遍的解決方法就是采用數(shù)字仿真進(jìn)行教學(xué)。通過數(shù)字仿真,學(xué)生可以對工地現(xiàn)場有更深入的了解,而且可以親自動手進(jìn)行仿真操作,學(xué)習(xí)積極性得到了提高。

然而,市場上大部分仿真系統(tǒng)都是針對建筑施工專業(yè)的,專門針對室內(nèi)裝飾的仿真系統(tǒng)基本還是一片空白,有見及此,筆者作為專業(yè)教師就這方面進(jìn)行了深入探討及實(shí)踐,希望開發(fā)出適合室內(nèi)裝飾專業(yè)教學(xué)的仿真系統(tǒng)。

從室內(nèi)裝飾執(zhí)行流程上看,施工現(xiàn)場主要涉及尺寸度量、定位、施工、驗收等幾大環(huán)節(jié),作為數(shù)字仿真系統(tǒng)的探索性開發(fā),筆者選擇了毛坯房尺寸度量作為主題,這主要是因為尺寸度量有一定的互動性,動作重復(fù)性較高,研發(fā)工作量適中。

把毛坯房尺寸度量作為開發(fā)主題后,下一步就是圍繞主題擬定開發(fā)要求。作為仿真系統(tǒng)的開發(fā),首先必須關(guān)注其仿真度,如果不能讓學(xué)生產(chǎn)生身臨其境的感受,就失去了開發(fā)的意義。第二,要具備良好的交互性。

由于毛坯房尺寸度量是一個全屋游走的過程,因此仿真課程必須支持實(shí)時漫游,且必須支持人機(jī)交互。第三,仿真系統(tǒng)能夠支持度量空間的持續(xù)更新,讓學(xué)生可以不斷接觸不同空間的尺寸度量過程。第四,具備擴(kuò)展功能,如果不能支持持續(xù)的修改,系統(tǒng)很快就失去使用價值,最終被淘汰。第五,從仿真系統(tǒng)的推廣來看,要安裝方便,盡量做到直接復(fù)制使用,如果能支持在線使用更好。第六,要有良好的教學(xué)設(shè)計,操作簡單明了。

明確了開發(fā)要求后,下一步就是根據(jù)要求挑選研發(fā)工具。挑選過程中,筆者對不同軟件進(jìn)行了深入了解及對比,還選擇部分軟件制作了案例,具體情況如下。

1 圓方室內(nèi)裝飾設(shè)計系統(tǒng)

圓方是專門針對室內(nèi)裝飾設(shè)計而開發(fā)的以CAD為基礎(chǔ)的系統(tǒng),其優(yōu)點(diǎn)是空間構(gòu)建方便并內(nèi)置了大量家具模型,可以輕松制作漫游動畫,效果真實(shí)??上A方在漫游過程中不能進(jìn)行尺寸度量,且漫游只限于動畫,不支持實(shí)時漫游,因此并不適合作為尺寸度量仿真系統(tǒng)的開發(fā)工具。

2 草圖大師

草圖大師(SketchUp)具備優(yōu)越的平面圖向立體空間轉(zhuǎn)換的性能,且能輕松導(dǎo)入各種家具模型,空間構(gòu)建便捷。草圖大師支持立體空間下的尺寸度量,遺憾的是,其只支持固定路徑漫游,且只能在預(yù)先設(shè)定的點(diǎn)進(jìn)行停留并以固定角度觀察,雖然可作為一種解決方案考慮,但并沒有從根本上解決漫游及尺寸度量的問題,且軟件所制作場景仿真度不高,故仍需尋求進(jìn)一步的解決方案。

3 FLASH

FLASH是網(wǎng)絡(luò)上盛行的矢量動畫制作軟件,由于支持程序腳本嵌入,固其拓展性較強(qiáng),可根據(jù)使用者的需要提供不同的解決方案。

盡管作為二維矢量動畫開發(fā)工具而存在,但實(shí)際上FLASH可以通過加入腳本使其獲得三維展示能力,俗稱Papervision3 d(效果像使用紙板進(jìn)行圍合)。

遺憾的是,網(wǎng)上可找到的資源一般僅限簡單的360全景瀏覽,即站在空間內(nèi)部環(huán)視,不能移動也不能進(jìn)行其他交互操作,雖然存在二次開發(fā)的可能,但需要具備FLASH專業(yè)編程能力,故此解決方案暫不具備執(zhí)行性。

筆者根據(jù)FLASH的特點(diǎn),擬定了其他的解決方案。簡單來說,就是在3 dSMAX等三維軟件中建立模型,把毛坯房各個區(qū)間的環(huán)視過程渲染成圖片序列并導(dǎo)入FLASH,再通過圖片序列播放模擬360全景瀏覽效果,由于每個視覺實(shí)際上只是一幅靜態(tài)圖片,所以可以在圖片中放置一些預(yù)制度量點(diǎn),這些預(yù)制點(diǎn)嵌入了尺寸度量的腳本,并包含了點(diǎn)的三維坐標(biāo),度量時,只要依次點(diǎn)擊不同的度量點(diǎn),就可以獲得所需要的尺寸。

相對于Papervision3 d,此解決方案中的腳本編寫難度要低得多,且度量預(yù)制點(diǎn)間的腳本是一致的,無需逐一編寫。這樣一來,研發(fā)人員實(shí)際上只需在圖片中相應(yīng)位置放置預(yù)制點(diǎn)并輸入對應(yīng)的三維坐標(biāo),即可獲得尺寸度量功能(圖1)。

雖然這樣解決了尺寸度量及仿真效果的問題,但其缺點(diǎn)也是顯而易見的。

首先,由于圖片序列只涉及單個空間的環(huán)視過程,不涉及空間的過渡,所以毛坯房區(qū)間之間只能進(jìn)行跳轉(zhuǎn),不能實(shí)現(xiàn)真正的漫游。其次,制作一套空間需要渲染大量圖片,以一個兩房一廳的毛坯房為例,加上廚衛(wèi)合共5個區(qū)間,為了實(shí)現(xiàn)平滑過渡,對于某一區(qū)間的環(huán)視效果,一般每10度渲染一幅圖片,即一個空間需要渲染36幅圖,一套毛坯房需要渲染180幅圖,如果這些圖片都要求達(dá)到高仿真度的話,那么單是進(jìn)行圖片渲染就需要耗費(fèi)大量時間了。另外,整個仿真系統(tǒng)需要放置大量預(yù)制度量點(diǎn),其工作量也相當(dāng)大。更糟糕的是,一旦需要更換度量空間,以上工作都要重新執(zhí)行,這樣系統(tǒng)的持續(xù)開發(fā)及實(shí)用性就大大降低了。

盡管工作量大,但使用圖片序列導(dǎo)入FLASH進(jìn)行毛坯房尺寸度量仿真系統(tǒng)開發(fā)的確能在一定程度上解決漫游、實(shí)時尺寸度量、高仿真等問題,且便于通過網(wǎng)絡(luò)進(jìn)行推廣,故仍可作為保留方案進(jìn)行考慮。

4 Unity3D

Unity3D是一款網(wǎng)絡(luò)三維游戲開發(fā)工具,近年來在國內(nèi)慢慢普及,一些公司更以其為核心承擔(dān)了各類教學(xué)仿真虛擬軟件的開發(fā),筆者在接觸該軟件后逐漸深入了解,發(fā)現(xiàn)該軟件十分適合進(jìn)行室內(nèi)裝飾仿真系統(tǒng)的開發(fā),這主要是由于軟件本身就是針對三維游戲制作而存在的,具有良好的三維表現(xiàn)能力、交互能力、支持物理引擎。更令人驚喜的是,由Unity3D輸出的成品體積細(xì)小,只要通過安裝一個簡單插件就能流暢地在網(wǎng)絡(luò)上運(yùn)行,對教學(xué)推廣十分有利。

雖然在專業(yè)領(lǐng)域已經(jīng)獲得廣泛應(yīng)用,但作為游戲開發(fā)工具,Unity3D作為業(yè)余軟件并不普及,市面上已出版的相關(guān)教材也很少。盡管如此,對于具備室內(nèi)裝飾專業(yè)背景、普遍掌握3 dSMAX等三維軟件操作的專業(yè)教師來說,Unity3D的操作入門還是比較簡單的,如果同時具備一定的計算機(jī)語言編寫基礎(chǔ),便可以進(jìn)行簡單的仿真系統(tǒng)開發(fā)。使用Unity3D進(jìn)行游戲開發(fā)的流程主要包括:建模—外觀設(shè)置—功能添加—調(diào)試及發(fā)布。由于仿真的場景設(shè)定為毛坯房,所以對外觀沒有太多要求,外觀設(shè)置環(huán)節(jié)可以省略,其余流程的主要研發(fā)過程如下。

(1)建模

Unity3D自帶了一些簡單幾何體的創(chuàng)建能力,也附帶了一些游戲模型,但總的來說其不是專門的建模工具,一般的開發(fā)思路是從三維軟件中建模,然后導(dǎo)入到Unity3D。筆者使用3 dSMAX對毛坯房的模型進(jìn)行創(chuàng)建,然后借助安裝FBX格式輸出插件,就可以輸出成Unity3D專用格式,然后導(dǎo)入到場景中。值得一提的是,通過插件輸出的模型是不附帶材質(zhì)信息的,必須在Unity3D對模型再次賦予材質(zhì),所以建模時不必考慮材質(zhì)問題。

(2)功能添加

首先是漫游功能。令人欣喜的是,Unity3D已自帶了名為“First Person Controller”的控件,該控件包括一個角色控制器和一個攝像機(jī),同時整合了行走、攝像機(jī)旋轉(zhuǎn)等功能,只需要簡單地將其放置于場景中,就可以輕松實(shí)現(xiàn)漫游功能,無需再自行研發(fā)。

除了少量自帶控件外,Unity3D的多數(shù)功能都需要通過腳本來實(shí)現(xiàn),在Unity3D中,腳本是以模塊的形式添加至操作對象上的,可視為物體中的一個獨(dú)立組件,而一個物體可以包含多個彼此獨(dú)立的腳本模塊,也就是說,操作對象的各種功能可以通過彼此獨(dú)立的各個腳本模塊實(shí)現(xiàn),這樣一來,如果需要添加哪種功能,只需添加相應(yīng)腳本模塊就可以了。接下來的問題是腳本模塊的來源問題,從頭編寫腳本當(dāng)然是其中一個可行的辦法,但這要求開發(fā)人員對JavaScript(Unity3D主流程序語言)十分熟悉,門檻較高。另外一個解決辦法就是通過修改現(xiàn)成的腳本模塊實(shí)現(xiàn)所需功能,這只需要開發(fā)人員掌握基本的程序知識即可。

現(xiàn)成的腳本模塊可以從諸如Unity3D大中華社區(qū)等專題論壇進(jìn)行搜索及下載,筆者在開發(fā)初期就下載了大量簡單實(shí)用的腳本模塊,并通過修改和重新整合這些模塊順利地完成后續(xù)的開發(fā)工作。在收集到若干基本功能腳本模塊后,就可以開始進(jìn)行功能開發(fā)了。這里先要確立開發(fā)思路,筆者在研發(fā)初期沿用了FLASH預(yù)制點(diǎn)的思路,把功能腳本嵌入到預(yù)制度量點(diǎn)內(nèi),通過鼠標(biāo)點(diǎn)擊預(yù)制度量點(diǎn)并測量其空間間距以獲得所需度量的尺寸。

在對收集回來的腳本模塊進(jìn)行重組并修改后,筆者實(shí)現(xiàn)了該功能,但同時也察覺到該解決方案還有可以改進(jìn)的空間。首先,盡管進(jìn)行尺寸度量時都是圍繞空間角點(diǎn)及構(gòu)造端點(diǎn),但如果能對墻體的任意兩點(diǎn)進(jìn)行度量的話感覺會更真實(shí)。

另外,雖然比起在FLASH中對每幅圖片都安插預(yù)制度量點(diǎn)來說,Unity3D每個空間只需布置一次的預(yù)制度量點(diǎn),但一旦更換空間模型,仍需對預(yù)制點(diǎn)進(jìn)行重新布置,使用起來并不方便。筆者在實(shí)現(xiàn)預(yù)制點(diǎn)方案的過程中,發(fā)現(xiàn)使用Physics.Raycast函數(shù)可以輕松對視線范圍內(nèi)物體表面的任何點(diǎn)進(jìn)行定位,這樣只需要通過鼠標(biāo)對毛坯房空間中任意兩點(diǎn)進(jìn)行定位,通過測定兩點(diǎn)間的距離就可以輕松實(shí)現(xiàn)尺寸度量功能,而不需要使用預(yù)制點(diǎn)。

在這樣的指導(dǎo)思想下,筆者順利地編寫出名為“PICK.js”的功能腳本。在制作過程中,先導(dǎo)入毛坯房空間模型,再把“PICK.js”腳本作為模塊控件加入模型中,便能計算出墻體不同點(diǎn)之間的距離。

雖然只需簡單地點(diǎn)擊鼠標(biāo)便能獲取點(diǎn)與點(diǎn)之間的距離,但是為了盡量地貼近真實(shí),還要加入使用尺子度量的過程,這主要還是要借助Physics.Raycast函數(shù)實(shí)現(xiàn),具體思路如下:先在場景中創(chuàng)建一帶狀尺子模型,當(dāng)鼠標(biāo)點(diǎn)擊墻體第一點(diǎn)時尺子的起點(diǎn)移動到其上,尺子的末端則跟隨鼠標(biāo)旋轉(zhuǎn)(借助transform.rotation函數(shù)實(shí)現(xiàn)),并根據(jù)尺子起點(diǎn)與鼠標(biāo)的距離對尺子進(jìn)行縮放(借助transform.localScale函數(shù)實(shí)現(xiàn)),以獲得尺子隨鼠標(biāo)伸長縮短的效果。當(dāng)鼠標(biāo)點(diǎn)擊墻體第二點(diǎn)后,尺子末端位置確定,這樣尺子就很好地固定在墻體的兩點(diǎn)之間,實(shí)現(xiàn)尺子度量的效果。

筆者根據(jù)這個思路編寫出名為“RULER.js”的功能腳本,并將此功能附加到尺子模型中。需要注意的是,在整個尺寸度量過程中,鼠標(biāo)的操作空間是二維的Screen空間,而墻體上的點(diǎn)存在于三維的World空間,因此兩者之間要采用WorldToScreenPoint以及ScreenToWorldPoint函數(shù)進(jìn)行切換。

采用以上思路及流程可以開發(fā)出功能基本滿足需要的毛坯房尺寸度量仿真系統(tǒng),但要進(jìn)一步提高系統(tǒng)的性能,完備各項功能,則需要研發(fā)人員對功能腳本進(jìn)一步深入學(xué)習(xí)。例如,為了達(dá)到比較真實(shí)的仿真效果,尺子上應(yīng)該標(biāo)有刻度。這就要求在尺子模型上附加帶有刻度的貼圖,并且在尺子縮放的過程中,還需要同時應(yīng)用TextureScale函數(shù)以控制貼圖的重復(fù)次數(shù),獲得真實(shí)效果。

(3)調(diào)試與發(fā)布

對功能基本滿意后就可以進(jìn)入調(diào)試階段,調(diào)試是對一些參數(shù)的細(xì)微調(diào)整,諸如攝像機(jī)的旋轉(zhuǎn)速度、漫游的行走速度等。一般來說,為了達(dá)到理想的效果,同一參數(shù)要反復(fù)變更試驗,才能從中對比出最合適的數(shù)值,然而諸如FLASH等大部分軟件在修改參數(shù)后,必須重新輸出成品才能觀察所產(chǎn)生的變化,這就使整個調(diào)試過程變得十分漫長并且繁瑣。值得慶幸的是,Unity3D的設(shè)定十分人性化,在進(jìn)行內(nèi)部演示期間,各組件的參數(shù)會動態(tài)地顯示于屬性區(qū),對參數(shù)進(jìn)行調(diào)整后,內(nèi)部演示窗口會作出即時的響應(yīng),這樣整個調(diào)試過程就變得便捷并且愉快。

對調(diào)試結(jié)果滿意后,就可以輸出成品。Unity3D提供“Web Player”以及“Windows Standalone”等多種輸出模式可供選擇,其中“Web Player”輸出模式可支持成品在線使用,為了成品的普及推廣,建議使用該輸出模式。綜上所述,采用FLASH以及Unity3D都可以進(jìn)行毛坯房尺寸度量仿真系統(tǒng)的開發(fā)。其中采用Unity3D可以達(dá)到更理想的仿真效果以及更佳的操作性、擴(kuò)展性。但該軟件還不普及,專業(yè)教師需要投入一定的時間及精力進(jìn)行熟悉。在實(shí)際開發(fā)過程中,專業(yè)教師可以根據(jù)自身的需要及能力,選擇合適的軟件進(jìn)行開發(fā)。毛坯房尺寸度量仿真系統(tǒng)的成功開發(fā),為使用虛擬仿真手段進(jìn)行室內(nèi)裝飾教學(xué)開創(chuàng)了先河,為后續(xù)裝修施工、驗收等環(huán)節(jié)的教學(xué)提供了重要的參考,可以很好地解決學(xué)校在辦學(xué)過程中遇到的場地少、消耗大、管理難等諸多問題,其價值應(yīng)給予肯定。

參考文獻(xiàn)

[1] 徐敏.可漫游的虛擬場景的建模與實(shí)現(xiàn)方法[J].科技信息,2010(29).

[2] 蔣子龍.三維虛擬場景人機(jī)交互與漫游技術(shù)研究[D].沈陽工業(yè)大學(xué),2010.

[3] 徐軍.吳世強(qiáng).基于SKETCHUP的虛擬景觀的建立[J].大壩與安全,2009(S1).

[4] 蔣衛(wèi)平.虛擬現(xiàn)實(shí)在房地產(chǎn)項目中的設(shè)計與應(yīng)用[D].山東大學(xué),2011.

[5] 姚波.基于Papervision3 d引擎下的室內(nèi)虛擬漫游研究與探索[J].廣西輕工業(yè),2011(4).

[6] 嚴(yán)林.虛擬現(xiàn)實(shí)在室內(nèi)設(shè)計中的應(yīng)用[D].武漢科技大學(xué),2011.

[7] 黃顯兵.基于全景技術(shù)的景觀在線漫游的設(shè)計與實(shí)現(xiàn)[D].上海交通大學(xué),2012.

[8] 干建松.基于Unity3D的室內(nèi)漫游的關(guān)鍵技術(shù)研究[J].鹽城工學(xué)院學(xué)報(自然科學(xué)版),2011(4).

猜你喜歡
室內(nèi)裝飾仿真
高層建筑室內(nèi)裝飾裝修施工技術(shù)研究
室內(nèi)裝飾材料的特點(diǎn)及應(yīng)用
上海建材(2021年2期)2021-02-12 03:17:22
圖式思維在現(xiàn)代室內(nèi)裝飾設(shè)計中的應(yīng)用
Buck開關(guān)變換器的基本參數(shù)設(shè)計及仿真分析
試析PLC控制下的自動化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統(tǒng)優(yōu)化設(shè)計
科技視界(2016年18期)2016-11-03 21:44:44
中國體態(tài)假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
科技視界(2016年18期)2016-11-03 20:31:49
室內(nèi)裝飾設(shè)計學(xué)視域下的學(xué)徒制
庄河市| 车致| 永昌县| 富蕴县| 汝南县| 黄梅县| 彰化市| 南陵县| 祁连县| 阳泉市| 泰宁县| 仙桃市| 惠东县| 巩留县| 吉木乃县| 岳普湖县| 宁强县| 西宁市| 宜宾县| 衡阳市| 桦甸市| 海晏县| 廉江市| 额济纳旗| 贡嘎县| 镇江市| 稻城县| 吕梁市| 定南县| 聂拉木县| 枞阳县| 景东| 肥城市| 安康市| 呼伦贝尔市| 延川县| 西宁市| 曲水县| 鹤峰县| 颍上县| 界首市|