游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4289|回复: 11

微软MAX导出插件的缺点

[复制链接]

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2006-5-10 23:56:00 | 显示全部楼层 |阅读模式
近2个月来,在下一直学习研究游戏骨骼动画相关技术,在这过程中,势必需要使用MAX(为什么不用MAYA?不好意思,我只会MAX)制作骨骼动画,然后将其数据导出。原本我想使用微软发布的MAX导出插件,因为那时我不会制作导出插件,但是,我发现,这是不可能的,微软发布的MAX导出插件导出的数据根本无法直接使用在项目中,我不得不自己去制作导出插件。微软的MAX导出插件有以下几个缺点:
  1 模型数据没有经过优化,导出的数据有大量的冗余信息,这使得模型容量过大。我举个例子:一个长方体配一个纹理,微软导出后的数据是36个顶点,如果优化的话只有24个顶点。也许你觉得只差12个顶点,但是这只是个立方体,要是一个平滑过2次的球(分段数忘了)我自己的导出插件导出的数据是约3万个顶点,占用硬盘空间2.36M,而微软导出的数据是约19万个顶点,占用硬盘空间达到45M。
  2 虽然号称可以导出骨骼数据(框架数据),但是我发现这些骨骼数据也不能直接使用,需要一定的处理,这牵扯到一些运算我就不多说了。
  3 不能导出蒙皮所需的权重数据,这点对于导出骨骼动画数据来说是个致命的缺点,这使得它的骨骼数据毫无用处。除非你只想导出普通网格数据,但即便如此也会令你大失所望,其原因如第一条所述。
  以上三点使得微软的MAX导出插件如同鸡肋一般,至于微软MAYA导出插件俺就不晓得了,因为偶没用过,自然也就没用发言权。
  顺便说一下,我在自己制作导出插件时也看了看微软MAX导出插件的原代码,结果也是令人失望的,因为我发现深层的原代码被微软封装隐藏了,你无法看到其内容,所以,总体来说微软是狡猾狡猾地。

25

主题

134

帖子

134

积分

注册会员

Rank: 2

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

Re:微软MAX导出插件的缺点

呵呵,楼主很牛啊

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-5-11 12:48:00 | 显示全部楼层

Re:微软MAX导出插件的缺点

如果选择二进制压缩格式,导出的文件还是比较小的。另外,dx SkinExp 插件并没有隐藏细节,如果非要说隐藏,也是写文件的部分,它先将导出的数据变成导出对象格式,然后使用持久化机制写入文件,这部分不看也罢。核心的部分代码都是公开的,我认为还是有很大借鉴的价值。我也是参考了它的源代码完成了引擎的导出插件。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-5-11 12:56:00 | 显示全部楼层

Re:微软MAX导出插件的缺点

对于楼主2、3点不敢苟同,有这回事吗?

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
 楼主| 发表于 2006-5-11 18:39:00 | 显示全部楼层

Re: Re:微软MAX导出插件的缺点

hdm2968: Re:微软MAX导出插件的缺点

对于楼主2、3点不敢苟同,有这回事吗?


我很负责地说,有的。先说第3点,你只需实践一下,在MAX中做个骨骼动画,然后使用微软的导出插件将其数据导出,你再看看这个X文件,此文件中没有权重数据,你甚至都不用去具体检查权重数据,只要看看文件头就知道了,权重模板是非注册的标准模板,因此,作为公共导出插件,如果有权重数据的话,文件头必须有此模板的声明,但是导出后的数据没有此模板声明。再说第2点,你如果自己能够导出权重数据的话,你使用微软的骨骼数据试一下,其结果是:美女变张飞,张飞变大树,大树变石头,石头变黑版,黑版嘛......可以涂金字了(呵呵,这是马爷爷说的)。

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
 楼主| 发表于 2006-5-11 18:53:00 | 显示全部楼层

Re: Re:微软MAX导出插件的缺点

踏雪飞鸿: Re:微软MAX导出插件的缺点

呵呵,楼主很牛啊


末学不牛,末学是个新人,接触游戏制作相关技术还不到1年(自己瞎琢磨),末学还要向各位高手学习赐教。末学十分喜欢游戏,包括玩和开发,就是太毁眼睛了,现在裸视下降到0.2了,再下降就去同仁医院挨它一激光。

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
 楼主| 发表于 2006-5-11 19:09:00 | 显示全部楼层

Re: Re:微软MAX导出插件的缺点

congy: Re:微软MAX导出插件的缺点

如果选择二进制压缩格式,导出的文件还是比较小的。


首先,感谢你所提出的观点。其次,我再稍微解释一下:
微软导出插件所导出的数据中的冗余信息与其所存储的格式是无关的,你所说的文件较小是相对于文本格式,但无论是文本格式还是两进制格式其冗余信息都是存在的,换句话说,几何信息是不变的(顶点数量不变)。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-5-11 19:55:00 | 显示全部楼层

Re: Re: Re:微软MAX导出插件的缺点

ricohcanon: Re: Re:微软MAX导出插件的缺点



我很负责地说,有的。先说第3点,你只需实践一下,在MAX中做个骨骼动画,然后使用微软的导出插件将其数...

我用的是for max3的DX导出插件,起码我用它并没有什么问题,而且我能在当中找到权重信息

14

主题

51

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2006-5-11 20:04:00 | 显示全部楼层

Re:微软MAX导出插件的缺点

X文件有权重数据.
你找个有骨骼动画的X文件,比如tiny.x,用记事本查SkinWeights便知.

4

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-5-12 12:03:00 | 显示全部楼层

Re:微软MAX导出插件的缺点

有没有好一点的导出工具啊.我不会啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 11:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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