热门排行
简介
Dynamic Bone(Unity3d动画重定向动力学骨骼插件)是一个Unity的动态骨骼插件,可以用于针对骨骼进行物理模拟,Dynamic Bone使用简单,解压后将Dynamic Bone脚本放到角色上面,然后将Root放到要进行动力学的根骨骼上,再将要进行碰撞的骨骼数组添加Colliders,其他参数设置都比较简单,本次带来dynamic bone1.2.0下载,需要的朋友千万不要错过哦!
原生DynamicBone介绍
DynamicBone是一个Unity的插件,可以用于针对骨骼进行物理模拟。由于开放源码并且工具链集成方便,因此颇受项目青睐 —— 我也是通过直接阅读该插件的源码来逐渐接触Unity开发的。
DynamicBone开放了Damping,Elasticity,Stiffness,Inert等物理属性接口,并且开发者可以通过配置DynamicBoneCollider来配置相应的碰撞体,来进行碰撞结算。
DynamicBone允许开发者指定对应的根骨骼,从而允许该骨骼的子骨骼进行物理结算,而根骨骼将不进行物理结算。换句话说,这样的物理模型更加适用于例如尾巴、马尾、Ragdoll等带有明显层级结构的物理模拟。
直到我入职为止,DynamicBone已经更新到了1.1.7版本。需要吐槽的是……在阅读源码之后,我个人认为对应的物理模型和结算逻辑经过作者的多次改动后,似乎已经比较混乱了。例如对应的Force和Gravity结算、外力结算的Integration都不太好阅读。
原生DynamicBone的工作原理
DynamicBone的物理逻辑与Tressfx、以及我的HairStrandPlugin(没错,这是一条广告)差不多,都是将需要进行物理模拟的对象抽象为Particles,然后针对于Particles进行物理逻辑运算。在进行完物理逻辑运算后,再根据Particles的位置来进行对象transform的设置。
DynamicBone的工作原理是使用松弛法,每次迭代分为Verlet Integration,Shape Keeping,Length Keeping和Collision Solve四个阶段。
模型导入装配什么的就不说了。
1.要做动作的模型,Rig----从这个模型创建Avatar Animations---取消导入动画。
2.有动画的模型,Rig----从其他模型创建Avatar,选中新模型的Avatar。
3.动画文件选择 Rig----从这个模型创建Avatar。全部选中humanoid。
使用方法
1.把DynamicBone脚本放到角色上。
2.Root放入要进行动力学的根骨骼。
3.Colliders放入要进行碰撞的骨骼数组,该骨骼上要放上DynamicBoneCollider组建。
参数说明
其他的参数都很简单,一看就知道怎么用了,这个插件东西不多但是效果不错,很好用。
UpdateRate:更新数率
damping:阻尼系数
Elasticty:弹力
stiffness:僵硬度
inert:迟钝系数
DynamicBoneCollider:可调节碰撞体的大小,方向。