Wavefront OBJ¶
参考
- 类别
导入 - 导出
- 菜单
OBJ是行业内广泛使用的事实标准。OBJ格式是一种流行的纯文本格式,但它只支持基本的几何与材质信息。
Mesh: vertices, faces, edges, normals, UVs
按组/物体分离
材质/纹理
NURBS曲线和曲面
Note
不支持网格顶点颜色,骨架,动画,灯光,相机,空物体,父子关系或变换。
Note
Blender目前仅支持复杂的基于节点的着色。OBJ 具有固定的类管道材质支持,此插件使用 Blender特色的 通用封装 来在两者之间转换。
Warning
导入非常大的OBJ文件(超过100mb),会消耗大量内存。
OBJ的导出使用Unix的行结束标识
\n
,如果你在Windows系统中使用文本编辑器打开此类文件,必须确定其能够正确识别\n
行结束标识。
属性¶
导入¶
包括¶
- 图像查找
当无法找到图像文件时启用递归搜索。
- 平滑组 Smooth Groups
通过锐边环绕OBJ平滑组。 请注意,仅在启用“边缘分割”修改器时才会显示这些内容。
- 行
将OBJ线和双面导入为网格边。
变换¶
- 钳制尺寸
OBJ文件的比例通常差别很大,此设置会将导入的文件固定为固定大小。
- 向前/向上轴
由于许多应用程序使用不同的“向上”轴,因此存在转换轴向设置,向前和向上轴——通过映射不同的轴,您可以转换应用程序默认的向上和向前轴之间的旋转。
Blender使用Y轴向前,Z轴向上(因为前视图沿+Y轴方向)。 例如,许多应用程序通常使用Y作为向上轴,在这种情况下,需要使用-Z轴向前,Y轴向上。
几何数据(Geometry)¶
- 拆分/保持顶点顺序
导入OBJ时,将物体拆分为Blender物体很有用,这些物体根据OBJ文件命名。 但是,这种拆分会丢失使用OBJ文件作为变形目标时所需的顶点顺序。 它还会丢失任何未连接到面的顶点,因此如果要保持顶点顺序,必须禁用拆分。
- 按物体拆分和按组拆分
导入OBJ时,将对象拆分为Blender对象很有用,这些对象根据OBJ文件命名。 但是,这种拆分会丢失使用OBJ文件作为变形目标时所需的顶点顺序。 它还会丢失任何未连接到面的顶点,因此如果要保持顶点顺序,必须禁用拆分。
就Blender而言,OBJ物体和组没有区别,因为它们只是两个分离级别,OBJ组不等同于Blender组,因此两者都可以选择用于拆分。
导出¶
包括¶
- 选定的物体
只导出选定的物体,否则将导出场景中所有物体。
- 物体作为OBJ物体/组
将每个Blender物体导出为OBJ物体。
Note
请注意,就Blender而言,OBJ组和物体之间没有区别,此选项仅包含用于对其进行不同处理的应用程序。
- 材质组
为每种材质创建OBJ组。
- 动画
导出从起始帧到结束帧的每一帧为带标号的OBJ文件。请注意这将划分相当长的时间。
变换¶
- 比例
导出时使用全局比例。
- 路径模式
在导出文件中引用路径时,您可能需要对所使用的方法进行一些控制,因为绝对路径可能只在您自己的系统上正确。 另一方面,相对路径更具可移植性,但这意味着在本地文件系统上移动时必须保持文件分组。 在某些情况下,路径无关紧要,因为目标应用程序无论如何都会搜索一组预定义路径,因此您也可以选择去除路径。
- 自动
对于导出位置的子目录中的文件使用相对路径,对于此外的任何目录使用绝对路径。
- 绝对
使用完整路径。
- 相对
在所有情况都使用相对路径(除了在Windows上的不同驱动器上)。
- 匹配
依照在Blender中用到的路径使用相对/绝对路径。
- 片段路径
只写入文件名并忽略路径组件。
- 复制
在导出时复制文件并使用相对路径引用它。
- 向前/向上轴
由于许多应用程序使用不同的“向上”轴,因此存在转换轴向设置,前进和向上轴——通过映射不同的轴,您可以转换应用程序默认的向上和向前轴之间的旋转。
Blender使用Y轴向前,Z轴向上(因为前视图沿+Y轴方向看)。 例如,许多应用程序通常使用Y作为向上轴,在这种情况下,需要使用-Z轴向前,Y轴向上。
几何数据(Geometry)¶
- 应用修改器
导出三维视口中显示的网格物体,并应用所有修改器。 除非您要导出细分曲面变形笼,否则大多数情况下您都会想要这个。
- 平滑组 Smooth Groups
Write Blender's sharp edges as smooth groups.
- Bitflag组
Todo.
- 写入法线
导出Blender的面和顶点的法线(取决于曲面平滑设置)。
大多数情况下,这不是必需的,因为大多数应用程序将计算自己的法线,但为了匹配Blender的法线贴图纹理,您也需要编写它们。
- 包括UV
从Blender导出活动的UV层坐标。
- 写入材质
导出OBJ时一并写入MTL文件。大多数支持OBJ的导入器也会读取MTL文件。
- 三角面
将四边面导出为两个三面角形。有些程序只有非常基本的OBJ支持,只支持三角面。
- 曲线作为 NURBS
将NURBS曲线写为OBJ NURBS而不是转换为几何体。
- 多边形组
根据网格顶点组将面写入OBJ组。请注意,这是最佳猜测,因为面顶点可以位于多个顶点组中。
- 保持顶点顺序
在导出时保持顶点顺序。当OBJ用于变形目标时,这是必需的。