Unity 头发随动效果

Posted alps_01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 头发随动效果相关的知识,希望对你有一定的参考价值。

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 头发随动效果的主要内容,如果未能解决你的问题,请参考以下文章

unity 骨骼物理 头发 布料模拟

unity 骨骼物理 头发 布料模拟

有没有哪位大神有可以在unity的lwrp里用的各向异性头发shader。。。??

Unity酱~ 卡通渲染技术分析

unity3d shader缔造金属各向异性效果

解决Unity中模型部件的MeshCollider不随动画一起运动的问题