在工作室制作一个动作类休闲游戏的过程中经过比较选择了ms3d做为动画模型.这样我们就需要把美工制作的max文件转化为ms3d格式.下面是我们采用的方法.(基本引用燕尘的ogre模型导出的文章)
(1) 使用ActorX插件,将角色动画从 3dsmax 完整导出PSA,PSK文件;
(2) 使用 MilkShape 3D ,读入上一步导出的动画,转化为ms3d。
下面介绍一下详细步骤。
0. 使用的工具:
(1) 3dsmax 4, 5, 6, 7
主要是因为下面的 Unreal ActorX 插件的强大,拥有对应 3dsmax 4, 5, 6, 7 各个版本的全部输出插件,所以在这里, 3dsmax 的版本不是问题。
我用的是 3dsmax 6
(2) Unreal ActorX for 3dsmax plugin
(2-1) 插件下载
你可以去 UND (Unreal Developer Network) 下载对应你的 3dsmax 版本的 ActorX 插件。下载页面在这里:
http://udn.epicgames.com/Two/ActorX这里还有 for Maya 4, 4.5, 5, 6 的 ActorX 插件。总之不管你使用 3dsmax 还是 Maya ,也不管你使用的是什么版本,这个插件的强大性可以保证你能够顺利输出,同时保证输出后的模型和动画文件遵守相同的规范,确保它们可以被 MilkShape 3D 顺利读取和最终输出。
(2-2) 插件安装
解压缩 ActorX_216_Max6.zip ,把里面的 ActorX.dlu 复制到 3dsmax 的 plugins 文件夹,例如 C:\3dsmax6\plugins
(2-3) 使用方法
插件的使用方法可以简单阅读一下这一页:
http://udn.epicgames.com/Two/ActorXMaxTutorial(3) MilkShape 3D 1.7.0 或 1.7.1
这是一个共享软件,未经注册无法输出,考虑到燕尘小筑的国际影响,坚决不在这里放出注册机或注册码,诸君可以自己寻找各种适用版本。它的官方网站在这里:
http://www.milkshape3d.comOK. 下面开始正式输出。
1. 第一步,使用 Unreal ActorX 插件,从 3dsmax 中输出角色模型 *.PSK 和骨骼动画 *.PSA 。
(1) 使用 3dsmax 打开原始角色动画文件 *.max 。
(2) 然后,你必须遵守一些必要的约束,对这个原始角色动画文件进行一些必要的预加工:
(2-1)
一次只能输出一个角色模型。如果你希望一次输出多个物体,比方说,你希望同时输出角色本身和角色手中拿着的武器,你需要先把角色本身转化为 Editable Mesh ,然后使用 Attach 功能将武器绑定为角色的子物体 (Sub Mesh) 。
(2-2)
角色的骨骼只能有一个根节点。如果需要输出的角色骨骼拥有多个根节点,你需要为它们新建一个共同的根节点。
(2-3) 最后是最重要的一点,忽略了这一点将会导致你输出的模型的法线和纹理产生严重的异常。
你必须给你的模型的材质赋予一个“合法的”名字。这一条,是 Unreal ActorX 输出插件的一个严格规定,
它要求所有的材质都必须带一个形如 “_Skin00” 、"_Skin01"、 "_Skin02" 这样的后缀。例如,如果你的模型带有两个材质,原来的名字分别是 "MBody" 和 "MFace" ,那么,你需要把这两个材质分别改名为 "MBody_Skin00" 和 "MBody_Skin01" 。
更改材质的名字可以使用 Material Editor :
(3) 然后,首先输出角色的静态模型,输出为 *.PSK 文件。这个模型文件中,包含了角色的皮肤和骨骼信息。
(3-1) 首先要打开 ActorX 工具箱。
(3-1-1) 到 3dsmax 右栏,点击小锤子图标切换到 Utilities 面板,点击 [More...] :
(3-1-2) 在弹出的 Utilities 窗口中,双击 "ActorX" :
(3-2) 在 ActorX 面板中,点击 output folder (输出文件夹) 一栏旁边的 Browse 按钮选择模型文件的保存目录,这同时也是稍后输出动作文件的保存目录;然后在 mesh file name (模型文件名) 一栏中给你要输出的模型文件取个名字。
(3-3) 然后点击 Save mesh/refpose (保存模型/参考姿势) 按钮来保存角色模型。在保存过程中会相继弹出下面两个对话框:
(3-4) 如果弹出错误信息,你需要根据错误提示做一些相应的纠正。很多情况下,可能是你的输出选项没有设置好,需要在 ActorX - Setup 面板中修改一些相应的选项:
每一个具体选项不再具体讲解,详细请参考这一页的下半部:
http://udn.epicgames.com/Two/ActorXMaxTutorial(3-5) 输出的模型文件为 *.PSK 。
(4) 最后就是骨骼动画文件 *.PSA 的输出。这个功能相当强大。
(4-1) 首先, ActorX - Epic Games 面板的上部是模型输出模块,下部就是骨骼动画输出模块。
(4-1-1) 在 animation file name (动画文件名) 一栏中,给你要输出的动作文件起个名字;
(4-1-2) 在 animation sequence name (动画序列名) 一栏中,给你要输出的这段动作起一个动作名,例如 dance 、 walk 、 run 、 attack 等等;
(4-1-3) 在 animation range (动画范围) 一栏中,给你要输出的这段动画序列指定一个输出的帧的范围,格式是 "开始帧-结束帧";
整个设置如下图:
(4-2) 然后首先我们要做的,是动画的采集 (Digest Animation) 。点击 [Digest animation] 按钮,看状态栏的进度条走完,就完成了动画的采集,但是这时候,仅仅是完成了这个动作序列的动画的数据取样,并没有把它保存起来,所以还需要进行下一步,就是动画的管理。
(4-3) 点击 [Animation manager] 按钮,打开 AcoorX animation manager (动画管理器) 面板:
(4-3-1) 在这个面板的左栏,我们会看到已经有了一个动画序列,名字是 "dance" ,我们可以使用中间的 move [-->] 、 [<--] 按钮,把这个动画序列移动到右边的 Output Package 一栏,也就是准备输出这个动作;
(4-3-2) 然后点击右边的 [Save] 按钮,骨骼动画序列就会被保存到指定的动作文件中:
保存成功后会弹出如下对话框:
(4-4) 就这样,动作文件被保存为 *.PSA 。
(4-5) 这个Animation manager 的动画管理功能十分强大,你可以做的不仅仅是保存单个动画序列,你还可以分别采集 (Digest) 多个动画序列然后把它们保存为一个动作文件,你还可以使用 [Load] 或 [Load As..] 按钮来读取一个现有的动作文件,对其添加或删除动作序列,然后再使用 [Save] 或 [Save As..] 按钮来保存修改过的动作文件。总之,这个动画管理器很强大,多多学习。
2. 使用 MilkShape 3D ,读取上一步生成的 *.PSK 和 *.PSA 文件,然后整合输出到 OGRE 。
(1) 打开 MilkShape 3D 。
(2) 使用菜单 [File] - [Import] - [Unreal/UT PSK/PSA ..] ,
首先输入模型文件 *.PSK ,然后输入动作文件 *.PSA :
(3) 你可能发现两处毛病:首先,骨骼可能错位了;其次,没有纹理贴图。这两个问题都不难解决:
(3-1) 首先你必须详细阅读 MilkShape 3D 的 Help ,学会各种简单操作;
(3-2) 纹理贴图的问题,在 Materials 面板点击这个按钮就可以选择贴图:
(3-3) 骨骼错位的问题,配合三视图,利用 Model 面板,首先使用 [Select] 按钮选择全部顶点,然后使用 [Move] 和 [Rotate] 工具来使角色的皮肤对齐角色的骨骼。
注意一!不要动骨骼;
注意二!在对齐时,必须确保下方的 Animation 栏处于未激活状态,也就是 [Anim] 按钮未被按下,一排动画播放键处于失效状态。等一切搞定后再点击 [Anim] 按钮播放动画。
(3-4) 调好的模型和骨骼:
(4) 现在就该输出了。
FILE->SAVE就可以保存为ms3d模型了.在irrlicht几乎支持所有常见的动画格式.ms3d支持的是比较好的.1.0版本有些问题,不过后来的版本更正了.希望irrlicht的明天会更好.也希望有更多的人来使用研究这个引擎.
posted @ 2007-06-01 22:24 安徽飞雪游戏工作室 阅读(4683) 评论(4)
编辑
irrlicht1.3的中文支持补丁,需要的朋友可以下载,如何使用里面有说明./Files/flysnow/IrrlichtML-1.3-win32Linux.zip
posted @ 2007-06-01 21:44 安徽飞雪游戏工作室 阅读(1220) 评论(5)
编辑
Audiere: http://audiere.sourceforge.net/
Platform: Windows, *nix
Cost: Free (LGPL) ------ freely use Audiere in commercial products
Support file format: Ogg Vorbis, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. 不支持MIDI
features:
Braindead easy API
Supported file formats: Uncompressed WAV*, Uncompressed AIFF*, Ogg Vorbis*, FLAC*, MP3, MOD, S3M, IT, XM (* supports seeking)
Streaming and buffered audio
Volume, pan, and pitch shift modification
Flat tone, square wave, white noise, and pink noise generation
Runtime enumeration of audio devices and supported file formats
Custom file streams
Python, Delphi, Java, XPCOM (JavaScript in Mozilla) bindings
Support 2D/3D: 2D, 不支持3D音效
Link: http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=1422
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=8853#8853
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=627&highlight=openal
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=6106&highlight=openal
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=7646&highlight=openal
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=8048&highlight=openal
Comment:
1. 3d sound made using audihere!! http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=7549&highlight=openal
OpenAL: http://www.openal.org
Platform: Windows, Mac, Linux, BSD, Solaris, IRIX, PS2, XBox, GameCube
Cost: Free (LGPL).
Support file format: Ogg , wav
Support 2D/3D: 3D(hardware supported) and SoundBlaster Live 5.1 compatible
Link: http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=2891&highlight=sound
http://www.devmaster.net/articles.php?catID=6
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=10267&highlight=openal
3d stereo sound http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=7335&highlight=openal
Comment:
1. The main reason why it doesn't work is to use stereo waves !!!
Stereo waves will cause OpenAl to play the sound as background music (like Audiere) !!!
If you use a mono wave it works: the nearer the player to the sounds position, the louder the sound is played. If the player left or right of the sound, the sound will played on left/right speaker...
2. 一般使用OpenAL..音效部分就是用wav格式, 背景音樂部份就是用ogg..
posted @ 2006-08-21 20:46 安徽飞雪游戏工作室 阅读(787) 评论(0)
编辑