Unity游戏开发 头发飘动效果

准备工作

下载Unity-chan!插件,到Assetstore搜索"Unity-chan!",下载并导入。

使用流程

1.在人物模型的根节点添加SpringManager组件。

Unity游戏开发 头发飘动效果_第1张图片

Dynamic Ratio:范围0-1,决定了飘动的强度0最小,1最大。

Stiffness Force:僵硬程度,当为0时摆动效果非常强,若没有设置阻力会一直摆动。当为1时不会摆动。

Stiffness Curve:僵硬度的变化曲线。

Drag Force:阻尼强度,发生摆动时阻尼越大,摆动恢复到原来的状态越慢,反之更快。

Drag Curve:阻尼强度的变化曲线。

Spring Bones:需要飘动的骨骼点,比如头发的骨骼点。

2.在需要做飘动的骨骼点上挂载Spring Bones脚本。

Unity游戏开发 头发飘动效果_第2张图片

Bone Axis:骨骼受力方向向量。

    当人物发生移动时,当前骨骼点摆动的方向。实际测试的时候当我们沿着x轴正向移动人物,Bone Axis为-1时头发会相对人物往x轴负方向移动,为1时会相对人物往x轴正方向移动。因此实际作用的时候应该是人物受力方向和Bone Axis的点积得到最终的受力大小。

Radius:暂时没太明白,用的系统默认值。

Is Use Each Bone Force Setting:是否使用当前骨骼自定义的受力情况。

    这个要结合Spring Manager的Seiffness Force和Drag Force。未勾选该选项的时候会使用Spring Manager里的值覆盖自定义的。

Stiffness Force:同Spring Manager

Drag Force:同Spring Manager

Spring Force:当前骨骼点自带的力。

Colliders:这个用于处理模型穿插的问题,里面添加当前骨骼点不能穿过的碰撞盒。

Debug:开启Radius在编辑器下的展示。

Threshold:Dynamic Ratio大于这个值摆动才会生效。

3.当发生穿模时,在穿模的骨骼点上挂上Spring Collider脚本,并在Colliders中添加与当前骨骼点做检测的碰撞盒。

比如我的头发摆动时和人物的脑袋穿模了,则可以在人物的脑袋上挂一个Spring Bone和Spring Collider。然后将脑袋的Collider赋值给当前骨骼点的Colliders。

Unity游戏开发 头发飘动效果_第3张图片

Radius:碰撞检测范围(球形)

你可能感兴趣的:(unity,游戏)