基于SpringBone的头发、衣服随动效果

分享一个基于SpringBone做的头发、衣服随动效果,实现角色的衣袖、头发、裙摆、披风、尾巴等,在角色运动时,可以产生随动的效果。

参考:https://blog.****.net/akof1314/article/details/78895971

GitHub链接:https://github.com/unity3d-jp/unitychan-crs

也可以到:download.****.net/download/Delesgues/12014367 下载unitypackage包。

使用步骤

将模型放入场景中,挂载SpringManager到模型根节点,如下所示:

基于SpringBone的头发、衣服随动效果

参数说明:

Dynamic Ratio:柔软度,0-1之间,骨骼当前方向到目标方向的平滑度

Stiffness Force:整体硬度,越小像丝带,越大像钢筋

Stiffness Curve:硬度的逐节点变化

Drag Force:力衰减,越大越丝滑,越小像多节棍

Drag Curve:力的逐节点变化

对需要参与进行飘动的骨骼进行添加SpringBone脚本,在这里以左边的头发为例:

基于SpringBone的头发、衣服随动效果

节点J_L_HairTail_A00是头发的开始,在这个节点开始添加SpringBone脚本,设置其Child属性为下一个节点,如此往复,直到最后一个节点J_L_HairTail_A04_end,不用再挂脚本。

参数说明:

Child:下一个节点

Bone Axis:骨骼方向

Radius:半径

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

Colliders:进行碰撞的对象

现在运行拖曳模型,可以看到头发可以动起来,但是会与身体穿插。所以要配置每个节点可能会碰撞的范围,比如第一个节点J_L_HairTail_A00,因为靠近头部,也只会跟头进行穿插,所以只要在背添加碰撞信息脚本SpringCollider,调整碰撞的半径大小,让其与头部范围相符,然后将此碰撞信息添加到J_L_HairTail_A00的Colliders对象里,如下图所示:

基于SpringBone的头发、衣服随动效果

基于SpringBone的头发、衣服随动效果