Final IK細節:
1.Aim IK:設定一個目標,關節末端始終朝向該目標,一般用來做頭部的朝向。
步驟:
a、在模型頭節點處添加Aim空物體並reset
b、給模型添加Aim IK組件,並填上Aim Transform及根脊椎到頭的4節關節(可以設置權重)
c、創建目標target(空物體)於臉的正前方,
d、在模型上添加空物體Pin,位置與target一致
e、給target添加Aim Boxing腳本,參數為模型對象及pin
f、運行后移動target,模型的臉帶動上半身的身體並始終朝向target
2.Biped IK:比Unity自帶IK多一個頭部IK控制
3.Full Body Biped IK:上面的強化版,控制部位更多(手肘、肩部、腰部、膝部、胯部等)
步驟:
a、給模型添加該組件腳本
b、填入根節點
c、要控制某個IK就增加權重,運行時就出現有一個立方形控制器,通過它可控制對應的IK
d、腳本控制:
public FullBodyBipedIK ik;
public FullBodyBipedEffector effector;//枚舉變量,自己選擇
ik.solver.leftHandEffector.position = leftHandTarget.position;
//給右手IK控制點賦位置,即讓右手移動到指定點
ik.solver.GetEffector(effector).position = target.position;
//給指定部位賦目標
4.Limb IK:3個點,連接3節骨骼,末端點帶動2節骨骼,注意添加Bend Goal控制收縮時的方向
5.CCDIK:Limb IK的增強版,可以連接多個骨骼,可以用來制作尾巴、繩索、機械手臂等
6.FABRIK:類似CCDIK,但是更顯柔韌的效果,可以用來制作鋼條、樹干等
7.Grounder FBBIK:人型模型在各種地形上移動時的IK效果
步驟:
a、給模型添加該組件
b、參數填寫模型對象
c、模型要添加剛體及碰撞器
d、運行后,模型腳部的網格會貼合地形(腳掌會保持平面,但是會根據地形有不同的傾斜)
e、只需要行走動畫,就可以呈現出在各種地形(樓梯、斜坡)上行走的動畫效果
8.Grounder IK:效果同上,為未知足數的模型可用,足數可自定義
步驟:
a、給模型的每條腿添加limb IK,並從腿根到腳填入骨骼參數
b、給模型添加grounderIK組件,並填入所有腿、模型網格對象及角色控制器對象
c、自定義行走控制器,運行后可在任意地形上行走
9.Interaction System:相互作用系統,可以獲取指定的ik並控制,呈現出相向移動的效果
步驟:
a、創建空物體Box,添加Interaction object腳本
b、截取手掌骨骼,添加Inateraction Target腳本,設置參數后旋轉手掌角度,此為觸碰對象平面時的擺放角度
c、將手掌添加到Box下
d、模型添加Interaction System
e、添加控制腳本:
interactionSystem.StartInteraction(FullBodyBipedEffector.RightHand, box, bool);
//執行事件
10.LookAtIK:讓模型朝向某點,作為頭部朝向時優於Aim IK,而且容易配合biped ik使用。
步驟:
a、給模型添加LookAtIK組件
b、添加頭部
c、從根部到頸部添加spine
d、運行
11.各種例子的解析:
a、拳擊:有專門的FBIK Boxing腳本控制,手部權重隨曲線變化,收拳時為谷底,擊中目標時為峰值
b、握手、推拉、拾取:用到相互作用系統
c、駕駛:有專門的FBIK Driving Rig腳本控制
d、機器腳:應用角度限制和關節限制
e、擊飛效果:手持長棍,揮擊目標,可以擊飛目標;應用到Motion Absorb的2個腳本。
f、接吻:有專門的Kissing Rig腳本
g、推牆:專門的Touch Walls腳本