命令条目: “应用程序”菜单 “导入”/“导出”“选择要导入的文件”/“选择要导出的文件”对话框 “文件类型”下拉列表 选择“Flight Studio OpenFlight (*.FLT)”
OpenFlight 格式常用于视觉模拟系统。可以导入和导出 OpenFlight 文件。使用 Flight Studio 工具,还可以创建和编辑 OpenFlight 文件中的对象和属性。
OpenFlight 场景
本主题介绍了解如何将 OpenFlight 文件转换为 3ds Max 结构以及随后在导出时将转换的结构重新转换为 OpenFlight 文件所必需的详细信息。
重要信息 3ds Max 支持将 OpenFlight 文件从版本 14.2 导入至版本 15.8。
以下各节介绍导入或导出 OpenFlight 文件时发生的精确数据转换过程。
转换和属性
取一个 OpenFlight 文件并将其结构导入到 3ds Max 并不完全适合。尽管 OpenFlight 在很多方面适合军事视觉模拟,但在某些方面它与 3ds Max 方法并不匹配。可能存在从 OpenFlight 到 3ds Max 然后回到 OpenFlight 的映射,但需要小心了解场景图形每个部分的处理方式。了解此转换后,使用 Flight Studio 可以大大提高效率和生产能力。
除非另行说明,以下“导入”各节中的任何说明同时适用于“导出”节。这意味着用于导入的任何特定设置或参数同样适用于导出。
在 Flight Studio 中的属性编辑是指对值进行编辑以及使用 3ds Max 的各种功能。任何节点的属性列表可能无法精确反映 OpenFlight 说明中介绍的属性。必须非常小心,只公开所有 3ds Max 功能中均不存在的属性以进行编辑。这意味着在导出时,对于某些属性,即使您无法直接更改其值,也会进行自动设置。
除几何体外,所有 OpenFlight 对象均表示为 3ds Max 组。导入时,将打开所有 3ds Max 组对象以便编辑,同时在 3ds Max 视口中被隐藏。这样既可以轻松编辑任何几何体,又可提供清楚的视口显示。
面
导入
导入时,必须将 OpenFlight 面转换成 3ds Max 网格结构。这通过以下算法实现:将所有 OpenFlight 顶点合并到列表,然后创建 3ds Max 网格。部分导入变换参数基于顶点焊接阈值和极小区域阈值。有关更多信息,请参见导入 OpenFlight (FLT) 文件。此外,所有发现的共面多边(三个以上边)面均被三角化。导入时将保留面颜色、顶点 UV、顶点渲染状态和法线。
导入过程还会保留材质和纹理。所创建的单独网格将遵循以下条件:相似顶点、相似网格和贴图。所产生的 3ds Max 网格对象将根据该网格中的第一个面命名。
导入时面节点中有附加属性。如果在文件中发现法线,则“使用最大法线”设置为“是”。如果没有发现法线,则设置为“否”。
导出
导出时,3ds Max 网格几何体结构将被写为 OpenFlight 面。每个产生的面的名称将由网格名称派生。面节点中的“注释”字段将复制到 OpenFlight 文件中的每个结果面。
使用 3ds Max“顶点绘制”修改器着色的面将导出为标准 OpenFlight 顶点颜色。
导出时,如果“使用最大法线”设置为“否”,则不会将任何法线发送到文件。
如果面具有材质,则将其导出颜色设置为该材质的漫反射组件。如果没有,则将导出颜色设置为线框颜色。如果面具有材质且“有 Flt 材质”选项设置为“是”,则将 3ds Max 材质导出到 OpenFlight 文件。
纹理和贴图
导入
基本 OpenFlight 纹理和贴图将被导入到 3ds Max 材质编辑器。
具有发现有“不透明度”通道的贴图的材质(通过顶点属性设置)的处理将稍有不同。贴图将被复制到材质的不透明贴图通道。这将导致 3ds Max 视口正确显示。在材质中完成此不透明通道设置后,可使模型的显示按预期方式呈现。因此将会显示透明材质。
多纹理将存储为标准材质,并将合成贴图应用于其漫反射贴图通道。合成贴图最多可有八个子贴图,对应于 OpenFlight 文件中的各层。将为每个子贴图创建一个存储 UV 的贴图通道;每个通道指定有对应的数值。例如,第一个纹理与贴图通道 1 相关联。未使用的合并贴图已设置但被关闭。而且,任何包含“凹凸”或“自定义”设置(通过顶点)的纹理贴图也将被禁用。这样做可以允许在 3ds Max 视口中正确进行显示。
重要信息 3ds Max 使用唯一方法在视口中显示材质和纹理贴图。3ds Max 不可能同时显示所有材质类型的所有纹理贴图。您可能会发现视口显示在视觉上与 OpenFlight 文件中的材质不匹配。Flight Studio 中的内部结构在导入和导出时保留所有材质设置,但这些材质可能不会在 3ds Max 视口中同时可见。
纹理贴图在导入时是基于其路径的。首先,使用真实路径(OpenFlight 文件中存储的路径)查找纹理。如果查找失败,则 Flight Studio 会查找与导入的 OpenFlight 文件相同的目录。如果没有发现贴图,则 Flight Studio 将显示错误对话框。如果没有发现纹理贴图,在导出时将保持其原始路径。
导出
将仅导出材质的漫反射通道中出现的贴图。不会导出先前讨论的不透明贴图通道中的贴图。合成贴图将导出为 OpenFlight 多材质纹理。
如果材质在其漫反射通道中有合成贴图,则将创建多纹理。所有合成子贴图及其对应 UV 贴图均将导出,而无论其与哪个贴图通道关联。将贴图通道保持在 1 至 8 范围内将有助于在连续导入和导出中保持相同的索引方案。
导出时也支持壳材质。此材质是在渲染到纹理操作中创建的。将导出对应于新创建的烘焙纹理贴图的材质。
光源和点光源
导入
OpenFlight 文件中的光源作为泛光灯、聚光灯和平行光导入。点光源(光串)具有特殊贴图。将导入点光源节点,并且其参数可供编辑。对于每个特定点光源(单个点),一个菱形网格将会生成并会将其放置为点光源节点的子级。该几何体表示特定点光源。包含相同OpenFlight 珠子的光串将被转换成单个点光源。
导出
点光源(光串)将导出为独立点光源。如上所述,每个点光源由几何体表示。导出时,任何点光源的位置将位于围绕该网格的轴对齐边界框的中心。任何几何体均可用于表示点光源,只要它在层次视图中作为点光源节点的子节点。
如果点光源节点没有子级(为空),则不会将该节点导出到文件。
外部参照
导入
导入时,可以有选择性地读取所有外部参照节点。导入后,就可以自由编辑任何几何体结构。编辑外部参照中的文件位置不会导致导入器读取其他文件。在多个外部参照节点之间,单位将保持不变。任何后续参照文件将缩放到首先导入的文件的单位。导入和导出时,将保留与外部参照节点相关的变换。
导入时,将保留与外部参照节点相关的所有变换。
导出
仅导入的原始(顶级)文件将会导出。换句话说,标准导出将起始于场景根节点,并递归遍历整个场景图形。将不会导出“外部参照”之下的所有节点。如果要导出外部参照节点下的任何节点,请使用“文件”“导出选定对象”。
如果导入的外部参照节点包含变换,导出时将合并这些变换,并设置一个“通用矩阵”。
其他
LOD 节点
如果在 LOD(细节级别)节点上将“冻结”属性设置为“是”,则导出时会将位于属性面板中的中心 XYZ 值写入文件。否则,将从节点的 3ds Max 轴点派生这些属性。
DOF 节点
导入 DOF(自由度)节点时,将使用“原点”、“X 轴上的位置”和“XY 平面上的位置”属性设置 3ds Max 对象的轴点。然后在导出时将该轴点用于派生这些值。
非 OpenFlight 对象
3ds Max 中的所有对象将显示在层次视图中。许多 3ds Max 对象在 OpenFlight 中没有对应的表示形式,但仍将显示在层次视图中。将不会导出这些非 OpenFlight 对象。
,