對.obj的初瞭解
概述
.obj文件的特點
OBJ3.0文件格式支持直線(Line)、多邊形(Polygon)、表面(Surface)和自由形態曲線(Free-form
Curve)。直線和多邊形通過它們的點來描述,曲線和表面則根據它們的控制點和依附於曲線類型的額外信息來定義,這些信息支持規則和不規則的曲線,包括那些基於貝塞爾曲線(Bezier)、B樣條(B-spline)、基數(Cardinal/Catmull-Rom)和泰勒方程(Taylor
equations)的曲線。其他特點如下:
(2)OBJ文件主要支持多邊形(Polygons)模型。雖然也支持曲線(Curves)、表面(Surfaces)、點組材質(Point
Group Materials),但Maya導出的OBJ文件並不包括這些信息。
OBJ文件不需要任何種文件頭(File Header),儘管經常使用幾行文件信息的註釋作爲文件的開頭。OBJ文件由一行行文本組成,註釋行以符號“#”爲開頭,空格和空行可以隨意加到文件中以增加文件的可讀性。有字的行都由一兩個標記字母也就是關鍵字(Keyword)開頭,關鍵字可以說明這一行是什麼樣的數據。多行可以邏輯地連接在一起表示一行,方法是在每一行最後添加一個連接符(\)。注意連接符(\)後面不能出現空格或Tab格,否則將導致文件出錯。
頂點數據(Vertex data):
v 幾何體頂點(Geometric vertices)
vt 貼圖座標點(Texture vertices)
vn 頂點法線(Vertex normals)
vp 參數空格頂點 (Parameter space vertices)
deg 度(Degree)
step 步尺寸(Step size)
元素(Elements):
p 點(Point)
l 線(Line)
f 面(Face)
curv 曲線(Curve)
curv2 2D曲線(2D curve)
surf 表面(Surface)
自由形態曲線(Free-form curve)/表面主體陳述(surface body statements):
parm 參數值(Parameter values )
trim 外部修剪循環(Outer trimming loop)
hole 內部整修循環(Inner trimming loop)
sp 特殊的點(Special point)
end 結束陳述(End statement)
自由形態表面之間的連接(Connectivity between free-form surfaces):
con 連接 (Connect)
成組(Grouping):
g 組名稱(Group name)
s 光滑組(Smoothing group)
mg 合併組(Merging group)
o 對象名稱(Object name)
顯示(Display)/渲染屬性(render attributes):
bevel 導角插值(Bevel interpolation)
c_interp 顏色插值(Color interpolation)
d_interp 溶解插值(Dissolve interpolation)
lod 細節層次(Level of detail)
usemtl 材質名稱(Material name)
mtllib 材質庫(Material library)
shadow_obj 投射陰影(Shadow casting)
trace_obj 光線跟蹤(Ray tracing)
ctech 曲線近似技術(Curve approximation technique)
stech 表面近似技術 (Surface approximation technique)
OBJ文件不包含面的顏色定義信息,不過可以引用材質庫,材質庫信息儲存在一個後綴是".mtl"的獨立文件中。關鍵字"mtllib"即材質庫的意思。
(例如語句 mtllib name.mtl)
材質庫中包含材質的漫射(diffuse),環境(ambient),光澤(specular)的RGB(紅綠藍)的定義值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特徵。
"usemtl"指定了材質之後,以後的面都是使用這一材質,直到遇到下一個"usemtl"來指定新的材質。
參考:
相應的.obj文件、對應的.mtl文件以及在.mtl文件裏指定路徑下應含有的貼圖圖片。
概述
.obj文件的特點
OBJ3.0文件格式支持直線(Line)、多邊形(Polygon)、表面(Surface)和自由形態曲線(Free-form
Curve)。直線和多邊形通過它們的點來描述,曲線和表面則根據它們的控制點和依附於曲線類型的額外信息來定義,這些信息支持規則和不規則的曲線,包括那些基於貝塞爾曲線(Bezier)、B樣條(B-spline)、基數(Cardinal/Catmull-Rom)和泰勒方程(Taylor
equations)的曲線。其他特點如下:
(2)OBJ文件主要支持多邊形(Polygons)模型。雖然也支持曲線(Curves)、表面(Surfaces)、點組材質(Point
Group Materials),但Maya導出的OBJ文件並不包括這些信息。
OBJ文件不需要任何種文件頭(File Header),儘管經常使用幾行文件信息的註釋作爲文件的開頭。OBJ文件由一行行文本組成,註釋行以符號“#”爲開頭,空格和空行可以隨意加到文件中以增加文件的可讀性。有字的行都由一兩個標記字母也就是關鍵字(Keyword)開頭,關鍵字可以說明這一行是什麼樣的數據。多行可以邏輯地連接在一起表示一行,方法是在每一行最後添加一個連接符(\)。注意連接符(\)後面不能出現空格或Tab格,否則將導致文件出錯。
頂點數據(Vertex data):
v 幾何體頂點(Geometric vertices)
vt 貼圖座標點(Texture vertices)
vn 頂點法線(Vertex normals)
vp 參數空格頂點 (Parameter space vertices)
deg 度(Degree)
step 步尺寸(Step size)
元素(Elements):
p 點(Point)
l 線(Line)
f 面(Face)
curv 曲線(Curve)
curv2 2D曲線(2D curve)
surf 表面(Surface)
自由形態曲線(Free-form curve)/表面主體陳述(surface body statements):
parm 參數值(Parameter values )
trim 外部修剪循環(Outer trimming loop)
hole 內部整修循環(Inner trimming loop)
sp 特殊的點(Special point)
end 結束陳述(End statement)
自由形態表面之間的連接(Connectivity between free-form surfaces):
con 連接 (Connect)
成組(Grouping):
g 組名稱(Group name)
s 光滑組(Smoothing group)
mg 合併組(Merging group)
o 對象名稱(Object name)
顯示(Display)/渲染屬性(render attributes):
bevel 導角插值(Bevel interpolation)
c_interp 顏色插值(Color interpolation)
d_interp 溶解插值(Dissolve interpolation)
lod 細節層次(Level of detail)
usemtl 材質名稱(Material name)
mtllib 材質庫(Material library)
shadow_obj 投射陰影(Shadow casting)
trace_obj 光線跟蹤(Ray tracing)
ctech 曲線近似技術(Curve approximation technique)
stech 表面近似技術 (Surface approximation technique)
OBJ文件不包含面的顏色定義信息,不過可以引用材質庫,材質庫信息儲存在一個後綴是".mtl"的獨立文件中。關鍵字"mtllib"即材質庫的意思。
(例如語句 mtllib name.mtl)
材質庫中包含材質的漫射(diffuse),環境(ambient),光澤(specular)的RGB(紅綠藍)的定義值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特徵。
"usemtl"指定了材質之後,以後的面都是使用這一材質,直到遇到下一個"usemtl"來指定新的材質。
參考:
相應的.obj文件、對應的.mtl文件以及在.mtl文件裏指定路徑下應含有的貼圖圖片。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.