1. 程式人生 > >Unity 頭發隨動效果

Unity 頭發隨動效果

動畫 har ges gpo ont body list 現在 tps

https://www.2cto.com/kf/201712/707981.html

目標

實現角色的衣袖、頭發、裙擺、披風、尾巴等,在角色運動時,可以產生隨動的效果。類似王者榮耀角色展示界面。

準備

使用Unity-chan模型來測試,下載地址:https://assetstore.unity.com/packages/3d/characters/unity-chan-model-18705

SpringBone

原版:https://rocketjump.skr.jp/unity3d/109/

改版:https://github.com/unity3d-jp/unitychan-crs

學習資料

《Unity中飄逸的頭發或飄帶實現》https://1vr.cn/?p=1922

《Unity動態骨骼插件 飄帶動畫基於bone的實時運算》https://www.cgjoy.com/thread-181206-1-1.html

《【飄逸的秀發】如何在移動設備下做出漂亮的頭發飄逸效果!》https://gad.qq.com/article/detail/23907

步驟

將模型放入場景中,掛載SpringManager到模型根節點,如下所示:

技術分享圖片

參數說明:

  • Dynamic Ratio:柔軟度,0-1之間,骨骼當前方向到目標方向的平滑度

  • Stiffness Force:整體硬度,越小像絲帶,越大像鋼筋

  • Stiffness Curve:硬度的逐節點變化

  • Drag Force:力衰減,越大越絲滑,越小像多節棍

  • Drag Curve:力的逐節點變化

    對需要參與進行飄動的骨骼進行添加SpringBone腳本,在這裏以左邊的頭發為例:

    技術分享圖片

    節點J_L_HairTail_00是頭發的開始,在這個節點開始添加SpringBone腳本,設置其Child屬性為下一個節點,如此往復,直到最後一個節點J_L_HairTail_06,不用再掛腳本。

    參數說明:

    • Child:下一個節點

    • Bone Axis:骨骼方向

    • Radius:半徑

    • Is Use Each Bone Force Settings:是否使用自身設置,而不受管理器控制

    • Colliders:進行碰撞的對象

      現在運行拖曳模型,可以看到頭發可以動起來,但是會與身體穿插。所以要配置每個節點可能會碰撞的範圍,比如第一個節點J_L_HairTail_00,因為靠近背的上部,也只會跟背進行穿插,所以只要在背添加碰撞信息腳本SpringCollider

      ,調整碰撞的半徑大小,讓其與背部範圍相符,然後將此碰撞信息添加到J_L_HairTail_00的Colliders對象裏,如下圖所示:

      技術分享圖片

      其他的節點需要的碰撞信息比較多,下面的頭發需要與相鄰的手臂進行碰撞處理,最後配置完畢效果如下:

      技術分享圖片

Unity 頭發隨動效果