Collada
COLLADA™ 模块已被实现为用于导出和导入 .dae
文件的一个灵活的工具。 设计目标是提供一组参数,这些参数可以从/向各种工具导出/导入 Collada 文件。 但请注意,Collada 模块仍在开发中。 因此,你的特定应用场景可能尚不受支持。
Collada 导出
操作项预设
对于 "第二人生" (SL)用户,有两种操作员预设(请参阅边栏顶部):
Second Life Static -- 适用于导出静态网格物体。
Second Life Rigged -- 适用于导出SL默认角色。
Note
虚拟世界用户特别说明:
请使用操作项预设。 所有其它导出设置将不适用于Second Life。
角色定位需要使角色看向X轴正向.
必须在导出前应用缩放和旋转!
主要菜单
- 仅导出选中的物体
如果启用 仅导出选中的物体,则仅导出所选对象。 否则,整个场景中所有可见和不可见的物体都会被导出。
- 包含子物体
启用此选项后,无论选择状态如何,所选对象的所有子物体都会被导出。
Hint
您只能选择一个骨架,然后使用此选项,连接到骨架的所有索具网格也将导出。
- 包括骨骼
启用此选项后,无论选择状态如何,都将导出与所选物体相关的所有骨骼。
Hint
您可以只选择对象,然后在导出器中启用此选项以导出骨架数据。
- 包括形态键
包括通过导出具有当前形状键配置的网格来应用形状键。
全局坐标系
待补充。
纹理选项
- 仅UV贴图
当网格包含多个UV图层时,Blender默认会导出所有图层。 此选项允许您仅导出活动(选定)的UV图层。
- 复制
导出图像时,基于材质的图像纹理,导出器会在导出文件中创建绝对文件引用。
但是,如果启用了 复制 选项,导出器将创建图像的副本,并将副本放在导出文件之外。 在这种情况下,文件引用是相对的。
几何数据(Geometry)
导出数据选项
- 三角化
网格可以动态进行三角测量。三角测量基于与 三角化面 工具中使用的相同函数,用于对当前选择的面进行三角测量。要完全控制三角测量,您可以在导出之前手动执行此操作。但是,此选项仅允许对导出的数据应用三角测量;网格本身不受影响。
- 应用修改器
使用评估后的网格导出对象,即所有 修改器 被计算后的网格。
- 分辨率
控制是否将3D视口分辨率或渲染分辨率应用于提供预览模式和渲染模式的修改器。
- 变换
Collada支持两种类型的转换矩阵规范。 可以是
<Matrix>
,也可以是一组变换分解(用于移动,旋转和缩放)。 需要注意的是,导出器不会严格遵循此选项设置,而是将其作为提示尽可能使用该选项。 之所以如此,是因为某些导出的数据类型具有关于如何导出转换矩阵的特定规则。 这部分功能还在开发过程中,将来可能会提供一种不那么模糊的方法。
骨架
骨骼选项
- 仅变形骨骼
启用此选项后,导出器将从导出的骨架中去除所有未变形的骨骼。当骨架包含控制骨骼(实际上不是角色骨架的一部分)时,此选项很有用。例如,您可以在启用此选项的情况下导出 Avastar 装备。由此产生的导出装配器与 "第二人生" 兼容。但请注意以下进一步的限制。
- 导出至 SL/OpenSim
启用此选项后,具有骨骼方向的一些问题将以不同的方式计算,并设计用于导出到Second Life或OpenSim。
这只与索具网格体相关,对于静态网格体,它什幺都不做。
动画
附加
Collada 选项
- 使用物体的实例
在Blender中,你可以为多个对象重用相同的网格。 这被称为 "物体实例化" 。 启用此选项后,Blender会将对象实例化到Collada文件中。
- 使用Blender轮廓
Collada可以使用工具特定的数据(配置文档)进行扩展。Blender有自己的(非官方)配置文档,允许将装配器信息导出到Collada文档中。稍后,当需要将 dae 文档导入到 Blender 中时,它可用于重建装备。
- 按物体名称排序
数据的导出顺序绑定到内部物体顺序,并且不能以可靠的方式影响它。 此选项可确保按字母顺序导出几何节点和物体节点。
- 保持绑定信息
将装备导入Blender时,装备的绑定姿势将用作Blender的休息姿势。因此,原始静止姿势的所有矩阵信息都将丢失。但在某些情况下,您可能希望保留原始装配器信息。此选项检查每个骨骼是否具有两个数组:
rest_mat
-- 一个由16个浮点数组成的数组,表示骨骼的原始重置姿势矩阵。bind_mat
-- 一个由16个浮点数组成的数组,表示骨骼的原始绑定姿势矩阵。
如果数组存在,则将使用那些数组而不是当前的重置姿态/绑定姿态。 这两个数组要么是由先前的Collada导入创建的(请参阅下文的 Collada 导入),要么可以手动创建,也可以通过插件(基于脚本)创建。
Collada 导入
Collada 导入功能主要由需要导入的数据驱动。 有一个控制导入单位的选项:
导入数据选项
- Custom Normals
Use the mesh normals defined in the collada file, if they are defined, otherwise Blender will recompute them during the import process.
- 导入单位
如果未启用,则将根据当前使用的单位系统重新调整导入的数据。 如果启用此选项,则Blender将自行调整为 Collada 文件提供的单位系统。
骨骼选项
- Fix Leaf Bones
科拉达只记录了 "关节" ,这主要类似于Blender的骨头。但是,当您导入 Collada 文档时,不会定义骨头/骨尾。这对于连接的骨骼无关紧要,因为骨骼父母只有一个孩子。在这种情况下,父骨的末端位置将调整为子骨的关节位置。但是,特别是对于未连接的骨头和有一个以上孩子的骨头,就会出现问题。
当启用了 "修复叶骨* 选项时,Blender会尝试猜测未连接的骨骼的骨头/尾巴最好放置在哪里。如果禁用该选项,则骨头/尾将沿 Y 轴放置在偏移处。这就是为什幺骨骼经常指向Y轴的原因。
- 查找骨骼链
当骨骼有多个子骨骼时,则不会定义哪个(如果有)子骨骼应连接到父骨骼。 当启用 Find Bone Chains 选项时,Blender 会确定每个骨骼的最长骨链(对于子骨骼), 在此链上的所有骨骼将自动连接。
如果禁用该选项,则当父骨骼只有一个子骨骼是才会将子骨骼接到父骨骼。 但请参阅下面的 自动连接 选项。
- 自动连接
启用此选项后,如果父骨骼只有一个子骨骼,则子骨骼将自动连接到其父骨骼。
- 保持绑定信息
启用此选项后,导入功能会为每个骨骼创建两个自定义属性:
rest_mat
-- 一个由16个浮点数组成的数组,表示骨骼的原始重置姿势矩阵。bind_mat
-- 一个由16个浮点数组成的数组,表示骨骼的原始绑定姿势矩阵。
当你想再次导出绑定时,可以使用这两个数组,并确保必须使用原始的重置姿势/绑定姿势组合。
技术细节
网格
导入
支持的几何类型包括:
Tris (未经测试)
Polylist
Polygons
N-gons
Tri-fans (未经测试)
行数(线)
导出
网格数据导出为 <polylist>
, <lines>
和 <vertices>
。
灯光
导入
Blender 尽最大努力从 .dae文件导入灯光。 如果检测到 Blender 的灯光配置文件,将使用配置文件中的值,确保完整导入Blender导出的 .dae文件。 在Blender 2.57中添加了 <extra>
支持。
导出
通过 <extra>
标签添加了 Blender 的灯光配置文件。 Blender 的整个灯光结构将通过此配置文件导出,但光线曲线衰减除外。
动画
导出 & 导入
支持对象(网格、相机、光源)变换动画。只能导出欧拉旋转(这是 "对象" 的默认选项)。对于骨架动画,支持欧拉和四元数旋转类型。
支持导入和导出以下参数的动画:
灯光
相机
材质效果
非面板控制骨骼动画。
面板变形骨骼的骨架动画。
物体模式中的骨架动画。
完全固定的骨架动画(指Rigify插件)。 导出固定的骨架动画:
运行 烘焙动作 运算符。
如果您只选择了变形骨骼,请选中 Only Selected 。 这将给出更小的dae。 否则取消选中 Only Selected 。
检查 清除约束 。
烘焙操作。
选择网格和变形骨骼。 然后导出到Collada,同时仅检查选定的选项。 (仅选择网格和骨骼并非绝对必要,仅选择和导出选定的会给出较小的dae。)
对于作为骨架中叶节点的骨节点,或者如果骨骼具有多个子节点,则为这些节点添加带有 <extra>
标签的Blender配置文件。 在重新导入时正确导出骨骼到尾端位置。
Note
要记住的重要事情
物体和数据块名称约束为21个字符(字节)。
UV层名称约束为32个字符(字节)。
只有网格上的骨架动画,单个面板装配器。
尚不支持修改器。
导入导出时具有 <instance_node>
的 .dae文件时,这些信息基本上会丢失,这些节点将是 <node>
s。