|
本人最近在研究WAR3 mdl模型格式,这方面的资料很少,大多数是自己摸索的,有几个问题没完全弄明白
1.插值时我是根据时间找到所在的时间段,然后interp(value,value[i+1],(curtime-time)/(time[i+1]-time))
但是好像有问题,比如这个
GeosetAnim {
Visibility 11 {
DontInterp,
53667: 0,
55667: 0,
57067: 0,
58200: 0,
59367: 0,
61033: 0,
64333: 0,
70533: 1,
71333: 0,
73067: 0,
73767: 1,
}
GeosetId 0,
}
中间很多重复的0是干什么的?
还有就是当时间小于第一个或大于最后一个时间点怎么办?
2.旋转的hermite插值方法是怎样的?我是先D3DXQuaternionSquadSetup(&A,&B,&C,intan,a,b,outtan)
然后D3DXQuaternionSquad(&value,a,&a,&b,&c)(乱猜的)
我用恶魔猎手的模型测试,现在模型大多数情况下没问题,但是walk动画下整个人乱转。还有前面几个动画左手武器显示不出来(好像是visibility插值有问题)。 |
|