游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2988|回复: 7

关于.X文件中FrameTransformMatrix 的问题

[复制链接]

25

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
发表于 2006-5-24 13:21:00 | 显示全部楼层 |阅读模式
我从下面的网站下载了一条鱼的模型
http://toucan.web.infoseek.co.jp/3DCG/3ds/aquarium/Kumanomi.zip

然后对这个模型(为.3ds格式)进行如下处理:
1.导入到3dMAX中,然后为鱼模型每一个部分命名:如 body,CaudalFin,eyes等等
2.然后导出为.X格式文件,使用editplus或记事本打开,部分内容如下:

  1. Frame Body {
  2.   FrameTransformMatrix {
  3. 1.000000,0.000000,0.000000,0.000000,
  4. 0.000000,1.000000,0.000000,0.000000,
  5. 0.000000,0.000000,1.000000,0.000000,
  6. 0.000000,0.000000,0.000000,1.000000;;
  7.   }
  8. Mesh {
  9. ...................//省略

  10. }}}}


  11. Frame CaudalFin{
  12.   FrameTransformMatrix {
  13. 1.000000,0.000000,0.000000,0.000000,
  14. 0.000000,1.000000,0.000000,0.000000,
  15. 0.000000,0.000000,1.000000,0.000000,
  16. -0.087757,-0.024603,0.027450,1.000000;;
  17.   }

  18.   Mesh {
  19. ...................

  20. }}}}

  21. .................
复制代码


可是当我用3dMAX自己建模时(只是简单的模型,测试用),也进行上面同样的操作,
却发现导出的.X文件有些不同,如下:

  1. Frame body {
  2.   FrameTransformMatrix {
  3. 1.000000,0.000000,-0.000000,0.000000,
  4. -0.000000,0.000000,-1.000000,0.000000,
  5. -0.000000,1.000000,0.000000,0.000000,
  6. -3.144535,-0.141408,-0.000000,1.000000;;
  7.   }
  8.   Mesh {
  9. ...................

  10. }}}}


  11. Frame CaudalFin{  
  12. FrameTransformMatrix {
  13. 1.000000,0.000000,-0.000000,0.000000,
  14. -0.000000,0.000000,-1.000000,0.000000,
  15. -0.000000,1.000000,0.000000,0.000000,
  16. 14.179686,-0.678517,-0.000001,1.000000;;
  17.   }

  18.   Mesh {
  19. ...................

  20. }}}}
复制代码


区别就是FrameTransformMatrix ,下载的模型导出的.X中的FrameTransformMatrix的前三行均为单位矩阵的形式,而自己建模再导出的却不是,谁能解释一下这到底是怎么回事? [em24]

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2006-5-24 17:20:00 | 显示全部楼层 |阅读模式
FrameTransformMatrix本来用于在骨骼动画中记录每块骨头的继承矩阵,你现在既然不是骨骼动画,只是一个单Frame的普通Mesh,这个矩阵意义相对也不是很大了

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2006-5-24 17:00:00 | 显示全部楼层

Re:关于.X文件中FrameTransformMatrix 的问题

前三行是各轴偏移量,简单点儿的说就是方向。

第四行是位置。

估计是你建模的质量不高,且构建模型所在的平面坐标系不同造成的。

这个问题不大,只要模型能用,就不会关心这些值的。

25

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
 楼主| 发表于 2006-5-25 09:49:00 | 显示全部楼层

Re:关于.X文件中FrameTransformMatrix 的问题

这个偏移矩阵对我的程序意义很大,而且正是由于我提出的上述差别,我的程序用自己建的模型运行正常而使用下载的模型却不正常(我只是怀疑是由于偏移矩阵的不同引起的)。我的程序中是使用D3DXLoadMeshHierarchyFromX载入模型的

25

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
 楼主| 发表于 2006-5-25 09:52:00 | 显示全部楼层

Re: Re:关于.X文件中FrameTransformMatrix 的问题

King_jinjing: Re:关于.X文件中FrameTransformMatrix 的问题

前三行是各轴偏移量,简单点儿的说就是方向。

第四行是位置。

估计是你建模的质量不高,且构建模型所在的平面坐标系不同造成的。

这个问题不大,只要模型能用,就不会关心这些值的。

主要就是两个偏移矩阵的前三行不同
这个和建模质量的高低有关系么?我也怀疑是坐标系的问题,可是不理解同样在3dMAX中的模型导出来差别咋就这么大那? [em7]

25

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
 楼主| 发表于 2006-5-29 21:39:00 | 显示全部楼层

Re:关于.X文件中FrameTransformMatrix 的问题

没有人能够解释清楚么

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2006-5-30 16:27:00 | 显示全部楼层

Re:关于.X文件中FrameTransformMatrix 的问题

简单的说,就是你导入模型的位置,跟你新建模型的位置,不一样。

因为不在同一个位置上,所以导出的数据就不同。

25

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
 楼主| 发表于 2006-5-31 11:04:00 | 显示全部楼层

Re:关于.X文件中FrameTransformMatrix 的问题

怎么在3dmax中看这两个位置有什么差别呢?
是不是坐标系的问题啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 15:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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