美术制作教程手册

本文讲述如何使用ParaEngine制作3D美术模型. TIP 英文版请看Mod Guide Reference Book

安装开发环境

系统要求
System requirement Windows XP 32Bits
Required DirectX 9.0c 最新版
Optional 3dsmax 8.0 sp3 (32 bits)

首先你需要安装ParaEngineSDK for Artists 或者其他ParaEngine的SDK开发环境。

名字 ParaEngineSDK for Artists
版本 1.0.1
下载地址 www.paraengine.com/downloads/
直接运行EXE进行安装,请安装到您的工作硬盘; 你今后制作的美术模型也需要存放在同一个目录下。

如果您使用3dsmax 7/8/9 32 bits, 请安装ParaXExporter导出插件.

请根据你的Max版本号安装相应的版本 ParaXExporter for 3dsmax 8 sp3 32 bits
ParaXExporter for 3dsmax 9 32 bits
版本 1.0.0
下载地址 www.paraengine.com/downloads/
  • 安装最新的DirectX版本.
  • 请将文件(*.gup, dxcc.dll 等)直接解压并拷贝到 [3dsmax directory]\plugins\目录下(例如D:\Program Files\3DMAX8.0\plugins\).
    • 3dsmax会自动加载\plugins\下面的所有插件。 可以从[3dsmax directory]\plugin.ini 中看到这个目录信息。
  • 再将其他dll文件(dxcc.dll) 文件拷贝到 [3dsmax directory]\根目录下(例如D:\Program Files\3DMAX8.0\).
  • 重新启动Max, 菜单中会出现File-->Export--> ParaEngine ParaX File ... (*.x), 表示导出插件安装成功
  • TIP 请注意如果是3dsmax8, 一定要打SP3补丁。如果max 8没有打补丁将不能正常工作
  • TIP 请注意如果是3dsmax9 32bits, 一定要32位的版本。

我们还部分支持Collada File导出格式. 您可以安装第三方的Collada导出插件, 使用Max/Maya/Blender等任何您熟悉的美术开发环境制作模型。

TIP本文的美术流水线不包括Collada文件的部分,我们认为你使用的是ParaEngineSDK + 3dsmax 8 with sp3 or 3dsmax 9 + ParaXExporter

创建人物模型

3dsMax 环境设置

  • 使用米为系统单位. * 3dsmax 8中的z轴在引擎中是朝上的y轴
  • 人物模型在3dsmax 8中要朝着x轴的正方向

模型文件目录和命名

  • 人物模型需要存放在[ParaEngineSDK]/character的子目录中
  • 目录和文件名都必须是英文, 避免使用空格.
  • 我们一般将人物的所有文件(贴图和Max文件)都存放在同一个目录中。每个人物动作需要建立独立的Max文件。这些文件有相同的骨骼,模型以及命名前缀。
每个Max人物文件的命名是由命名前缀和参数组成的,参数部分用"(...)", 格式如下
   sObjectName (nAnimID [, fAnimSpeed] [, nonloop] [, nonloop]).max
      例如 "MyModel(0).max" ,  "MyModel(4, 1.234).max" ,  "MyModel(30, 0, nonloop).max". 

nAnimID 括号中的第一个参数 nAnimID 是一个[0,255]之间的整数, 表示引擎预先定义好的一些人物动作编号。例如0表示待机, 4表示走路, 5表示跑步. 详细的说明请见附录
fMoveSpeed 括号中的第一个参数 fMoveSpeed, 表示这个动画所代表的人物移动速度, 比如2.0米/秒. 如果没有,表示速度为0
nonloop 如果这里是nonloop, 表示这个动画是不循环的, 默认是循环。

比如一个小狗的人物,我们可以这样来建立文件目录,假设所有的贴图和Max文件都在character/my_product/dog/ 目录

   
   ..............................
   ./dog/dog(0).max
   ./dog/dog(4,2.5).max
   ./dog/dog(5,4.125).max
   ./dog/dog.tga
   ..............................

导出ParaEngine X文件

我们将0号待机动作称为标准动作, 但我们使用导出插件导出一个目录中的所有动画时, 要从0号标准动作开始。例如:

用3dsmax打开 ./dog/dog(0).max , 选择菜单file->export (ParaEngine X file), 如果您安装上述建立目录, 则不需要指定路径和名称, 比如随意输入"s", 点击确定. 如果你的模型正确。此时会弹出对话框, - 如果你只是测试当前模型,可以直接点击确定。 导出插件将在Max文件所在的目录生成文件"./dog/dog.x", - 如果你要导出最终的X文件, 选择export all character animations. 此时导出的X文件将包含的本目录中所有的Max动画。

