• 历史
    • Locomotion System最早发表于GDC 2009,其方案的工程实现最早于Unity,商店同名免费,目前最新版本支持到unity 2018
  • 用途
    • Locomotion是一个半程序化(Semi-Procedual) 动画逻辑。它不是一个完整的动画控制系统,它甚至不会控制一个完整的骨骼体。Locomotion仅牵扯控制到所有多足生物的腿部和足部,以解决骨骼体在非平面平台上足部腿部关节变形不够写实的问题。需要完全配合其他动画方案一起使用
  • 使用要求
    • 模型要求
      • 骨骼体的腿脚部必须拥有 髋部Hip、踝部Ankle、趾部Toe 以产生合理的Transform变化(从腿到臀部至少两块骨头)
      • 如果目标骨骼体没有Toe(比如非人形)则用末端关节代替
      • 在脚到臀的骨骼链上,第一个和最后一个关节是球形关节(ball and socket joints)。中间至少是铰链关节(hinge joints)
      • 腿骨不会(由动画产生)缩放拉伸
    • 动画要求
      • 必须循环
      • 没有整体位移(原地行走)
      • 膝盖不会过度弯曲
      • 脚在最低位且不会穿透地面
      • 脚在与地面接触时需要以线性速度向面向方向的反方向移动
      • 需要提供过程中的关键帧,包括但不限于一段步行动画中哪一帧时某一只脚抬离地面
        • Kovar 和 Gleicher在2004年提出了自动化工具以集中定位数据集中逻辑相似的运动段并构建参数化运动
          • Flexible automatic motion blending with reg- istration curves. In SCA ’03: Proceedings of the 2003 ACM SIGGRAPH/Eu- rographics symposium on Computer animation, pages 214–224
        • Kwon和Shin于2005年分析人类行走与跑步的质心轨迹,将未标记的运动序列分割成运动半周期
          • Motion modeling for on-line locomotion synthesis. In SCA ’05: Proceedings of the 2005 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 29–38
    • Locomotion需要一个指定长宽的平面作为足底面,负责后续足部对地面的接触判断,因此几条腿就需要几个足底面
    • Locomotion仍然需要传统关键帧动画以执行混合
  • 功能
    • 自动计算匹配足部坐标与旋转的IK
    • 自动权重混合(最多混合两种动画),可以按移动速度混合
    • 只需要少量动画,且可做反向(前进动画可以作为后退动画)
    • 使用Raycast预测落点对骨骼进行IK倒算,预测会实时更新直到脚落地
 
 
3dsmax的屎山操作说明Semi-Procedual Locomotion研读:核心算法