美文网首页
Dynamic Bone学习笔记

Dynamic Bone学习笔记

作者: AlpacasKing | 来源:发表于2019-05-02 20:26 被阅读0次

    Dynamic Bone将物理学应用于角色的骨骼或关节。
    通过简单的设置,角色的头发,布料,胸部或任何部分都会运动得更加真实。


    基本设置:
    1.准备一个支持Mecanim或者legacy动画的角色。
    2.选择要应用Dynamic Bone的游戏对象。
    3.在组件菜单中,选择Dynamic Bone -> Dynamic Bone。
    4.在inspector中,设置root object。
    5.调整参数(请参阅下面的详细说明)。

    如果需要,可以添加碰撞体:

    1.选择附加碰撞体的游戏对象。
    2.在组件菜单中,选择Dynamic Bone -> Dynamic Bone Collider。
    3.调整碰撞体的位置和大小。
    4.在Dynamic Bone组件的Colliders中,增加Dynamic Bone Collider。

    Dynamic Bone组件各种设置:

    • Root:受到影响的层次结构的根节点。

    • Update Rate:内部物理模拟速率,以每秒帧数为单位。

    • UpdateMode
      Normal:正常更新。
      AnimatePhysics:与物理计算同步更新,以便与物理引擎同步。
      UnscaledTime:独立于Time.timeScale的更新。

    • Damping:阻尼,骨骼运动的快慢。

    • Elasticity:弹性,用于将每个骨骼返回到原始方向的力。

    • Stiffness:刚度,骨骼的原始方向会保留多少。

    • Inert:惰性,在物理模拟中会忽略多少角色的位置变化。

    • Radius: 每个骨骼都可以是与碰撞器碰撞的球体,半径描述球体的大小。

    • Damping Distrib, Elasticity Distrib, Stiffness Distrib, Inert Distrib, Radius Distrib:参数如何在骨骼层次结构上变化,曲线值将乘以相应的参数。

    • End Length:如果不为零,则在变换层次结构的末尾生成额外的骨骼,将在此长度上乘以最后两个骨头的距离。

    • End Offset:如果不为零,则在变换层次结束时生成额外的骨骼,
      offset是局部空间的偏移。

    • Gravity:在世界空间的作用于骨骼的重力。部分适用于角色的初始姿势的力会被取消。

    • Force:在世界空间中作用于骨骼的力。

    • Colliders:与骨骼相互作用的碰撞体。

    • Exclusions:排除在物理模拟之外的骨骼。

    • Freeze Axis: 限制骨骼在指定平面上移动。

    • Distant Disable, Reference Object, Distance To Object
      如果角色远离相机或玩家,则自动禁用物理模拟。
      如果没有参考对象,则使用默认main camera。

    Dynamic Bone Collider组件各种参数:

    • Center:位于物体的局部空间中的碰撞体的中心位置。

    • Radius:球体或胶囊碰撞体的半径,受比例缩放影响。

    • Height:胶囊碰撞体,包括两个半球,受比例缩放影响。

    • Direction:胶囊碰撞体的朝向。

    • Bound: 将骨骼约束到边界外部或内部。


    API使用参考:

    • public void SetWeight(float w);
      控制物理计算与现有动画的融合。

    • public void UpdateParameters();
      在运行时更新参数,在修改参数后调用此函数。

    相关文章

      网友评论

          本文标题:Dynamic Bone学习笔记

          本文链接:https://www.haomeiwen.com/subject/xdxgnqtx.html