2010年2月25日 星期四

Jitter Tutorial 36 3D Models 摘要

  • Jit.gl.model 可以用來讀取 3D 模型 obj 檔,其為多邊型的集合,關於這些多邊型的資料被記載在 obj 檔案當中。若將 verbose 1 指令送至 jit.gl.model 時,則可以使我們可以在 max 偵錯視窗看到正在讀取的 obj 檔案的相關資訊。然而,在算圖時,並不適合開啟此功能,verbose 1 只適合偵錯時使用。(p.318) (Max/MSP/Jitter 5 版本只支援 vertices, polygons, groups, materials, texutre coordinates ,不支援 nurbs 與 parametric surfaces。)
  • verbose 模式開啟時,所顯示的 "materials: 0" 訊息是表示此3D模型有多少 material 的定義。material 定義可用來指定影響 3D 模型表面顏色的光的參數,包括關於 ambient,  diffuse,  specular 等元素。(p.319)
  • lighting_enable 1 指令送至 jit.gl.model 可開啟所燈光功能, smooth_shading 1 指令送至 jit.gl.model 則柔化 3D 模型的稜角。texture grid 指令則使 jit.gl.model 的3D物件產生格狀材質。(p.321)
  • jit.gl.model 在 tex_map 0 的模式下,材質的座標直接由原本的 3D 模型所決定(亦即材質套在3D模型上的樣貌),藉由修改 tex_map $1 為1~3,則可更改材質套用的方式(分別為 object linear, sphere map, eye linear)。(p.322)
  • 利用 texgroup [group-number][texture-name] 的指令格式,可以指定某個3D模型組要使用哪一個材質。若下 texgroup [group-number] 0 的指令給 jit.gl.model,則被指定的3D模型組,會改用原本預設的整體材質。  (p.323)
  • 多邊形的模型組可以分別繪製,例如送 drawgroup 1 的指令給 jit.gl.model,則只繪製編號為 1 的多邊形模型組,直到接收到下一個 drawgroup 指令時,才更新畫面。藉由此種功能,搭配 drawgroup 編號的快速改變,可以讀進 3D 動畫(亦即將原本動作的每一個畫格,儲存在不同的多邊形模型組中,搭配 counter 物件來快速切換這些模型組,使之以動畫方式呈現。)
  • material_mode 屬性可以用來決定 3D 模型所指定的 materials 在算圖時會應用到何種程度。預設值是 1,此時只有 diffuse 的成分會於算圖時被使用。若改為 material_mode 0,則不會使用該 3D 模型的預設的 material,此種情況下,原本3D物件的顏色屬性則被用來作為 diffuse 的顏色 (p.325 範例中則變為預設值的灰色)。

沒有留言:

張貼留言