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
:漫反射和鏡面光照結合模型,最終顏色由環境光照、漫反射光照和鏡面光照共同決定。