本文適合任何 "FBX人形骨骼動畫" 正確的轉換成 "BIP動畫" ,同時適合動捕流程,將會通過案例講解說明。
效果預覽
<ignore_js_op>
左圖為某大逃殺游戲的休閑動畫,右圖為拷貝至CS骨架之后的效果
實現思路
Motionbuilder
· Character Controls Retarget fbx skeleton(Character01)
· Character Controls Retarget bip skeleton(Character02)
· Bake ‘Character01’ To ‘Character02’
· Export Animation
3dsMax
· Merge Animation
准備工作
TOOL
· 3dsMax2016
· MotionBuilder2016
File
· BIPED.max(BIPED Skeleton)
· BIPED.fbx(BIPED Skeleton To FBX)
· Dance01.FBX(Source Animation)
案例操作步驟
1 打開MotionBuilder,導入Dance01.fbx的骨架(不導入動畫)
· File-->open-->Dance01.fbx
· 去掉“Take 001”中的“Import As Take”中的復選框 //Take001是FBX文件中的動畫片段,一般只有一個秒如果有多個,需要去掉。
<ignore_js_op>
· 點擊“Open”導入
2 調整骨架至TPose
· 通過右下角的“文件瀏覽器”或者“手動點選骨骼”,設置骨骼的旋轉參數,將骨架調整至TPose形態。
<ignore_js_op>
<ignore_js_op>
3 創建第一個角色控制器(Character)
· 在右上角的Character Controls工具面板中,點擊Skeleton按鈕
<ignore_js_op>
· 在跳出的對話框中點擊Define按鈕。
<ignore_js_op>
4 設置骨骼映射
· 舉例:左腿骨骼的映射
1)選中左腿骨骼
2)在右上角的“Character Controls”工具的“定義”面板中,右鍵單擊左腿部位,在彈出的菜單中選擇“Assign Selected Bone”選項
<ignore_js_op>
· 同理,依次設置全身的骨骼映射,直到控制器中所有的骨骼都變成綠色。
<ignore_js_op>
5 鎖定控制器
· 點擊“Lock Character”按鈕(黃色小鎖圖標)
<ignore_js_op>
· 在彈出的對話框中,點擊“Biped”按鈕
<ignore_js_op>
6 導入動畫
· File-->Motion File Import-->Dance01.fbx
· 在彈出的窗口中,按照下圖設置參數,並點擊“Import”按鈕
<ignore_js_op>
7 烘焙控制器
· 在右上角的“Character Controls”工具面板中,執行”Bake(plot) To Control Rig“命令
<ignore_js_op>
· 自檢。一般模型上會出現多棱體(控制器),然后拖動時間滑塊,檢查動作是否正確導入。 //如果不是,請檢查上述步驟是否操作有誤
<ignore_js_op>
8 導入BIPED骨架(BIPED.FBX)
· File-->Merge-->BIPED.fbx-->Merge
· 將新導入的骨架調整設置為Tpose
9 創建第二個角色控制器(Character 1),同步驟3
· 在右上角的“Character Controls”工具面板中,Character:選擇None,然后點擊”Skeleton"按鈕。
<ignore_js_op>
· 在跳出的對話框中點擊Define按鈕。
<ignore_js_op>
10 設置骨骼映射
· 由於MotionBuilder預置了biped骨骼的映射模板,所以:
1)選中biped骨架的質心,點擊“Load Skeleton Definition”按鈕(一個文件夾+小人的圖標),在彈出的對話框中選擇Biped模板,並點擊“OK”按鈕。
<ignore_js_op>
2)確保角色控制器中小人的骨骼全部變綠。(如果有一些骨骼沒有變綠,尤其是質心位置,可手動設置骨骼的映射)
<ignore_js_op>
11 鎖定控制器
· 點擊“Lock Character”按鈕(黃色小鎖圖標)
<ignore_js_op>
· 在彈出的對話框中,點擊“Biped”按鈕
<ignore_js_op>
12 檢查兩個控制器之間的映射
· 在右上角的“Character Controls”工具面板中,按如下設置兩個控制器的映射,並查看效果。(如果BIPED骨骼及模型跟着動畫在動,說明已經成功)
1)Character:Character 1
2)Source:Character
<ignore_js_op>
<ignore_js_op>
13 烘焙控制器
· 確保“Character Controls”工具面板中,【Character:Character 1】、【Source:Character 】
· 執行“Bake(plot) To Control Rig”命令
<ignore_js_op>
· 在彈出的對話框中選擇“FK/IK"
<ignore_js_op>
14 烘焙骨架
· 確保“Character Controls”工具面板中,【Character:Character 1】、【Source:Control Rig 1 】
· 執行“Bake(plot) To Skeleton”命令
<ignore_js_op>
15 導出動畫
· 確保“Character Controls”工具面板中,【Character:Character 1】、【Source:None 】
· 執行“Save Character Animation...”命令,並設置保存的名字及位置。(如保存在桌面且文件名為“ExportAnimation.FBX”)
· 在彈出的窗口中,
1)勾選“Take001”復選框
2)勾選“Save Character Extensions”復選框
3)取消勾選“Save Control Rig”復選框
<ignore_js_op>
· 點擊“Save”保存
16 合並動畫
· 在3dsMax中打開“BIPED.max”文件
· 導入動畫:File-->import-->ExportAnimation.FBX
· 在彈出的 FBX Import 窗口中,
1)File content:Update animation
2)Animation Take:Take 001
3)勾選復選框:Fill timeline
3)勾選復選框:Bake Animation Layers
<ignore_js_op>
· 點擊“OK”按鈕。
END
MotionBuilder的一些小技巧
1 快捷鍵與3dsMax不一樣,用着不舒服
· Settings-->Interaction Mode--> Select “3ds Max”--> "OK"
<ignore_js_op>
2 嫌模型礙事,設置TPose的時候,選擇骨骼不方便
· 選中需要隱藏的模型
· 在右下角的“Resources”組中,選擇“Groups”選項卡
· 點擊“Create”按鈕,為選中的模型分組
· 在“Show”選項中,點選對應分組的復選框就可以實現模型的“顯示”與“隱藏”
<ignore_js_op>
