VRML

VRML(Virtual Reality Modeling Language, 於西元1995年前被視為 Virtual Reality Markup Language) 為一種三維圖像(3-Dimensional Graphic) 的標準檔案格式,以標記語言(Markup Language) 的形式來紀錄向量圖形 (vetor graphics) 中多邊形 (plygons) 的頂點 (vetices) 及邊線 (edges)。所以若直接用文字編輯器開啟 VRML 檔案 (一般而言,檔案類型為 .wrl,一些經過 gzip 壓縮過的檔案類型是 .wrz) 看到的會是類似於結構語言,如下:



#VRML V2.0 utf8
WorldInfo {
 title "Test Sphere"
}
DEF Sphere1 Shape {
 appearance Appearance {
  material DEF Red Material {
  ambientIntensity 0.200
  shininess 0.200
  diffuseColor 1 0 0
  }
 }
 geometry DEF GeoSphere1 Sphere {
  radius 1.000
 }
}

早期的 Web3D 開發者,可能會像筆者寫網頁用記事本一樣寫 VRML (筆者是死要面子 XD),也像早期用 C 寫 OpenGL 只能硬幹。大概也隨著科技日新月異 (老梗),開始有一些 3D 建模、動畫大尾軟體開始支援 VRML 的 Export,方便創作者在 3D 圖形軟體如: 3ds Max, Maya 內建模甚至製作完動畫後直接轉檔使用。

但是轉出成 .wrl 後,又有一個麻煩的事情,就是如何方便觀看轉出的 VRML 有無瑕疵 (這邊指的是貼圖跑位、模型在轉出運算上的失誤等等),總不能每次開 3ds Max 拉進來看 (電腦像鋼鐵人一樣猛的可以這麼作),所以就有了所謂 VRML Viewer 的產生。也因為 VRML 的主要用途便是於網頁上觀看三維圖像,這些 VRML Viewer 通常也是跟 Browser 如 Mozilla, Netscape, Internet Explorer 等等 bundle 在一起,有好有壞,不過的確省卻了要打開 3ds Max 來看 .wrl 檔的麻煩。

對於想以 VRML 來展示 3D Model 的 AR 玩家,建議安裝 VRML Viewer 於系統中,網路上常見的似乎是 Cosmo Player,支援 IE 及 Firefox (不過筆者沒用過)。另外,微軟也有所謂的 Microsoft VRML Viewer 可以裝。

 

VRML in ARToolKit

玩膩了內建範例、內建標誌(marker)、一大堆的內建之後。每個玩家一定都急著想要將自己建得模、或動畫等等放上 ARToolKit 玩弄一翻 (羞)。當然,也要順便來翻玩一下 ARToolKit 的 marker。恕筆者把這兩件事情列為此篇 VRML 實戰的主軸:


1. 更換自己的模型

  • a. 請先將於 3DsMax 中匯出(Export) 自己的模型或動畫,副檔名選擇 *.WRL(VRML97)。
    • 一些細節(材質, 面數) 選項[如下圖],請特別注貼圖放置的相對位置(Bitmap URL)
    • 有些網友指出貼圖檔只能使用 GIF 格式,但筆者本身經驗是可使用 JPG 格式,請自行斟酌。
    • 如果程式功力不錯的網友在 VRML 顯示上有大問題,可嘗試將新的 OpenVRML 引入此 ARToolKit 專案,畢竟 ARToolKit for Free 已經很久沒 Update 了

 

WRL1.jpg

The figure is from Bruno Cipriano e Vasco Bila (MovLab) 2007.

    • b. 切換目錄至 {ARToolKit}\bin\Data
    • c. 以[記事本]或[文字編輯器]開啟"object_data_vrml" (無副檔名)
    • d. 將 1 改為要讓系統認得的 marker 數量: (認出3個marker即填3)

#the number of patterns to be recognized
1

    • e. 若有三個 marker 要系統辨識,則以下參數需針對每個marker個別定義一次。
      - 第一行 VRML 為 dat 檔所在之相對路徑 (Wrl/bud_B.dat即{ARToolKit}\bin\Wrl\bud_B.dat)。此檔功用後面會詳述
      - 第二行 Data/patt.hiro 意即系統在辨識出 Hiro marker 時,會顯示上述的 Model (蜜蜂轉呀轉的預設動畫)
      - 第三行 80.0 應為預設 marker 大小 (待確認)
      - 第四行 (待確認)

  #pattern 1
VRML    Wrl/bid_B.dat
Data/patt.hiro
80.0
0.0 0.0

    • f. 確認執行檔未開啟(simpleVRML),將 object_data_vrml 存檔。
    • ps. 關於 bud_B.dat 或自設 xxx.dat 之修改方式,如同上述請以[記事本]或[文字編輯器]開啟。
      此檔之目的為記錄 VRML File (wrl) 檔名、所在位置。另外一方面可以針對此 Model 進行位移、旋轉、縮放的設定。好處在於若遇到 Model 在場景位置不正確、物件大小比例與實物不符等等問題時,不用將檔案丟到 3DSMax/MAYA 微調。
      - 第一行 wrl 檔名
      - 第二行 針對 Model 位移(Translation)
      - 第三行 針對 Model 旋轉(Rotation)
      - 第四行 針對 Model 縮放(Scale)

bud_B.wrl
0.0 0.0 0.0 # Translation
0.0 0.0 0.0 0.0 # Rotation
10.0 10.0 10.0 # Scale

  • g. 存檔,執行範例程式。

 

2. 如何製作自己的 Marker

  • a. 請先移動至 {ARToolKit}\bin (建議在DOS或命令提示字元底下運作)
  • b. 找到 mk_patt.exe 並執行之,他會詢問相機參數檔,預設可直接按下 Enter
  • c. 此時會開啟 Webcam,請將攝影範圍對準您自訂的 marker,盡量正面且不要將邊角落在攝影範圍外
  • d. 直至出現以下紅綠框框住您所自訂的 marker

  • e. 接著在視窗中點一下滑鼠,即可輸入檔名儲存自訂 marker
  • f. 配合上述[更換自己的模型]章節提到的,我們可將 object_data_vrml 檔案中 "Data/patt.hiro" 部分改為自訂 marker 所儲存的檔名(ex. Data/patt.DK),即可使用。



[更多詳細實戰待補完]

 

 

REFERENCES

VRML, Wikipedia, http://en.wikipedia.org/w/index.php?title=VRML

ARToolKit官方網站, http://www.hitl.washington.edu/artoolkit/

 

 

其他相關文章
ARToolKit 實戰/教學(一) 建置篇

arrow
arrow

    DK 發表在 痞客邦 留言(44) 人氣()