Wavefront OBJ 是一种基于文本的传统 3D 模型交换格式。 尽管其在效率和功能方面存在局限性(例如,没有现代材料支持和几何实例化功能),但由于其简单的语法和手动可编辑性,该格式仍然很受欢迎。
导出选项
常规导出选项适用于 OBJ 导出。 如果在其他应用程序中无法正确显示导出的模型,请将三角化网格设置为 true。
CGA 映射到 OBJ
下方小节概述了 CGA 到 OBJ 的映射。
几何
下表概述了几何映射:
OBJ 元素 | CGA 要素 |
---|---|
v |
资产网格中的折点数据。 |
vn |
资产网格中的折点法线数据。 |
vt |
资产网格的色彩映射表纹理通道中的纹理坐标。 在这些纹理坐标中不包括每个纹理的变换(请参阅 material.colormap.{su, sv, tu, tv, rw})。 |
f |
由资产网格中的折点、折点法线和纹理坐标索引定义的网格面。 |
g |
面组名称。 如果网格直接来自插入的资产,则将使用原始名称。 如果网格粒度设置为按材料合并网格,则此名称由 material.name 属性控制。 否则,将根据创建几何的操作来设置内部名称。 |
s |
平滑组不受支持并且已关闭。 将使用折点法线。 |
usemtl |
相应 .mtl 文件中的材料名称和引用(请参阅下方“材料”部分)。 仅当启用材料导出选项时才能写入。 |
mtllib |
对相应 .mtl 文件的本地引用。 它使用与 .obj 文件相同的基本名称(但扩展名为 .mtl),并写入相同的目录中。 |
材料
下表概述了材料映射:
注:
材料定义将导出到单独的 .mtl 文件中。
MTL 元素 | CGA 要素 |
---|---|
newmtl |
材料名称对应于 .obj 文件中的 usemtl 语句。 |
illum |
如果网格的材料包含等于 (0,0,0) 的镜面颜色分量,则将导出 Lambert 材料(illum 设置为 3)。 对于 Phong 材料(镜面分量 != 零或反射率),将其将设置为 4。 |
Kd |
漫反射颜色。 使用 material.color 设置。 |
map_Kd |
散射纹理。 使用 material.colormap 设置。 仅当将纹理文件分配给色彩映射表通道时,才能写入此语句。 或者,可以导出以下 uv 平移和缩放因子: 如果 material.colormap.{su,sv} != 1.0,则 -s 选项将附加缩放因子。 如果 material.colormap.{tu,tv} != 0.0,则 -o 选项将附加平移值。 |
Ka |
环境光颜色。 使用 material.ambient 设置。 |
Ks |
镜面颜色。 如果材料类型为 Phong(illum = 4),则使用 material.specular 设置。 |
d |
不透明度。 使用 material.opacity 设置。 |
map_d |
不透明度地图。 使用 material.opacitymap 设置。 |
Ns |
冯氏光照模型的镜面反射指数,也称为 shininess。 使用 material.shininess 设置。 |
Tf |
对于 Maya 兼容性,设置为 (1.0, 1.0, 1.0)。 |
Ni |
对于 Maya 兼容性,设置为 1.0。 |
有关详细信息,请参阅渲染、导入和导出。