2006/08/14

[教學]龜派氣功! 利用Reactor與Ragdoll maxscript製作類似七龍珠的效果製作



點這裡看結果GIF
或是點這裡看video

並不適合完全初學者. 有使用character studio與Reactor經驗會比較容易了解本教學

七龍珠是世界有名的漫畫. 作者鳥山 明. 龜派氣功是龜仙人傳授給悟空的祕技 這裡利用免費的Maxscript Ragdoll進行特效. 安裝下載請點這裡. 請不要使用內建的ragdoll maxscript 那個有一點bug.

在Your Tube上有龜派氣功的video可以看
1. The Original Kame Hame
2. Goku releases the Kamehameha
3. Das Finale des 23. Tenkaichi Budokai Turniers (Teil 3)

因為效率關係 我簡化了場景中的很多效果 例如地磚的數目. 本場景有伊個攻擊者A一個防禦者B. 故事是A先攻擊B 但是B擋住了. 然後B跑步. 最後A給予更大的攻擊 B被擊倒.

開始吧! 我把動作和地磚飛起的效果分開製作 最後在拼在一起 這樣比較有效率也不會出問題. 角色B我製作了 防禦動作, 奔跑 以及被龜派氣功擊倒的動作.

角色動作
跑(如果你要自己製作跑的動作 這些步驟請省略)
1. 建立一個character (B)大約170單位高 male
2. 建立簡單場景 一個box 與平面plane
2.5 選B 到motion panel: 啟動motion flow mode, 到motion floe/show graph
3. create clip, 載入你的可循環的跑步動作捕捉檔. 點選 create transition 然後點你剛剛載入的clip
4. 到motion panel 點選define script約三次(建立跑步動作)
5. 改變trasition值: 選trasition到motion flow panel/edit trasition 按鈕. 改變trasition長度為0. 改變Source clip start 為其最終frame(例如由10改為17) 儲存動作檔為bip
小技巧: 一開始就要考慮跑步的位置與距離

擊倒
6. 續5. 選B 全部的bone. 關閉motion flow 到copy and paste. 點copy posture然後save
7. 建立另一個character . 載入你剛剛建立的posture 貼上. 調整角色在場頸的位置
8. 選角色 到script/run script 選擇ragdoll script(rctRagdollScript_Xpanded.ms). 出現介面: 按下Constrain Humanoid

事實上角色B是自己後退飛去撞牆的 並不是被氣功打到.

9. 按下autokey. 用 Body horizontal move tool 移動角色一點點, 設定key(這樣可以建立一點動量 等一下可以用reactor運算出運動)
小技巧: 稍稍移動角色往上方移動 這樣角色飛起來的感覺比較明顯

10. 設定質量: 選取牆 地板(plane) 設定質量 摩擦係數...
注意: planae必須設定為 simulation geometry: Concave mesh, 牆與plane都是"unyielding"

11到 utility reactor: Preview and animation. 設定開始的frame 介於角色在步驟9得時間frame之間 (例: 移動0-25frame. 設定起始frame為23)

12. Run Preview. 不滿意就去改9-11步驟當中的參數. 如果滿意就create animation (選reduce key) 然後存動作為bip檔

防禦狀 雙手交叉
13. 建立角色

14. 啟動autokey.選角色的左或是右foot. 到motion panel 設定planeted key. 現在用body vertical button 移動角色重心

15. 修改角色姿態成為手臂交叉狀.
小技巧: 每次改變姿勢 記得設定foot planted key.
16. 移動時間. 移動角色後退 設定完全相同的key
注意: 如要要移動身體 foot必須在設一次free key
17. 存檔為bip
技巧: 勾選 "Segment....." 比較不會出現旋轉的問題


飛起的地磚需要上千的box 減少一點如果你電腦跑不動. 盡可能的最佳化你的場景. 飛起的地磚事實上是被在plane下方隱藏的球撞擊產生的 不是被龜派氣功吹起的

8. 建立小的box 在plane上方但是不要碰動plane(我建立了3*80個 box在中間一排 兩側我建立(20*80)的box 但是不參與物理運算.
小技巧: 隨機地 刪除一些box 可以增加真實度

19. 建立一個往上 往牆移動的geosphere去撞擊地磚(box) 時間上吻合龜派器攻擊發的時間. 要讓geosphere接觸到box才可

20. 選所有box sphere 然後建立rigidbody.

21. 選RBCollection01. 設定質量. 確定geosphere是unyielding.

22. 現在可以進行模擬
小技巧: 改變mass friction gravity或是你可以再建立一個wind
注意: 如果運算不穩定 Reactor/world col.tolerence 可以調低一點 (約0.7)

龜派氣功
23. 非常簡單. 建立geosphere與cylinder. 隨時間改變高度. 最後龜派氣功會消失 我把半徑改為0即可.
(如果你的氣功在0-100 frmaes 在第100 frame消失. 在第100時設定半徑為零 然後在第98 frame設定為100% 這樣就可以迅速消失了)
小技巧: 可以再給cylinder一個taper modifier

其他動作
很簡單不寫啦

24. 完成 把所有元件拼裝起來即可.

[相關連結]
克林的氣元斬!(教學影片)
本教學英文版



(七龍珠與龜派氣功屬於其公司產品 若有侵犯著作權 會立即移除本網頁)


No comments: