飘柔长发

脚本原理:

把每个骨骼通过脚本控制起来,Unity的Animation动画和本身脚本的预算同时运行!

所需脚本:

SpringManager:子骨骼管理器用来调控子骨骼对应参数

飘柔长发_第1张图片

 

 SpringBone:子骨骼自身参数脚本

飘柔长发_第2张图片

 

 SpringCollider :子骨骼运动过程中的碰撞体

飘柔长发_第3张图片

 

 

举个例子:

导入一个蒙好皮的FBX,或者创建一个空的OBJ,我们姑且把他叫做根节点,

1.把SpringManager脚本挂到根节点上,如图

飘柔长发_第4张图片

 

 

调整参数:

Dynamic Ratio:柔软度,0-1 越靠近1 越柔软,越靠近0越坚挺!

其他参数不重要了,自己看着调节吧。

2.把对应的需要控制的子骨骼挂上脚本:SpringBone

飘柔长发_第5张图片

如图所示;

调节参数:

子物体必须挂上,父子关系明确。

IS use each bone force :勾上,互相伤害,影响

Stiffness Force :柔和度,数值越小,越柔和。

3.在对应的骨骼节点上挂上碰撞体脚本

如图所示:可以调节碰撞体的半径。最终来实现子骨骼之间穿帮的问题。

需要注意的问题;

1.如果越到你做的东西骨骼乱飞,那么请调节子骨骼最上面的父物体的Bone AXIS,全部改成0

飘柔长发_第6张图片

2.类似头发这种骨骼点,最好让美术明确好父子关系,一一对应起来,全部手动挂到SpringManager 上,没办法,要出效果就得手动添加,当然如果可以,可以把骨骼名字命名非常规范,然后让美术维护一个表,然后让程序读取这个表格,最终把这些骨骼加载进来,省去手动操作的麻烦,不过我还是建议手动做,毕竟最多也就100多跟骨骼,2秒钟一个。还能接受。唯一不好的是,如果美术对这个模型再次更改的话,又得重新做一遍!

3.把子物体上的 IS USE EACH BONE FORCE 勾上

 

 4.几个重要的参数需要慢慢的调节:

子骨骼上的柔软度

5.碰撞体也要挂到骨骼上,或者直接在对应的骨骼下面创建一个空的OBJ,再挂上SpringCollider 脚本来调节碰撞,这是个体力活,需要有耐心的人才能干!

链接:https://pan.baidu.com/s/1oMWaOWBrLdAp_HtBXPal0Q
提取码:4d2u 

转载https://gameinstitute.qq.com/community/detail/110575

 

 

 

 

你可能感兴趣的:(飘柔长发)