游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8056|回复: 6

3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

[复制链接]

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2007-8-31 17:47:00 | 显示全部楼层 |阅读模式
最近在研究3dmax的导出插件,整的头晕, 现在每帧的骨骼变换矩阵可以得到, 每个骨骼都对应一个偏移矩阵,不知道这个偏移矩阵是如何获得的,请各位高人帮帮,谢谢了

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-8-31 19:51:00 | 显示全部楼层

Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

什么叫偏移矩阵?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2007-9-1 09:41:00 | 显示全部楼层

Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

确切说不是骨骼的偏移矩阵,是蒙皮与绑定这根骨骼的偏移矩阵,是蒙皮在骨骼空间的偏移。最终在计算蒙皮上顶点需要的 matrix 是骨骼的变换矩阵*偏移矩阵。

31

主题

249

帖子

259

积分

中级会员

Rank: 3Rank: 3

积分
259
发表于 2007-9-1 10:59:00 | 显示全部楼层

Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

我也遇到了类似的问题,看了半天MS的代码没弄明白,读取X文件的过程都是隐藏的。
于是我自己做了个骨骼动画文件,用Panda导出,然后用DX Viewer运行,发现里面的动画错了,应该有两个骨骼分支一起运动,可是那里只有一个在动。
我自己写了个翻译器,把X文件翻译成自己的格式,并且另外提供一个包含了骨骼层次关系的文件,然后翻译,用自己的渲染器渲染得到得结果是正确的。
所以我想是不是Panda在导出X文件的时候是不是把骨骼层次关系漏掉了?
下个学期学线性代数快开学了……

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-9-1 17:27:00 | 显示全部楼层

Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

……又来水一下……
原来是说蒙皮的初始矩阵啊,昏倒。
矩阵相乘的顺序和行\列主变换有关,所以可能是OffestMatrix*BoneMatrix ,也可能是BoneMatrix*OffestMatrix

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
 楼主| 发表于 2007-9-3 09:35:00 | 显示全部楼层

Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

谢谢大家的支持, 谢谢congy和whb9633的解释,就是这个矩阵,现在的问题是这矩阵在max里面的INode中如何获得,是从骨骼节点中得到还是模型节点中得到, 每根骨骼对应一个这样的矩阵,是不是从骨骼节点的数据中换算得到

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-8 02:16:00 | 显示全部楼层

Re: Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

whb9633: Re:3DMax导出骨骼动画时,骨骼的偏移矩阵如何获得

……又来水一下……
原来是说蒙皮的初始矩阵啊,昏倒。
矩阵相乘的顺序和行\列主变换有关,所以可能是Off...


行/列主 仅仅是matrix在计算机中的 物理 存储方式,
并不影响逻辑上(数学上)的形式。

实际上你的意思是,被变换的向量,是行向量还是列向量,
导致矩阵元素的排列顺序不同。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 22:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表