• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于多軟件的Collada 模型轉(zhuǎn)換應(yīng)用研究

      2011-03-12 00:39:34胡軍強(qiáng)
      關(guān)鍵詞:建模流程軟件

      胡軍強(qiáng)

      (福建江夏學(xué)院,福州 350108)

      0 引言

      2006年3月,Google公司推出了完全免費(fèi)的Google Sketch Up建模軟件。該建模軟件是一個(gè)建筑草圖軟件,能使用戶快速建立簡(jiǎn)單的3D建筑模型(Collada模型),而且它還包含了一個(gè)插件,允許Google Earth用戶直接將Collada模型導(dǎo)入Google Earth中,并與Google Earth中的三維地形數(shù)據(jù)整合,實(shí)現(xiàn)虛擬環(huán)境的構(gòu)建。

      然而,Google Sketch Up對(duì)規(guī)則構(gòu)造物(如建筑模型)的建模較為方便,而在制作線形復(fù)雜多變的模型時(shí)則較為煩瑣。因此,建立復(fù)雜的Collada模型可以借助于建模功能強(qiáng)大的3ds Max,Maya等進(jìn)行建模,然后轉(zhuǎn)換為Collada模型。

      本文以此為出發(fā)點(diǎn),詳細(xì)分析如何利用當(dāng)前格式的3D模型向Collada模型轉(zhuǎn)換。

      1 三維模型轉(zhuǎn)換方法

      1.1 三維模型轉(zhuǎn)換方法研究

      目前,對(duì)各種各樣三維數(shù)據(jù)格式的轉(zhuǎn)換方法有很多,主要分為2種類型:商業(yè)的模型轉(zhuǎn)換工具和自主開(kāi)發(fā)的轉(zhuǎn)換程序。

      商業(yè)的模型轉(zhuǎn)換軟件如3D Trans Vidia、Converter、3D Explorer等簡(jiǎn)單易用,效率很高,然而在轉(zhuǎn)換3D文件的時(shí)候,只能保存和轉(zhuǎn)換模型的幾何信息,而所有的紋理信息則在轉(zhuǎn)換過(guò)程中全部丟失[1]。

      自主開(kāi)發(fā)的轉(zhuǎn)換程序的主要原理是:將被轉(zhuǎn)換的三維數(shù)據(jù)通過(guò)解析程序提取關(guān)鍵要素,然后按要求轉(zhuǎn)化為其它三維數(shù)據(jù)的對(duì)應(yīng)關(guān)鍵元素并構(gòu)建虛擬系統(tǒng)。然而,有些三維軟件如3Ds Max生成的文件格式難以被程序全部解析,而且依靠解析文件獲取建模信息的方法最終并沒(méi)有生成三維模型[2];利用3Ds Max中模型數(shù)據(jù)的方法是將其導(dǎo)出為3DS、VRML、OBJ等文件格式,然后在虛擬現(xiàn)實(shí)系統(tǒng)中解析這些文件格式,但這種方法在導(dǎo)出過(guò)程中模型信息不能被全部保存,會(huì)損失部分模型信息[3]。

      Google Earth構(gòu)建的虛擬環(huán)境中的模型只能是Collada模型或kmz文件(包含有Collada模型與kml文件),而3Dtrans Vidia等軟件不支持Collada模型與kmz文件,難以符合虛擬環(huán)境所需三維模型的要求;程序轉(zhuǎn)換模式中的幾種方法都是通過(guò)提取三維模型中的關(guān)鍵元素而重建虛擬系統(tǒng),最終并沒(méi)有生成三維模型,也不適用于本虛擬系統(tǒng)的需求。因此,筆者選擇通過(guò)三維建模軟件多次轉(zhuǎn)換方式生成Collada模型或kmz文件。

      1.2 三維模型轉(zhuǎn)換方案設(shè)計(jì)

      綜合三維模型轉(zhuǎn)換方式的優(yōu)點(diǎn)與本論文模型轉(zhuǎn)換的目的,本節(jié)設(shè)計(jì)一種三維模型轉(zhuǎn)換方案,如圖1所示。其中,各種DCC(Dimension Content Creator三維內(nèi)容制作軟件)生成的模型首先轉(zhuǎn)化成通用的3D交互格式,然后經(jīng)三維模型數(shù)據(jù)轉(zhuǎn)換器轉(zhuǎn)換并修改后生成kmz文件(包含有kml文件與Collada模型)。數(shù)據(jù)轉(zhuǎn)換器是指具體的三維建模轉(zhuǎn)換過(guò)程。由于原模型格式不同,具體的轉(zhuǎn)換過(guò)程也不同。

      本文設(shè)計(jì)圖1所示方案將不同格式的三維模型轉(zhuǎn)換生成Collada模型,其理由如下:3DS文件都是比較通用的3D交換格式。3Ds Max、Maya等軟件創(chuàng)建的原文件的數(shù)據(jù)結(jié)構(gòu)復(fù)雜,對(duì)其文件直接進(jìn)行轉(zhuǎn)化將會(huì)十分困難。在其轉(zhuǎn)化前先進(jìn)行模型預(yù)處理,即轉(zhuǎn)化為文件格式相對(duì)簡(jiǎn)單的VRML文件或者3DS文件。這2種格式作為中介進(jìn)行三維建筑模型的轉(zhuǎn)化將大大提高轉(zhuǎn)化效率[4]。

      圖1 三維模型轉(zhuǎn)換方案設(shè)計(jì)圖

      2 模型轉(zhuǎn)換流程

      三維數(shù)據(jù)的直接轉(zhuǎn)換模式就是通過(guò)三維軟件系統(tǒng)自己建立的數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換。在這種模式下,異構(gòu)數(shù)據(jù)格式經(jīng)專門的數(shù)據(jù)轉(zhuǎn)換工具進(jìn)行格式轉(zhuǎn)換后復(fù)制到當(dāng)前系統(tǒng)文件中[5]。本文即以這種轉(zhuǎn)換模式將Maya生成的OBJ模型轉(zhuǎn)換為Collada模型(即kmz文件)。

      2.1 轉(zhuǎn)換流程設(shè)計(jì)

      根據(jù)上節(jié)對(duì)三維模型轉(zhuǎn)換方法與方案的研究,筆者設(shè)計(jì)了一種3DS-Collada三維模型轉(zhuǎn)換的具體流程。圖2為轉(zhuǎn)換流程圖。

      圖2 轉(zhuǎn)換流程圖

      下面對(duì)轉(zhuǎn)換流程中用到的三維建模工具和三維模型格式做個(gè)簡(jiǎn)單介紹。

      (1)Maya創(chuàng)建的原始文件OBJ文件為文本類型,結(jié)構(gòu)非常簡(jiǎn)單,保存的是一些多邊形的信息,諸如頂點(diǎn)幾何坐標(biāo)、紋理坐標(biāo),點(diǎn)與點(diǎn)如何連線組成線、面等等,所以適合在應(yīng)用程序中讀取或進(jìn)行3D文件格式轉(zhuǎn)換[1]。

      (2)3Ds Max可導(dǎo)入OBJ文件,經(jīng)過(guò)對(duì)OBJ模型進(jìn)行UV貼圖等調(diào)整后,可導(dǎo)出生成3DS文件。3DS也是一種三維模型交換格式。

      (3)kmz是符合zip壓縮的文件格式,kmz文件比kml文件功能強(qiáng)大,可以包含kml文件及Collada模型文件的信息。解壓后文件的典型結(jié)構(gòu)如下圖3所示。在doc.kml中存放kml描述,在Textures.txt存放紋理數(shù)據(jù),在models文件夾中存放模型(DAE模型、位圖等)。Python語(yǔ)言自帶有zip壓縮模塊Zip File,可以很方便地實(shí)現(xiàn)zip壓縮。

      (4)Collada文件是Google Earth4采用三維模型文件格式,其后綴為dae。當(dāng)從Sketch Up中直接獲取模型時(shí),模型即以此文件格式存放。對(duì)于需要重復(fù)構(gòu)建的模型,可以通過(guò)一次建模,然后借助在kml文件中對(duì)ID號(hào)的引用實(shí)現(xiàn)多個(gè)實(shí)例的顯示。

      圖3 KMZ文件夾結(jié)構(gòu)圖

      2.2 轉(zhuǎn)換具體步驟

      3DS-Collada三維模型轉(zhuǎn)換流程中包括2個(gè)主要轉(zhuǎn)換步驟,下面針對(duì)這2個(gè)步驟具體操做過(guò)程作個(gè)介紹。

      2.2.1 OBJ-3DS轉(zhuǎn)換

      Maya軟件建模所得的原始模型為OBJ格式,導(dǎo)入3Ds Max中進(jìn)行坐標(biāo)微調(diào)與UV貼圖后,可導(dǎo)出3DS格式的模型。這一步驟成敗的關(guān)鍵在于如何正確在3Ds Max給OBJ模型重新進(jìn)行UV貼圖。

      UV貼圖是計(jì)算機(jī)圖形學(xué)中的術(shù)語(yǔ),三維空間中的X、Y、Z坐標(biāo)用來(lái)描述空間位置,而UV用來(lái)描述貼圖的位置。因?yàn)橘N圖都是一張平面圖粘附到一個(gè)幾何形體上的,UV用來(lái)表述該平面圖與幾何形體的具體對(duì)應(yīng)關(guān)系。

      3D貼圖實(shí)際上是將二維圖形貼到三維物體上,所以為了控制二維圖形在三維物體上的位置,定義了貼圖坐標(biāo),U與X對(duì)應(yīng),V與Y對(duì)應(yīng)。

      對(duì)OBJ文件進(jìn)行UV貼圖時(shí)可能會(huì)碰到以下問(wèn)題,應(yīng)該注意:

      (1)在材質(zhì)球上添加棋盤格,從模型上顯示,在一系列的UV(黑白的棋盤格)中,所有的表面都必須有同樣的尺寸,因此,當(dāng)瀏覽模型時(shí),那些小方塊應(yīng)該是相同大小的。另外,也應(yīng)該盡量避免拉伸。棋盤格應(yīng)該越接近正方形越好。Maya和3Ds Max中的unflod功能可以幫助實(shí)現(xiàn)這一點(diǎn)。

      (2)在貼圖中,貼圖的空間應(yīng)該充分利用。所以要盡量找到最好的UV排列方法將UV排滿。

      (3)盡最大努力把模型邊緣連接好,這樣才能避免貼圖的接縫問(wèn)題。同時(shí)在剪開(kāi)UV的時(shí)候要注意接縫的位置。

      (4)UV最好不要重疊,不要超出UV編輯框。

      (5)UV貼圖必須同OBJ模型放在同一個(gè)文件夾下,否則導(dǎo)出的3DS模型沒(méi)有質(zhì)材。

      2.2.2 3DS-kmz

      3DS模型導(dǎo)入Sketch Up中之后,可能要對(duì)模型做一些修改和調(diào)整,才能生成符合Google Earth環(huán)境的三維模型,方法如下。

      (1)修改建筑物。大多建筑物的模型頂部都沒(méi)有進(jìn)行貼圖,可能因?yàn)轫敳坎馁|(zhì)難以采集,也有可能是大多漫游都不會(huì)看到頂部,所以為了減小模型的數(shù)量,頂部省略了材質(zhì)貼圖。屋頂紋理借助Google Earth抓圖解決,導(dǎo)入的模型可以在Sketch Up中再次貼圖。

      (2)調(diào)整模型大小。轉(zhuǎn)換后的模型大小不一定與Google Earth中的環(huán)境匹配,因此模型在上載到Google Earth之前必須調(diào)整大小。在Google Earth確定好模型所處位置,通過(guò)GE接口導(dǎo)入一個(gè)當(dāng)前視口中的圖像,模型根據(jù)圖像所顯示的位置大小進(jìn)行調(diào)整。

      由于Google Earth圖像僅提供構(gòu)造物的平面信息,而不具有高程信息,因此簡(jiǎn)易的建筑模型高度應(yīng)與建筑平面尺寸保持相應(yīng)的比例關(guān)系,以滿足建筑物的實(shí)際體量。最后通過(guò)建筑物實(shí)際高度、實(shí)物與模型比例來(lái)確定模型的高度。

      3 三維模型的實(shí)現(xiàn)

      3.1 模型轉(zhuǎn)換案例

      為了驗(yàn)證該方案的正確性,作者按照上節(jié)三維模型轉(zhuǎn)換方案中的流程步驟轉(zhuǎn)換了大量的三維模型。本文用某大學(xué)“數(shù)字校園”項(xiàng)目中Maya創(chuàng)建的OBJ模型作為數(shù)據(jù),轉(zhuǎn)化為Collada模型,最后導(dǎo)入Google Earth中,如圖4是導(dǎo)入Google Earth中的教學(xué)樓模型。

      圖4 Google Earth中教學(xué)樓模型

      圖5 導(dǎo)入?yún)?shù)顯示圖

      3.2 模型轉(zhuǎn)換分析

      當(dāng)3DS文件在Sketch Up中打開(kāi)時(shí),模型中某些數(shù)據(jù)可能會(huì)丟失,比如材質(zhì)、貼圖等數(shù)據(jù)。以Maya模型8hl.3ds為例,導(dǎo)入后會(huì)彈出對(duì)話框,如圖5所示,對(duì)話框中顯示不能生成8 HL.JPG貼圖與01-Default材質(zhì)。

      主要原因是在OBJ-3DS轉(zhuǎn)換過(guò)程中,OBJ模型的貼圖出現(xiàn)了問(wèn)題。改正的方法是重新對(duì)該OBJ文件進(jìn)行UV貼圖。

      4 結(jié)語(yǔ)

      現(xiàn)在的3D文件資源十分豐富,要充分利用這些資源,文件格式的轉(zhuǎn)換就必不可少。本文對(duì)Google Earth中Collada模型的轉(zhuǎn)換方法進(jìn)行了詳細(xì)的總結(jié)與嘗試性的實(shí)踐,提出一種新的轉(zhuǎn)換流程,并以個(gè)案實(shí)驗(yàn)的形式給出了實(shí)現(xiàn)效果圖。

      [1]黎華,肖偉.幾種三維模型文件在 OpenGL中的輸入與處理[J].物探化探計(jì)算技術(shù),2007,29(1):83.

      [2]余燁.面向VR系統(tǒng)的三維模型轉(zhuǎn)換工具[J].工程圖學(xué)學(xué)報(bào),2008(05):72-78.

      [3]陳炳發(fā),陸楠,伍鐵軍.一種面向OPENGL的三維模型的轉(zhuǎn)化方法[J].小型微型計(jì)算機(jī)系統(tǒng),2004,25(3):72.

      [4]朱笑然,年福純,田兆平,等.基于多軟件的STK模型轉(zhuǎn)換應(yīng)用研究[J].飛行器測(cè)控學(xué)報(bào),2010,29(2):54-56.

      [5]江水.三維模型轉(zhuǎn)換引擎及其應(yīng)用研究[D].南京:南京師范大學(xué),2007:22-28.

      [6]雷相波,王昊鵬.基于ElevationGrid節(jié)點(diǎn)的虛擬現(xiàn)實(shí)仿真[J].長(zhǎng)春工程學(xué)院學(xué)報(bào):自然科學(xué)版,2007,8(2):67-69.

      猜你喜歡
      建模流程軟件
      禪宗軟件
      吃水果有套“清洗流程”
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
      軟件對(duì)對(duì)碰
      基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對(duì)稱半橋變換器的建模與仿真
      違反流程 致命誤判
      本刊審稿流程
      析OGSA-DAI工作流程
      談軟件的破解與保護(hù)
      精品(2015年9期)2015-01-23 01:36:01
      三门峡市| 桐乡市| 电白县| 通许县| 泸定县| 西畴县| 渝中区| 虞城县| 威宁| 黔东| 麦盖提县| 高清| 建阳市| 雷波县| 扎鲁特旗| 辽中县| 丹棱县| 吉木乃县| 和田市| 阿尔山市| 天台县| 贺州市| 江华| 阜平县| 富裕县| 绥滨县| 安溪县| 云梦县| 黄梅县| 荔波县| 安宁市| 大冶市| 监利县| 清新县| 济南市| 调兵山市| 三原县| 山丹县| 南充市| 乐安县| 黑龙江省|