廣東 鄧新農
關于3dsmax中的VRML運用的探討
廣東 鄧新農
VRML是一種標記語言,任何文字編輯程序都可以編輯VRML的場景模型文件 (其擴展名是.wrl)。手工書寫.wrl文件是非常常繁瑣而復雜的工作,對于大型場景模型幾乎是不可能的。為了制作Wed3D圖形的場景模型文件必需使用傳統的三維建模軟件。
近幾年,許多軟件廠商都把3dsmax作為三維建模與場景的制作工具。使用3dsmax建立場景模型,安裝相應的輸出插件,即可以直接建立場景模型文件。現在最有名的WED3D圖形軟件公司。如cult3D和viwepoint都可以在3dsmax中直接輸出它們的專用文件格式的場景模型文件。
Wed3D圖形的制作工具及實用程序五花八門難以詳述,但是它們的功能一般都包括:建立或編輯三維場景模型;增加或改進wde3D圖形的圖像質量;增加wed3D圖形交互性;壓縮或優化場景模型文件的大小;文件加密。
三維建模是wed3d圖形制作的關鍵,而所用的成本是比較高的,例如:如果要制作一個較高質量的3D手表模型,專業人員要花費40小時建模,價值幾萬元。大型建筑場景則需要更多的工作量,為解決這個問題,近幾年國處出現一種新的建模技術:照片建模技術。對建模對象實地拍攝兩張以上的照片,根據透視學和攝影測量學原理,標志和定位對象上的關鍵控制點,建立三維網格模型。近年已有商品化軟件推出,如Canoma、photo3D、photoModel、ImageModeler等。
3dsmax對VRML語言提供了良好的支持,在3dsmax中可以方便、直觀地插入VRML節點。它包含了幾乎全部的VRML特有造型,極大地方便了VRML世界的建立。在3dsmax的Create命令面板中,有一個次級面板Helpers,在其下拉式組合框中有VRML97選項。這種特有的造型功能使得3dsmax可以像創建實體那樣在場景中直接創建這些節點,當場景文件向VRML文件轉換時,這些節點會一同輸出。Billboard節點的作用是生成一個隨觀察者視點轉動的不可見對象,與這個對象關聯的物體都將隨著觀察者視角的變化而變化。
用3dsmax為VRML建立三維虛擬空間以后,就可以將其以VRML97文件格式輸出,生成VRML文件了。單擊菜單中File選項,在下拉式菜單中單擊Export,這時出現選擇輸出文件類型的對話杠,在“保存類型”的下拉式組合框中VRML97文件類型并輸入文件名,單擊保存,就會彈出一個VRML 97 Exporter對話框,它使Exporter根據設計者的選擇來輸出VRML文件。
在VRML97 Exporter對話框的這些選項中特別要注意的是Bitmap URL Prefix選項,如果在創建三維場景時使用了貼圖,最好將這些圖片文件放在該VRML文件所在的目錄中,否則必須在這里指明這些圖處文件所在的URL(Uniform Resource Locator)。但是,對于指明圖片文件所在的URL的方式,一旦文件夾的相對位置變動后,可能會出現找不到貼圖文件的情況。當確變這些選項后,單擊OK,就會自動生成VRML97文件,這時瀏覽者就可以用VRML瀏覽器觀察它了。
在3dsmax中可以方便地生成燈光、視點、模型等節點,由3dsmax生成的VRML文件的格式為Wrl形式,可以直接在安裝了VRML插件的的器中瀏覽。但是這種直接生成的文件還有許多缺陷,例如視點位置不理想,燈光效果雜亂等,這些都需要對VRML文件進行代碼調整。所以對于瀏覽者參數、環境參數的設定等,最好在VRML語言編輯器中進行代碼調整時設定,并隨時觀察設定效果。VRML語言編輯器為VRMIPAD,它可以一邊更改一邊觀察更改效果,有效的對VRML節點進行調整。
我們不難發現3dsmax是一種直觀快捷的三維建模工具,它可以較好地把三維模型和動畫輸出成VRML格式文件,但是3dsmax的主要方向畢竟不是VRML,因而在實際應用中也存在一些缺陷:
如3dsmax與VRML的制作單位不匹配;對于VRML來說,3dsmax中對物體的描述有些過于精細了,太高的精度會使文件無形中增大了很多;VRML中許多行為、事件在3dsmax中無法實現;以及3dsmax中豐富的材質不能完全導出到VRML文件中等。
為了更好的利用3dsmax工具創建虛擬世界,應該注意以下一些要點:
由于場景的復雜度會增大VRML文件,當VRML文件在網絡上瀏覽的時候,太大的文件會使得瀏覽速度很慢,也就失去了網絡瀏覽的意義,所以要控制好文件的大小。
對于在3dsmax場景中使用到的材質和貼圖文件,把它們創建到一個單獨的文件目錄中,這將方便在VRML導出時正確的尋找到它們。
在一個成功的VRML環境中,攝像機是非常有用的。如果把沒有攝像機的3dsmax場景文件直接導出到VRML,往往無法獲得正確的視點。為此,特別需要在3dsmax場景中設置觀察角度、位置適當的一個或者多個攝像機。每臺攝像機對應一個視點,它們將在VRML瀏覽器的視點列表中列出。瀏覽者可以通過選擇攝像機在場景中導航,即使在瀏覽器中導航非常緩慢的環境,也可以通過一系列的攝像機視圖非常流暢地觀看。
在相對靜止的VRML環境中,把動畫當作移動的特征看待非常有用。對于從3dsmax輸出的VRML環境來說,VRML提供了對多種動畫方法的支持。
但是特別要注意的是,當需要輸出3dsmax場景中非空間位置變化動畫時候,VRML Exporter導出對話框中的Coordinate Interpolators復選框必須被選中,否則該動畫效果將不能被正確輸出到VRML文件中去。
3dsmax的優勢是能以可視化的方法快速搭建復雜的三維模型,并且為它們添加效果精良的材質貼圖、環境效果和動畫制作。但是,它缺乏操作者對虛擬物體的控制能力。這與我們提出的虛擬現實技術的交互性特征是相偏離的,而VRML語言正好解決了這一問題。
將3dsmax與VRML結合使用的方法可以是:首先,利用3dsmax特作三維場景的造型、材質貼圖的動畫;接著,將3dsmax場景利用Export功能導出到VRML中;最后,在文本編輯器中打開生成的wrl源程序文件,對源代碼做進一步的修改,并添加場景所需的各種交互性事件以及行為和時間的操作。
在瀏覽VRML文件時,瀏覽者不可避免的要與系統之間進行交互。VRML97標準提供了這個可能。它提供了20種事件類型,瀏覽者可以通過它們很方便的與系統交流。但是如果需要處理邏輯判斷和一引起復雜操作,VRML97提供了url,它可以嵌入Javascript程序或者Java的程序,使其負責的工作得以實現。
從人機交互程度來看,虛擬現實可以分為交互式、被動式和查詢式。在交互式虛擬現實中,瀏覽者除了可按照自己的意愿選擇路徑外,還可以與三維場景中的物體進行交互活動。在被動式虛擬現實中,路徑由軟件嚴格控制,瀏覽者沒有自由控制權。在查詢式虛擬現實中,瀏覽者可選擇路徑,但不能與三維場景進行其他的交互活動。從上述分類出發,在系統中可以相應地設置了兩種漫游方式:其一是自由漫游,即漫游路徑由瀏覽者通過鼠標或鍵盤實時控制;其二是自動漫游,即按事先規劃的瀏覽路徑與視角,對虛擬場景進行漫游。
近年來,3dsmax軟件的制作廠家Discreet推出了一款直接面向Wed3D的制作軟件——Plasma,Discreet看到了Wed3D市場的巨大商機,憑借3dsmax的市場優勢一定會大有發展前景。當然,3dsmax不是萬能的,用文本編輯器編寫VRML文件也不是一無是處,當將這兩者相結合,就會發現創建VRML世界輕松多了。
廣東城市建設高級技工學校)