1. 程式人生 > >Unity給力外掛之Final IK

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指令碼