• This topic has 4 replies, 3 voices, and was last updated 2 years ago by Yif.
Viewing 1 reply thread
  • Author
    Posts
    • #11921 Score: 0
      bemfoo
      Participant

      从idle到walk都是正常的,run的时候就开始鬼畜好像每一两帧帧在从头播放一样,请教一下可能是什么问题

    • #11969 Score: 0
      Yif
      Participant

      同样的问题

      • #11971 Score: 0
        Yif
        Participant

        解决了,看到隔壁帖子里提到m_weight.m_blend_weight[i]应该是sum_weight的值,但是还是没有搞懂这里的逻辑,等一个大佬点拨

        • #11973 Score: 1
          Mihawk
          Participant
          1 pt

          m_weight.m_blend_weight[i]=sum_weight,是为了存储下一轮混合时A应该占多少权重。
          AnimationComponent::blend的逻辑是先拿B跟A混合,存到A里;再拿C跟A混合,存到A里,最终得到三者的混合结果。
          假设pose A B C的权重分别是0.5 0.3 0.2
          第一次混合时B的归一化权重是:0.3/(0.3+0.5)(也就是cur_weight),A的归一化权重就是5/8。
          另外记录sum_weight为0.8,用于当作下次混合是A的权重(此时的A存储的已经是AB的混合结果)
          然后第二次混合时C的归一化权重是0.2/(0.2+0.8),A占0.8。
          最终得到的结果跟我们平时计算0.5*A+0.3*B+0.2*C是一样的。

          This post has received 1 vote up.
          • #11975 Score: 0
            Yif
            Participant

            感谢!非常清晰的解释

Viewing 1 reply thread
  • You must be logged in to reply to this topic.