游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2302|回复: 5

[求助]从Max到.X文件的问题(动画数据)

[复制链接]

14

主题

48

帖子

48

积分

注册会员

Rank: 2

积分
48
发表于 2007-8-29 15:59:00 | 显示全部楼层 |阅读模式
我目前正在制作骨骼动画方面的程序,但在获取动画数据时却遇到了不少问题,希望有哪位高手来指点下迷津。

我目前使用的图形处理软件是3DS MAX7,文件格式是.x文件,我使用的是DX 2007 SDK附带的MAX7插件DxExtensionsMax.gup来导出.X文件.问题主要集中在以下几个方面:

(1).我用手工自己装饰了一个骨骼, 并且还设置了几个关键贞. 我希望最后导出的数据应该是包含了我自己设置的关键贞的信息,然而最后导出的.X文件中,却是采样的动画数据(即每隔一个贞数就记录一个动作信息). 这不是我需要的,我认为只需要记录我设置的关键贞的动作信息就足够了,而在这些贞之间的动作可以通过四元数插值来获得. 但.X却强迫记录每一贞的动作, 这使文件的数量相当庞大. 不知道我如果才能使导出的.X文件中仅仅只包含我自己设置的关键贞的动作信息?

(2).另一个问题是我使用插件导出数据时,没有给我任何的选择余地,因此最后导出的采样数据的贞数和在MAX编辑界面上的轨迹栏上显示出来的贞数是一样的(也就是说你在MAX中的轨迹栏中有多少贞就给你导出多少贞). 但是根本不需要这么精确, 不知道我如果才能够每隔一定的贞数才采样一次(好比每隔5贞采样一次)?

(3).通过研究.X的数据都知道, .x能够保存4种动画变换: 4元数旋转, 平移, 缩放和矩阵. 其中矩阵变换可以通过综合前面的3种变换来得到.个人认为矩阵变换更适合于采样模式. 在DIRECTX9 SDK的演示程序中就有关于如何使用.X来制作动画,其中用到的文件为Tiny.x, 通过观察Tiny.x发现里面的动画数据全部是矩阵形式的变换, 但为什么我用插件导出的数据中却被明确分成了旋转,平移, 缩放3种. 请问如果才能够直接导出矩阵形式的变换数据?

我才刚刚开始学习动画制作,因此相信这些问题每一个初学者都应该碰到过, 很想有经验的高手来指点下,谢谢!

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-8-29 20:55:00 | 显示全部楼层

Re: [求助]从Max到.X文件的问题(动画数据)

换个.X的插件嘛

14

主题

48

帖子

48

积分

注册会员

Rank: 2

积分
48
 楼主| 发表于 2007-8-30 00:36:00 | 显示全部楼层

Re: [求助]从Max到.X文件的问题(动画数据)

有当然是最好,但可惜就连Directx2007的SDK都还是那个版本的插件。以前旧的XSKINEXP.DLE倒还提供了一个导出的设计面版,其中一项就可以设置贞采样频率,但可惜最高只支持到MAX5。0。实在没办法就只有自己编写插件了

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-8-30 09:38:00 | 显示全部楼层

Re:[求助]从Max到.X文件的问题(动画数据)

1.DX SDK的插件都是采样出来的数据,所以你想只要关键帧的话可以自己拿来插件的源代码来改
2.隔帧采样^^一样的可以改源码来实现,在面板上加一个频率选项,差不多二十行代码以内吧
3.同样改代码,但个人建议还是用平移\旋转\缩放三种动画数据来做,矩阵对于骨骼动画来说无论在算法效率和基于GPU的实现来说都不是最明智的选择.
PS:a.在没有硬件优化的情况下,四元数实现旋转比matrix要少多次乘法
b.在GPU里实现骨骼动画的话,一个matrix要使用4个常量寄存器,而s\t\r 则只要使用3个常量寄存器就可以了,事实上通过压缩,可以在两个寄存器内实现s\t\r的传输.这样你的骨骼动画可以支持的骨骼数目几乎可以增加一倍

14

主题

48

帖子

48

积分

注册会员

Rank: 2

积分
48
 楼主| 发表于 2007-8-30 10:45:00 | 显示全部楼层

Re:[求助]从Max到.X文件的问题(动画数据)

感谢4楼的朋友,但现在我对你谈到的在GPU实现4元数旋转更感兴趣,这对我来说又是一个崭新的主题,不知道能否提供一点资料方面的连接

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2007-8-30 16:09:00 | 显示全部楼层

Re:[求助]从Max到.X文件的问题(动画数据)

GPU里实现变换是SHADER的内容,随便找一本两本SHADER方面的书就可以了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 02:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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