아스키로 구성된 3D 데이터 입니다. 호환성 때문에 적은 용량의 3D 데이터를 저장할 때는 오래된 포멧이긴 하지만 아직도 굉장히 인기있는 포멧입니다.
.obj 파일을 열면 아래와 같은 구조를 지닙니다.
mtllib box.mtl
o Cube
v 1.000000 1.000000 -1.000000
v 1.000000 -1.000000 -1.000000
v 1.000000 1.000000 1.000000
v 1.000000 -1.000000 1.000000
v -1.000000 1.000000 -1.000000
v -1.000000 -1.000000 -1.000000
v -1.000000 1.000000 1.000000
v -1.000000 -1.000000 1.000000
vt 0.375000 0.000000
vt 0.625000 0.000000
vt 0.625000 0.250000
vt 0.375000 0.250000
vt 0.375000 0.250000
vt 0.625000 0.250000
vt 0.625000 0.500000
vt 0.375000 0.500000
vt 0.625000 0.750000
vt 0.375000 0.750000
vt 0.625000 0.750000
vt 0.625000 1.000000
vt 0.375000 1.000000
vt 0.125000 0.500000
vt 0.375000 0.500000
vt 0.375000 0.750000
vt 0.125000 0.750000
vt 0.625000 0.500000
vt 0.875000 0.500000
vt 0.875000 0.750000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 0.0000
vn 1.0000 0.0000 0.0000
vn 0.0000 0.0000 -1.0000
usemtl Material
s off
f 1/1/1 5/2/1 7/3/1 3/4/1
f 4/5/2 3/6/2 7/7/2 8/8/2
f 8/8/3 7/7/3 5/9/3 6/10/3
f 6/10/4 2/11/4 4/12/4 8/13/4
f 2/14/5 1/15/5 3/16/5 4/17/5
f 6/18/6 5/19/6 1/20/6 2/11/6
- mtllib : 재질파일 위치
- o : 오브젝트 이름
- v : 점의 좌표 (x,y,z)
- vt : texture 좌표값. (u,v)
- vn : 각 면의 vertex normal 값. 면 갯수만큼 존재합니다.
- usemtl : 재질이름
- s : smoothing 그룹
- f : face입니다. 하나의 face는 (vertex,texture coordinate, vertex normal)로 구성되어 있습니다.
구조가 단순하기 때문에 오랫동안 시장에서 살아남은 파일입니다.
일반적으로 툴에서 .obj를 뽑아내면 매트리얼 파일도 같이 출력됩니다.
newmtl Material
Ns 225.000000
Ka 1.000000 1.000000 1.000000
Kd 0.800000 0.800000 0.800000
Ks 0.500000 0.500000 0.500000
Ke 0.0 0.0 0.0
Ni 1.450000
d 1.000000
illum 2
