關於鄭建文

2010年7月2日 星期五

Max/MSP/Jitter 粒子化特效摘要 (一)

  1. Jitter 中的粒子特效物件包括:jit.p.shiva (用來製造或刪除粒子)、jit.p.bounds 用來限制粒子的空間範圍、jit.p.vishnu (用來對粒子特效施予某種特定的影響力, 用來控制粒子發射器,例如:force 風力、pitch 前後旋轉、yaw 左右旋轉, speed 速度)
  2. Jit.p.shiva 用來依照 Jitter 粒子特效系統的規格而產生 Jitter 陣列。粒子系統的陣列( Jit.p.shiva 所產生的資料) 是二維的 (n x 2 ,n 代表粒子的最大數量),且可由 float32 或 float64 的資料格式組成。Plane 0 和 1 被保留出來,分別用來代表每個粒子的獨特 ID 號碼及粒子的年齡。其他剩下的 30 個 plane(2 - 31) 可用來控制每個粒子的特性。陣列中的第二列總是保存第一列剛發生過狀態之數值 (藉此可以用來計算 velocity)。
  3. jit.p.shiva 設定為 mode 1 時,允許 init 及 init_var 訊息指令影響 jit.p.shiva 的輸出,並且使得 jit.p.vishnu  在送出新的粒子時使用這些數值。
  4. jit.p.vishnu 所收到的資料應有 5 或 8 個 plane,float 32 或 float 64 格式,x * 2 的二維陣列。若有 5 個 plane,則 plane 2, 3, 4 代表位置座標 x, y, z;若有 8 個 plane,則 plane 5, 6, 7 代表 x, y, z 的力度(velocity)。當 jit.p.vishnu 設定為 mode 0 時,這些額外的 plane (亦即 plane 5, 6, 7)  會自動為了新進來的粒子而產生;在 mode 1 之下,在這些 plane 上的任何現存數值,會被用來初始化其輸出。
  5. Jitter 中的粒子特效系統必須配合「回授」的設置才能運作。此外,通常會配合使用 jit.gl.multiple,將 jit.p.vishnu 輸出的陣列,排除第一列以及 plane 0 與 1 後,即可送給 jit.gl.multiple。
  6. jit.gl.multiple 是用來以陣列的方式,有效率地製造一個 jit.gl 物件 (如 jit.gl.gridshape 與 jit.gl.mesh ) 的多重分身。其必須帶有與 jit.gl (OB3D) 物件相同的命名屬性。其可設定的參數包括位置、旋轉、旋轉核心、大小、顏色、tex_plane_s, tex_plane_t、貼圖等。除了貼圖參數可使用 char 格式來指定之外,其他的參數則採用 float32 陣列的格式。

沒有留言:

張貼留言