四元数在左手坐标系和右手坐标系下有区别吗。。。。。
目前在研究游戏的模型格式。。。。想导入MAX的 对其中顶点的坐标法线和UV都知道在哪了。。。。。
现在就差骨架搭不出来。。。。。。
游戏使用的是左手坐标系,所以模型网格导入时做了 Y Z交换,UV 是v=1-v 就可以正常的导入3DMAX了,
每个骨骼保存了 1.比例(全是1 :1:1) 2 父骨骼ID(我是这么理解的)3.一个旋转四元数。4位置信息。和一个1常量
比如:(1.0 1.0 1.0) (84) (0.5226397 0.5226397 0.4762854 0.4762854)(-5.95,33.60674,3.827777)(1.0)
可是搭出来的骨架样子怪怪的。。。。
上面的数据需要做坐标系的转换吗?
附上我的骨架代码,是脚本应该好理解的。。。
bb[1]=bone()
bb[1].name="骨骼-0"
for i=2 to bonen+1 do(
in bb[bonefid[i]] bb[i]=bone() --确定各节点的父子关系
)
for i=2 to bonen+1 do(
move bb[i] bonepos[i]
--rotate bb[i] (bonequat[i]) --依次移动每个节点
)
for i=2 to bonen+1 do(
rotate bb[i] (bonequat[i]) --依次旋转每个节点
)
)