아스키로 구성된 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
- 단점 설명하기 : 무거운 데이터, 연속성 데이터를 유지하는 것, 사용자 추가 데이터
- 3D툴에서 obj파일 만들기
- nuke에 import 해보기