Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
This topic contains an overview of the tools used for exporting assets to the Sandbox Editor




In this section we will focus on the basics of how to export assets. You should be aware that when we are describing broad terms which are interchangeable with 3DS Max , and Maya and XSI we simply refer to all three as Digital Content Creation tools or in short, "DCC".

This article assumes that the user knows the basic functions of digital content creation (DCC) tools. It is not intended to teach the user the basics of their DCC tools, but rather the exporter basics with our tools and plugins.

Table of Contents

Exported File Types

Crytek Geometry Files (.CGF)

  1. Select the static asset node (poly geometry) that you wish to export and add it to the Object Export list.
  2. From the drop-down list of file types, select CGF.
  3. Save the 3ds Max scene to your CRYENGINE build directory like: <root>\GameSDK\objects\static_asset\
  4. In the Object Export panel in the Exporter UI, click Export Nodes.

The Merge All Nodes option is supported for CGFs.

Crytek Skinned Character Files (.CHR)

  1. Select the skinned node that you wish to export. The skinned node should be weighted to a bone hierarchy by using CrySkin modifier.
  2. Save the 3ds Max scene to your CRYENGINE build directory like: <root>\GameSDK\objects\character\
  3. In the Object Export panel in the exporter UI, click Add Selected (if the object list is not empty, click Clear to empty it).
  4. Check that the root bone of the skeleton is displayed in the Bone list inside the Bone Export panel in the exporter UI.
  5. In the Object Export panel in the exporter UI, click Export Nodes.

The Merge All Nodes option is not supported for CHRs.

titleIgnore Dummies

In 3ds Max you can use any node to be a bone in the Engine. We implemented a Ignore Dummies function which you can turn on and off for the export. It is a good way to exclude some of the bones that you maybe just use in 3ds Max but do not want to export to the Engine.

A common mistake is that a dummy used to be the main root of the hierarchy with the Ignore Dummies function turned on while exporting and it will not export the asset since it is the root of the structure and will break before export. Just make sure for each asset if you use a dummy and it is part of your structure that you do not tick the checkbox Ignore Dummies.


This cylinder has 5 bones and all are linked in a hierarchy starting from the root bone. We are using our CrySkin modifier to make sure that we got the same preview of the skinned geometry in 3ds Max and the Engine.

If you use the Skin modifier you will notice differences in the animated skinned geometry so make sure to use CrySkin instead.

The geometry itself is not linked to the hierarchy of the bones, it will just be connected with the skinning information to each bone.

To export the .chr file just make sure to save your 3ds Max scene to a directory in your build structure like: <root>\GameSDK\Objects\characters\cylinder\

Under the Utilities tab you can add our CRYENGINE Exporter to get access to the exporter plugin.


Now add the cylinder geometry to the Object Exporter list and switch the asset type to .chr file.

In our case we named the character "Cylinder" so we want to hold that name without overwriting it. We basically check the tickbox to Export File per Node and do not use a custom file name, this will provide the same name of the node from 3ds Max and later on in the Engine. If you want to overwrite the name and use a custom one just check the box and set a destination directory for the final export.

Next to the Object Export list you can also see the Bone Export list. It will always show the root bone from your hierarchy by default which will be the bone named root in our case. Press the blue Export Nodes button and the .chr file will be exported to the directory of the 3ds Max scene or the custom changed destination.

Crytek Animated Geometry Files (.CGA)

Try to setup a 3 box chain, for example:

The first thing you need to do is change all the motion interpolation splines to TCB.

Manually Changing the Motion Curves to TCB: Select the object and click the wheel motion from the menu on the right.

Next, locate the Assign Controller option box pictured above. Click the Position channel, and then click the info button above it. This will bring up the interpolation options for the animation curves that you have selected.

You will need to convert all the motion curves to TCB.

titleFor Maya Users:

Setting TCB rotation is not necessary in Maya as the tools handle it automatically if needed.


You will need to open the info for all the three channels, and then click Make Default, which displays the Assign Controller dialogue box.

Click Yes and repeat the process for every channel of every object that you are going to be exporting. You need to change all the motion interpolation splines to TCB.

You can apply now a basic animation to each of the boxes, the animation will be exported within the .cga and will be called "default".

If you want to export more then just the default animation refer to the description of Animation files (.anm) files.

A quick way to test your .cga asset will be to load up the editor and pick the Entity -> Physics -> AnimObject from the RollupBar drag it into a level and change the model type to your fresh exported .cga

