Unity給力外掛之Final IK
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指令碼