Unity动态骨骼Dynamic Bone

本文是翻译其使用文档,帮助自己使用的一篇文章,如果需要插件,请加群 : 891555732
请注意 : 插件仅供于研究,请勿商用


动态骨应用物理到角色的骨头或关节。
简单的设置,你的角色的头发,衣服,胸部或任何部分将移动现实。

一.Basic setup

  1. 准备一个适当的设置character模型,Mecanim and legacy rigs都支持。
    2. 选择要应用动态骨骼的游戏对象。
    3.在组件菜单中,选择Dynamic Bone -> Dynamic Bone。
    4. 在检查器中,选择根对象。
    5. 调整动态骨参数(参见以下部分的详细描述)。
    image.png


    你可以添加碰撞器对象,如果需要:
  • 选择collider将附加的游戏对象。
  • 在组件菜单中,选择Dynamic Bone -> Dynamic Bone Collider。
  • 调整collider的位置和大小。
  • 在动态骨骼组件中,增加collider的尺寸并添加相应的对象。

image.png

二.组件参数描述

1.Dynamic Bone

Root应用物理的转换层次结构的根。
Update Rate内部物理模拟速率,以帧/秒为单位。
UpdateModeNormal:正常更新。
AnimatePhysics:在物理循环期间更新,以便与物理引擎同步。
UnscaledTime:独立于Time.timeScale的更新。
Damping骨头慢了多少。
Elasticity施加多大的力使每块骨头恢复到原来的方向。
Stiffness多少骨头的原始方向被保留。
Inert在物理模拟中,忽略了角色的位置变化。
Radius每块骨头可以是一个球体,用来与对撞机碰撞。半径描述球体的大小。
Damping Distrib, Elasticity Distrib, Stiffness Distrib, Inert Distrib, Radius Distrib参数如何改变层次结构链。将曲线值乘以相应的参数。
End Length如果末端长度不为0,则在转换层次结构的末端生成一个额外的骨骼,
长度乘以最后两根骨头的距离。
End Offset如果末端偏移量不为0,则在转换层次结构的末端生成一个额外的骨骼,偏移量在角色的本地空间中。
Gravity在世界空间中,力作用于骨头。施加在角色初始姿态上的部分力被抵消了。
Force在世界空间中,力作用于骨头。
Colliders碰撞体与骨骼相互作用。防止交叉碰撞
Exclusions骨骼排除在物理模拟之外。
Freeze Axis约束骨骼在指定的平面上移动。
Distant Disable, Reference Object, Distance To Object如果角色远离摄像机或播放器,则自动禁用物理模拟。
如果没有引用对象,则使用默认的主摄像机。


函数 :

  • public void SetWeight(float w);

    控制物理如何与现有动画混合。
  • public void UpdateParameters();

    运行时更新参数,修改参数后调用此函数。

2.Dynamic Bone Collider组件属性描述

挂在在场景中有可能发生碰撞的物体身上

Center球体或胶囊的中心,在物体的局部空间内。
Radius球体或胶囊的半径,将按变换的比例缩放。
参数越大,与该物体发生的碰撞的机会越小
Height胶囊的高度,包括两个半球体,将按变换的比例缩放。
Direction胶囊高度的轴。
Bound将骨头约束在外面或里面。


教程 :
Unity布料系统与Dynamic Bone的摸索与实践,Unity中的快速模糊材质以及图片模糊材质

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千喜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值