Wavefront OBJ

参考

类别:导入-导出
菜单:文件‣ 导入/导出 ‣ Wavefront (.obj)

OBJ是行业内广泛使用的事实标准。OBJ格式是一种流行的纯文本格式,但它只支持基本的几何与材质信息。

  • 网格:点,面,边,法线,UV
  • 按组/对象分离
  • 材质/纹理
  • NURBS曲线和曲面

Note

不支持网格顶点颜色,骨架,动画,灯光,相机,空物体,父子关系或变换。

Note

Blender目前仅支持复杂的基于节点的着色。OBJ 具有固定的类管道材质支持,此插件使用 Blender特色的 通用封装 来在两者之间转换。

Warning

  • 导入非常大的OBJ文件(超过100mb),会消耗大量内存。
  • OBJ的导出使用Unix的行结束标识 \n ,如果你在Windows系统中使用文本编辑器打开此类文件,必须确定其能够正确识别 \n 行结束标识。

用法

导入/导出几何体及曲线到OBJ格式。

如果有与OBJ匹配的 .MTL 文件,那它的材质也会被导入。

属性

导入

平滑组
通过锐边环绕OBJ平滑组。 请注意,仅在启用“边缘分割”修改器时才会显示这些内容。
线
将OBJ线和双面导入为网格边。
拆分/保持顶点顺序
导入OBJ时,将对象拆分为Blender对象很有用,这些对象根据OBJ文件命名。 但是,这种拆分会丢失使用OBJ文件作为变形目标时所需的顶点顺序。 它还会丢失任何未连接到面的顶点,因此如果要保持顶点顺序,必须禁用拆分。
按对象拆分和按组拆分

导入OBJ时,将对象拆分为Blender对象很有用,这些对象根据OBJ文件命名。 但是,这种拆分会丢失使用OBJ文件作为变形目标时所需的顶点顺序。 它还会丢失任何未连接到面的顶点,因此如果要保持顶点顺序,必须禁用拆分。

就Blender而言,OBJ对象和组没有区别,因为它们只是两个分离级别,OBJ组不等同于Blender组,因此两者都可以选择用于拆分。

限制尺寸
OBJ文件的比例通常差别很大,此设置会将导入的文件固定为固定大小。
向前/向上轴

由于许多应用程序使用不同的“向上”轴,因此存在转换轴向设置,向前和向上轴——通过映射不同的轴,您可以转换应用程序默认的向上和向前轴之间的旋转。

Blender使用Y轴向前,Z轴向上(因为前视图沿+Y轴方向看)。 例如,许多应用程序通常使用Y作为向上轴,在这种情况下,需要使用-Z轴向前,Y轴向上。

图像查找
当无法找到图像文件时启用递归搜索。

导出

选定对象
只导出选定的对象,否则将导出场景中所有对象。
动画
导出从起始帧到结束帧的每一帧为带标号的OBJ文件。请注意这将划分相当长的时间。
应用修改器
导出三维视口中显示的网格对象,并应用所有修改器。 除非您要导出细分曲面变形笼,否则大多数情况下您都会想要这个。
导出松散边为双面。大部分情况下无需如此,但默认启用以确保导出所有几何数据。
法线

导出Blender的面和定点的法线(取决于曲面平滑设置)。

大多数情况下,这不是必需的,因为大多数应用程序将计算自己的法线,但为了匹配Blender的法线贴图纹理,您也需要编写它们。

UV
从Blender导出活动的UV层坐标。
材质
导出OBJ时一并写入MTL文件。大多数支持OBJ的导入器也会读取MTL文件。
三角面
将四边面导出为两个三面角形。有些程序只有非常基本的OBJ支持,只支持三角面。
多边形组
根据网格顶点组将面写入OBJ组。请注意,这是最佳猜测,因为面顶点可以位于多个顶点组中。
NURBS
将NURBS曲线写为OBJ NURBS而不是转换为几何体。
物体作为OBJ物体/组

将每个Blender物体导出为OBJ物体。

Note

请注意,就Blender而言,OBJ组和物体之间没有区别,此选项仅包含用于对其进行不同处理的应用程序。

材质组
为每种材质创建OBJ组。
保持顶点顺序
在导出时保持顶点顺序。当OBJ用于变形目标时,这是必需的。
比例
导出时使用全局比例。
向前/向上轴

由于许多应用程序使用不同的“向上”轴,因此存在转换轴向设置,前进和向上轴——通过映射不同的轴,您可以转换应用程序默认的向上和向前轴之间的旋转。

Blender使用Y轴向前,Z轴向上(因为前视图沿+Y轴方向看)。 例如,许多应用程序通常使用Y作为向上轴,在这种情况下,需要使用-Z轴向前,Y轴向上。

路径模式

在导出文件中引用路径时,您可能需要对所使用的方法进行一些控制,因为绝对路径可能只在您自己的系统上正确。 另一方面,相对路径更具可移植性,但这意味着在本地文件系统上移动时必须保持文件分组。 在某些情况下,路径无关紧要,因为目标应用程序无论如何都会搜索一组预定义路径,因此您也可以选择去除路径。

自动:对于导出位置的子目录中的文件使用相对路径,对于此外的任何目录使用绝对路径。
绝对:使用完整路径。
相对:在所有情况都使用相对路径(除了在Windows上的不同驱动器上)。
匹配:依照在Blender中用到的路径使用相对/绝对路径。
片段路径:只写入文件名并忽略路径组件。
复制:在导出时复制文件并使用相对路径引用它。

兼容性

NURBS表面,文本3D及变形球在导出时会被转换为网格。

缺失

以下部分功能缺失:

  • NURBS曲面——可以添加,但并未广泛使用。
  • 高级材质设置——记录了材质选项,但很少有文件使用它们,并且可用的示例很少。
  • 法线——Blender会忽略导入文件中的法线,并根据几何体重新计算它们。