脚本原理:
把每个骨骼通过脚本控制起来,Unity的Animation动画和本身脚本的预算同时运行!
所需脚本:
SpringManager:子骨骼管理器用来调控子骨骼对应参数
SpringBone:子骨骼自身参数脚本
SpringCollider :子骨骼运动过程中的碰撞体
举个例子:
导入一个蒙好皮的FBX,或者创建一个空的OBJ,我们姑且把他叫做根节点,
1.把SpringManager脚本挂到根节点上,如图
调整参数:
Dynamic Ratio:柔软度,0-1 越靠近1 越柔软,越靠近0越坚挺!
其他参数不重要了,自己看着调节吧。
2.把对应的需要控制的子骨骼挂上脚本:SpringBone
如图所示;
调节参数:
子物体必须挂上,父子关系明确。
IS use each bone force :勾上,互相伤害,影响
Stiffness Force :柔和度,数值越小,越柔和。
3.在对应的骨骼节点上挂上碰撞体脚本
如图所示:可以调节碰撞体的半径。最终来实现子骨骼之间穿帮的问题。
需要注意的问题;
1.如果越到你做的东西骨骼乱飞,那么请调节子骨骼最上面的父物体的Bone AXIS,全部改成0
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