建立模型

为了让同一个项目产品中的的动画可以尽量通用,我们建议所有的人物初始绑定姿势(Initial Bone Pose)是一样的。 我们建议使用著名的Da Vinci 达芬奇姿势作为初始绑定姿势。
  • 友情提示:请注意人物大小,朝向和姿势.

包围盒

Axis Aligned Bounding Box(aabb) 是一个能够近似代表人物的Box区域, 可以通过建立一个Box模型并将其命名为aabb指定。 这个区域被引擎用来做渲染优化,人物高度, 物理检测等用途。如果没有指定,则是网格没有绑定前的包围盒。

贴图和材质

  • 友情提示:在模型制作完成后,一般会赋予一张白色的贴图,导入到引擎中看一下效果, 检查人物大小,朝向,再进入下面的骨骼动画环节

骨骼动画

可以使用几乎任何人物骨骼动画, 例如skin, physique, biped (motion capture), bones,只要满足下面的要求.
  • 在绑定骨骼前不要放缩模型。 如果你这样做了,请重置Transform(Reset Transform).
  • 请在骨骼蒙皮前调整好骨骼的大小; 骨骼动画制作过程中要尽量避免使用骨骼放缩动画, 如果使用也只能是X,Y,Z同时放缩。
  • TIP 如果Skin蒙皮动画使用到了多个网格Mesh上, 那么只有骨骼最多的Mesh会被导出。可换装的人物往往是由许多Mesh部件组成的, 每个部件都有自己的蒙皮,此时我们需要建立一个Box, 并将场景中所有用到的骨骼蒙皮Skin到上面, 并随意赋予权重(可以使用Weight Tools快速实现)。这样做的目的是保证所有的骨骼都被导出。请注意在3dsmax 中, 每个点的蒙皮骨骼数有限制,所以在使用weight tool时, 你可能需要将骨骼分布到Box的多个定点Vertex上.
  • TIP 无论模型文件中有多少的蒙皮Skin, 必须保证他们都是在相同的初始姿势下绑定的,包括上面提到的Box。这是因为ParaEngine为每个人物只保存一个初始姿势的骨骼信息(为了节约磁盘空间和使用通用动画);然而3dsmax会为每个Skin保存各自的骨骼初始位置;那么如果多个蒙皮Skin是在不同的骨骼初始位置下添加的,引擎和3dsmax下的动画将会有很大的差异。所以如果不用CS骨骼,而用Skin, 建议单独建立一个没有动画的标准姿势文件保存这个绑定时的初始骨骼姿势,以便未来修改或添加新骨骼;如果用CS骨骼,CS内部本身会保留这个姿势,并可以随时切换,所以不必保存这个姿势。
  • 同上: 所有的点至少有一个骨骼影响(比如建一个没有贴图的Box,将所有的骨骼绑上去)
  • 在正常的Mesh中影响同一个点的骨骼不能超过4个,如果超过, 引擎只取前面4个. 这是为了性能优化
  • Biped骨骼做不了的东西,采用Box Link或Bone, 然后使用Skin。例如一些人物眼睛和嘴巴的位置动画. Note 如果要在CS骨骼之外,添加其他骨骼或Box时:注意必须在CS为标准姿势时绑定。
这样才能保证所有的人物动画的骨骼都是在同一个姿势下被绑定的。
  • TIP 我们强烈建议尽量使用CS Biped制作模型动画, ParaEngine引擎可以识别Biped的骨骼命名(英文), 因此可以使任何采用Biped的模型, 播放任何Bip或BVH等动作捕捉文件

注意事项

常用模型ID

这里指FileName(ID) .max 括号中的内容。
ID 含义
0 STAND 站立姿势
1 DEATH 死亡
4 WALK 向前走
5 RUN 向前跑
13 WALKBACKWARDS 向后走
37 JUMPSTART 向上跳的起始动作
38 JUMP 跳动中,在空中的动作
39 JUMPEND 落地的动作
41 SWIMIDLE 游泳(水中)的待机
42 SWIM 向前游动
43 SWIMLEFT向左游动
44 SWIMRIGHT向右游动
45 SWIMBACKWARDS 向后移动
91 MOUNT 缺省的坐骑
153 CUSTOM0 附加待机动作,会随机插入到0号待机动作中
154 CUSTOM1 附加待机动作
155 CUSTOM2 附加待机动作
156 CUSTOM3 附加待机动作

创建场景模型

Warning: Can't find topic Main.StaticModel

ParaX Exporter Reference

Topic revision: r5 - 2010-09-03 - LiXizhi
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback