obj文件是3D模型文件格式。由Alias|Wavefront公司為3D建模和動畫軟體"Advanced Visualizer"開發的一種標準,適合用於3D軟體模型之間的互導,也可以通過Maya讀寫。 + 只支持模型三角面數據和材質信息,無動畫功能支持; + 其中幾何信息由.obj文件提供,材質信息 ...
obj文件是3D模型文件格式。由Alias|Wavefront公司為3D建模和動畫軟體"Advanced Visualizer"開發的一種標準,適合用於3D軟體模型之間的互導,也可以通過Maya讀寫。
- 只支持模型三角面數據和材質信息,無動畫功能支持;
- 其中幾何信息由.obj文件提供,材質信息由.mtl文件定義;
- 文件以行為單位表示一條數據,可以根據行開頭的字元判斷後續的內容;
- 其中 # 字元表示註釋行
OBJ格式
# obj對應的材質文件
# mtllib testvt.mtl
# 組名稱
g default
# o 對象名稱(Object name)
o testvt.obj
# 頂點
v -0.5 -0.5 0.1
v -0.5 -0.5 -0.1
v 0 0.5 0.1
v 0 0.5 -0.1
v 0.5 -0.5 0.1
v 0.5 -0.5 -0.1
# 紋理坐標
vt 0 1
vt 1 1
vt 0.5 0
# 頂點法線
vn 0 0 1
vn 0 0 -1
# 當前圖元所用材質
usemtl Default
# s Smooth shading across polygons is enabled by smoothing groups.
# Smooth shading can be disabled as well.
s off
# v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3(索引起始於1)
f 1/1/1 5/2/1 3/3/1
f 6/2/2 2/1/2 4/3/2
MTL格式
# 定義一個名為 'xxx'的材質
newmtl xxx
# 材質的環境光(ambient color)
Ka 0 0 0
# 散射光(diffuse color)用Kd
Kd 0.784314 0.784314 0.784314
# 鏡面光(specular color)用Ks
Ks 0 0 0
# 折射值 可在0.001到10之間進行取值。若取值為1.0,光在通過物體的時候不發生彎曲。玻璃的折射率為1.5。
Ni 1
# 反射指數 定義了反射高光度。該值越高則高光越密集,一般取值範圍在0~1000。
Ns 400
# 濾光透射率
Tf 1 1 1
# 漸隱指數描述 參數factor表示物體融入背景的數量,取值範圍為0.0~1.0,取值為1.0表示完全不透明,取值為0.0時表示完全透明。
d 1
# 為漫反射指定顏色紋理文件
map_Kd test_vt.bmp
參考:
https://baike.baidu.com/item/OBJ%E6%96%87%E4%BB%B6/3574019
https://en.wikipedia.org/wiki/Wavefront_.obj_file