Home › Forums › GAMES104 现代游戏引擎:从入门到实践 › run的时候鬼畜 This topic has 4 replies, 3 voices, and was last updated 2 years, 5 months ago by Yif. Viewing 1 reply thread Author Posts 2022年7月3日 at 下午7:20 #11921 Score: 0 bemfooParticipant 从idle到walk都是正常的,run的时候就开始鬼畜好像每一两帧帧在从头播放一样,请教一下可能是什么问题 2022年7月7日 at 下午9:18 #11969 Score: 0 YifParticipant 同样的问题 2022年7月8日 at 上午11:16 #11971 Score: 0 YifParticipant 解决了,看到隔壁帖子里提到m_weight.m_blend_weight[i]应该是sum_weight的值,但是还是没有搞懂这里的逻辑,等一个大佬点拨 2022年7月9日 at 下午3:27 #11973 Score: 1 MihawkParticipant Karma: 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. 2022年7月9日 at 下午4:39 #11975 Score: 0 YifParticipant 感谢!非常清晰的解释 Author Posts Viewing 1 reply thread You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In