mtl 檔案是一種純文字檔案,使用記事本就可以編輯,用來描述一個物體的材質。
newmtl 語句組成,給當前材質定義一個名稱,並代表材質的起始點。起始語句後接著描述材質的材質顏色和紋理貼圖語句。一個 mtl 檔案包含多個不同的材質定義。newmtl 關鍵字定義一個新的材質時,語句後面定義該材質的語句順序是任意的。.obj 檔案透過 mtllib 指定 mtl 檔案後,應該使用 usemtl <mtl name> 指定要使用紋理,該紋理將套用到之後所有的面上,直到使用新的紋理。# 關鍵字作為「註解」。材質名稱語句:
newmtl my_mtl
材質顏色和光線語句:
Ka 0.0435 0.0435 0.0435
Kd 0.1086 0.1086 0.1086
Ks 0.0000 0.0000 0.0000
Ns 10.0000
illum 2
紋理貼圖語句:
map_Ka mapfile.png
map_Kd mapfile.png
newmtl 語句必須包含在每個材質定義的最上方,標記為一個材質定義的開始。並定義一個材質名稱。
Ka Ambient Lighting(環境光照):
r g b。0.2 0.2 0.2。Kd Diffuse Lighting(漫反射光照)
r g b。0.8 0.8 0.8。Ks Specular Lighting(鏡面光照)
r g b。這種顏色出現在鏡面高光(亮點)中。1.0 1.0 1.0。Ns Shininess(反光度參數):
s。0~1000。0.0。illum 開頭的語句定義材質計算陰影的光照模型,關鍵字後接一個代表光照模型的數字,值為 0, 1, 2。
illum <number>
0:恆色照明模型,最終顏色取值為 Kd 值,color=Kd。1:漫射反照模型,最終顏色由環境光照和漫反射光照決定,並且受多個光源影響。
2:漫反射和鏡面光照結合模型,最終顏色由環境光照、漫反射光照和鏡面光照共同決定。