Under the animation tab of the AnimObject entity properties you will see the features for the entity. Make sure to set these values to play the default animation for your .cga:

  • Animation = default (the default animation is stored in your .cga file)
  • Loop = true
  • Playing = true

Animation Files (.anm)

  1. Select one or more of the moving objects from the CGA set that you just exported and click Add Selected.
  2. Make sure that the Export To drop-down list is set to Animation for cga (.anm) and again click Export Nodes.
  3. Repeat the process for every animated part of the CGA set.

Character Animation Files (.CAF)

  1. In the Bone Export panel, select Bip01 and ensure that the Ignore dummies check box has been deselected.
  2. Now, click Export Bones and a dialogue box will be displayed, which will prompt you to specify where to export the file.

Material Files (.mtl)

The .mtl file will be exported from the DCC tool using our Crytek shader which comes with the exporter plugin. 3ds Max uses an ID based system, that means you can change IDs on each face for your asset and assign a sub material with the same ID number.

The default material name will be stored in the exported asset. This is important, the material with the name that you assigned to the asset will be the default material name that the asset is looking for in the Engine. You will notice that the cube has the name Box01 and the material which is assigned to the asset is called "Material_explain". The exporter will use the assigned name of the material while exporting the asset. While exporting the .mtl file make sure that you copy your assigned material name and paste it into the save dialogue of the exported .mtl file to make sure that you avoid any spelling mistakes.

Crytek UI in 3ds Max

See Crytek UI in 3ds Max CRYENGINE Exporter in 3dsMax for more information.

Crytek UI in Maya

See Crytek UI CRYENGINE User Interface in Maya for more information.

Crytek UI in XSI

See Crytek UI in XSI - Obsolete for more information.



DCC 工具基础

请注意广义上 DCC 工具可与 3DS Max、Maya 以及 XSI 通用。为了方便起见,我们将这三种工具统称为*数字内容创建*工具或简称 "DCC"。

此文档假设用户已经熟悉了数字内容创建 (DCC) 工具的基本功能。其目的不是给用户讲解 DCC 工具的基础知识,而是讲解带有工具和插件的导出器的基础知识。

Table of Contents


Crytek 几何体文件 (.CGF)

  1. 选择想要导出的静态资源节点(多边形几何体)并将其添加到*对象导出*列表。
  2. 从文件类型的下拉列表内选择 CGF
  3. 将 3ds max 场景保存到“引擎”构建目录,如 game\objects\static_asset。
  4. 在“导出器 UI”的*对象导出*面板内,单击*导出节点*。

合并全部节点*选项支持 *CGF

Crytek 蒙皮角色文件 (.CHR)

  1. 选择想要导出的蒙皮节点。通过 CrySkin 修改器将蒙皮节点添加到骨骼层次结构。
  2. 将 3Ds max 场景保存到“引擎”构建目录,如 game\objects\character。
  3. 在“导出器 UI”的*对象导出*面板内,单击*添加选定*(如果对象列表不为空,单击*清除*
  4. 检查导出器 UI 中“骨骼导出”面板上的“骨骼”列表中是否显示骨骼的根骨。
  5. 在导出器 UI 的“对象导出”面板内,单击*导出节点*。

合并全部节点*选项不支持 *CHR


Ignore Dummies
在 3ds Max 内,可使用任意节点作为“引擎”中的骨骼。我们提供了*忽略虚拟物体*功能,可在导出时将其打开或关闭。当您只想在 3ds Max 中使用某些骨骼而不想将它们导出到“引擎”中的时候,这是一种不错的排除它们的方法。一个常见的错误是在导出用作层次结构的主根的虚拟物体时打开*忽略虚拟物体*功能,在这种情况下将不会导出资源,因为它是结构的根,在导出之前就会中断。对于每个资源,如果使用虚拟物体并且将其作为结构的一部分,请不要选中复选框“忽略虚拟物体”。


此圆柱体有 5 根骨骼,且所有骨骼都被链接到以根骨开始的层次结构。使用 Cryskin 修改器确保在 3ds Max 和蒙皮几何体“引擎”中获得相同预览。如果使用*蒙皮*修改器会发现动画蒙皮几何体中的差异,所以确保使用 *Cryskin*代替“蒙皮”修改器。


若要导出 .chr 文件,要确保将 3ds Max 场景保存到构建结构目录中,如 Game\Objects\Characters\Cylinder。
在*实用工具*选项卡下,可添加 *CryENGINE 导出器*访问导出插件。

现在,将 Cylinder 几何体添加到*对象导出器*列表并将资源类型切换到 .chr 文件。

在此例中我们将角色命名为 Cylinder,在此我们想要保留此名称,不要修改它。我们主要选中标记框*按节点导出文件*。不要使用自定义文件名,这是为了确保导出的对象在 3Ds Max 和“引擎”中的名称一致。如果想要修改此名称并使用自定义名称,选中框并设置最终导出的目标目录即可。

在*对象导出*列表旁会看到*骨骼导出*列表,在默认情况下它始终显示层次结构的根骨,在此例中即显示名称为*根*的骨骼。按蓝色*导出节点*按钮将 .chr 文件导出到 3ds Max 场景的目录下或更改的自定义目标目录下。

Crytek 动画几何体文件 (.CGA)

尝试创建 3 个连接到一起的立方体,例如:

首先需要将所有运动插值样条曲线更改为 TCB。

手动将运动曲线更改为 TCB:选择*对象*单击右侧菜单的!Exporting_13.png! 轮运动



需将所有运动曲线都转换为 TCB。



需将所有运动插值样条曲线更改为 TCB。

此时可对每个立方体应用基本动画,这些动画将被导出并保存在 .cga 内,名称为“默认”。

如果除了默认动画外还想导出更多动画,请参见*动画文件 (.anm*) 文件描述。

检测 .cga 资源的快速方法:加载编辑器,在 Rollup 栏*内选取*实体 -> 物理 -> 动画对象,并将其拖放到关卡内,再将*模块类型*更改为最近导出类型 .cga


确保设置好 .cga 播放默认动画的这些值:

*动画 = 默认(默认动画存储在 .cga 文件内)
*循环 = 是
*播放 = 是

动画文件 (.anm)

  1. 在已导出的 CGA 集合内选择一个或多个*移动对象*,单击*添加选定*。
  2. 确保将*导出到*下拉列表设置为 cga 动画 (.anm)*,再次单击*导出节点*。
  3. 对 CGA 集合的每个动画部分重复此过程。

角色动画文件 (.CAF)

  1. 在“骨骼导出”面板内,选择 Bip01,确保已取消选择*忽略虚拟物体*复选框。
  2. 此时,单击*导出骨骼*,显示对话框,其将提示您指定导出文件的位置。

材质文件 (.mtl)

使用与导出器插件一起提供的 Crytek shader 将 .mtl 文件从 DCC 工具内导出。3ds Max 使用基于 ID 的系统,这意味着可更改资源每个面部的 ID 并以相同 ID 号码指定子材质。

默认材质名称存储在已导出资源内。这很重要,具有已指定资源名称的材质将作为资源在“引擎”中查找的默认材质名称。您会注意到立方体的名称为 Box01,指定给资源的材质叫做 Material_explain。导出资源时导出器将使用指定的材质名称。导出 .mtl 文件时,确保复制所指定材质名称并将其粘贴到已导出的 .mtl 文件的保存对话框中,确保避免任何拼写错误。

3ds Max 中的 Crytek 用户界面

3ds Max 对象导出







预览如“导出节点”一样导出场景,尝试启动“预览”模式下的 Sandbox 应用,查看已导出对象。
允许多个 UV/顶点强制导出器导出多个 UV/顶点;否则,在出现这种情况时报告错误。
1 链接强制每个顶点的权重仅涉及一个骨骼。
n 链接强制每个顶点允许多个骨骼/顶点。
生成默认 UV如果网格体内不存在 UV,则生成默认。

3ds Max 骨骼导出




骨骼排序将骨骼列表中的名称按字母顺序进行排序,这有利于在导出时,匹配不同 LOD 等级或附件。

3ds Max 其他设置和工具



同步材质更新 3ds Max 材质设置使其与对象使用的引擎材质(.mtl 文件)相匹配。
创建材质使用与 3ds Max 材质中使用的设置相同的设置创建 MTL 文件。
退化 UVW检查是否存在退化纹理坐标,若存在,则发出警告,否则就直接导出(退化坐标是指一个三角形上的两个顶点具有相同(或几乎相同)的 UV 的情况)。
扩展名 DLL 错误扩展名 DLL 未保留。
偏轴缩放检查节点是否按非主坐标轴缩放。导出此节点,但是缩放比例与 3ds Max 中的对象不匹配。


还可参考 3ds Max 用户可用的附加工具物理代理工具

Maya 中的 Crytek 用户界面


如果正确安装了 Crytek 插件,将会发现一个带有 Crytek 标签的书架状图标。单击此图标将展开四种图标:


这是一个用于检查场景确保其为 Sandbox 进行了优化的工具。开始导出时不必运行此工具,因为它会自动初始化。


这些图标通常结合在一起使用。在运行 Maya 时安装插件,需先卸载,然后再加载。
此图标用于打开“材质编辑器”窗口,在此窗口中可组织 Sandbox 中使用的所有材质。

此图标用于打开输入 UDP 设置所用的主窗口,关于 UDP 的更多信息,请访问 
UDP 设置页面。

一种便捷工具,用于快速获取对象在世界空间 0,0,0 内的平移数据。
清除从 Max 中导出 FBX 场景时创建的节点。

Maya 对象导出


1. 创建一个名称为 "cryexportnode_@" 的组,将 "@" 替换成要导出的文件名。

2. 在 "cryexportnode" 下创建一个组。
3. 将新组命名为“#组_”,将 "#" 替换成想要导出的模块名称。
4. 将网格体聚集到名称为“#_ 组”的组内。

5. 单击 "Crytek" 工具栏上的导出按钮打开“Crytek 导出”对话框。
6. 单击“添加属性”按钮。通过单击可在 shader、关节和网格体内添加多种选项。

7. 选择 "cryexportnode" 组。
8. 在“节点选项”区段内的下拉列表中选择文件类型。也可在“Maya 属性编辑器”中的“额外属性”区段找到此下拉菜单。

9. 单击“Crytek 导出”对话框中的“导出”按钮。

可在此处下载静态几何体导出的具有层级设置的 Maya 场景示例。

Maya 骨骼导出


1. 您应有如下所述的作为关节父级的物理化网格体。若没有,则通过调整骨骼周围的基本多边形新建一个。一旦完成“抽出骨骼”,则把新的物理代理作为骨骼的父级。确保为物理网格体指定新的、独立的材质。

2. 创建一个名为 "cryexportnode_@" 的组,将 "@" 替换成要导出的文件名。
3. 在 "cryexportnode" 下创建一个组。
4. 将“骨骼”聚集到步骤 2 中创建的 "cryexportnode" 组内。
5. 创建一个名为 “#_ 组”的组,将 "#" 替换成要导出的网格体名称。
6. 将步骤 4 中创建的节点聚集到步骤 2 中创建的 "cryexportnode" 组内。
7. 将所有“蒙皮”几何体绑定到骨骼。

8. 确保已绑定皮肤和骨骼,便于制作关节动画时制作皮肤动画。
*确保工作区已设置到 CryENGINE 目录内。例如 J:\CryENGINE3\Game\objects\mayaTest\animation 就是保存并导出的位置。
9. 单击 "Crytek" 工具栏上的导出按钮打开“Crytek 导出”对话框。
10. 单击“添加属性”按钮。将会注意到所有 shader 都已在“额外属性”区段内添加新属性,此时最好返回“物理”shader 并将其属性更改为 "Proxy No Draw"。在关节上(“额外属性”下)会出现带有“弹簧”、“弹簧张力”和“阻力”标签的新值。稍后 CryENGINE 将使用此值限制关节旋转。

11. 选择 "cryexportnode" 组。
12. 在“节点选项”区段的下拉列表内选择“角色 (.CHR)”文件类型。也可在“Maya 属性编辑器”的“额外属性”区段内找到此下拉菜单。
13. 确保选中“不合并”选项。
14. 单击“Crytek 导出”对话框内的“导出”按钮。

Maya 中的角色制作

*必须确保 Maya 导出动画速率是 30 fps。可在*窗口 -> 设置/首选项 -> 首选项*内进行更改。单击列表内的“设置”组,在右手边会看到时间 fps 设置,将其更改为 30fps 并单击保存。

XSI 中的 Crytek 用户界面

CryExporter 是一个 XSI 插件,不仅包含“导出”功能也提供自定义对象和自定义 shader 以便充分使用 CryENGINE 功能。CryExporter 为 CryENGINE 资源编译器 (RC) 准备在 Softimage XSI 中创建的资源。这些资源以 Collada 格式存储并在 RC 内转换为最终游戏资源。由于上方向轴不同以及在引擎内的操作情况,导出器有根据地通过交换值进行弥补。

XSI 中的 Crytek 用户界面

安装 Crytek 插件后,将会在 XSI 菜单栏内找到 Crytek 菜单。

自动创建 CryExportNode 模块触发 CryExportNode: Properties 窗口,在此需为最终资源指定多个参数。

您可选择资源类型,例如,.cgf、.cga 或 .chr 文件(更多详细信息,请参考 CryExport)。并在此指定最终资源名称。文件名作为前缀添加到 CryExportNode 名称上。例如,motocycle_CryExportNode。

此外使用 Export all 命令时(对测试对象很有帮助)选择是否导出该特殊资源。如果资源没有附属的内部逻辑,而是由许多独立的几何体节点组成,则选中合并。导出器将自动删除层级结构并压缩目标资源数据。这可能会节省很多渲染和处理的时间。

存储在自定义属性中的值被称为 ExportProperties。您可在“资源管理器”中轻松访问。


选择 XSI 中的对象,按 F3。将弹出专门为该选择的 MiniExplorer。


XSI 骨骼导出

此节点是一个 null 助手形状的框,是对象中的一个关节。默认名称为 CryJointNode。将其链接到 CryExportNode 模块。此关节应放置到两个几何体节点之间,便于其边界框与其他两个对象的边界框保持交叉。null 具有文本属性,可在其中调整关节的物理参数,例如,limit=10000


Limit 是应用于关节的几种不同力的一般值。其内包含了值的组合,这些值定义了应用于不同轴的力。
需定义此值;否则模拟操作无法正常工作。Crysis Example 值:子弹可摧毁 100 - 500 之间的值;载具或大的爆炸影响能摧毁 10000 值。


以下值是可选值,用于微调 "limit" 设置。

应用于关节的第一个对象(例如,关节名称列表内的第一个名称,如果未指定名称,即关节的 Z 轴指向的对象)与关节法线的最大力;关节法线是关节的 Z 轴,所以此值实际是“分开力”(将部件按压在一起的外力的反作用力),此轴必须直接指向第一个对象。

*附加:*关节也支持非完全刚体(非 6dof)约束。如果它的弯曲或扭曲限度受损且关节具有一个非 0 的 "constraint_limit" 属性,则完全刚体约束将变成动态约束。受损“弯曲”将变成“插口”约束,“扭曲”将变成铰链。新建的动态约束将继承关节的拉伸和转换限度。约束的帧即是 max 中关节助手的帧。然而,为了保存“弯曲”的意义,需交换坐标轴(关节助手的 z 轴作为约束的 x 轴,两者均代表“弯曲”轴,x 轴变为 y 轴,y 轴变为 z 轴)。这样,对于铰链,助手 z 应直指所需铰链方向。对于插口,z 轴应是“周围弯曲”附加部件的轴。

完全刚体(非 6dof)约束相关属性:

角度阻力(默认为 0)
约束部件是否忽略彼此间的碰撞(默认为 1)。



请注意不需要 "limit = xx",因为除了在不可毁坏弯曲的情况下以外您都需要此限度。也应注意节点之间存在动态约束,应作为实体(不是粒子)被物理化。

XSI 对象导出



LowSpecLod0定义低规格机器上基本 lod 对象,例如,Lod1 或 Lod2 属性
Count生出片段对象 x 次,例如,计数=50 在完整对象体积内生出 50 个片段
Name脚本需要名称时使用,但 XSI 不支持,如,名称中的 SPACE。例如,名称=Bip01 R Hand

角色指定对象属性 - 变形设备的 IK 设置


As a general rule of thumb for the rotational limits, you should keep max >min and respect the following limits X, Y -180…180 and z -90 … 90. Better keep the range of limit smaller than the maximal values given (i.e. 170 to -170). This ensures stability in the physics calculation.

The following values are used to fine tune the behavior of joints. Most of the time they can be neglected, though. Dampening and Spring Tension Stiffness of an angular spring at a joint can be adjusted via "Spring Tension" parameter. A value of 1 means acceleration of 1 radian/second2 (1 radian = 57°). Damping should also be set to some reasonable value (1.0 corresponds to fully dumped oscillations for an isolated joint, 1.0 is the recommended value ).

可调整“弹簧角度”,但没有太大影响 – 因此 Crytek 建议将其保持为 0。