3d文件格式规范001---obj格式

开发公司:Alias|Wavefront公司

典型应用:
软件:
(1)Advanced Visualizer(Wavefront)
(2)Poser

其他应用:
所有dcc/cad/cam都支持该格式

问题提出:
3D软件模型之间的互导时出现的错误,比如如果Maya自身的模型出错,也可以先转成OBJ格式,修改之后

再导回Maya。

################----OBJ文件 -- 概念----#######################
OBJ文件有2种基本格式:
ASCII格式(.obj)。
binary格式(.mod),该专利尚未公开.
文档版本:v2.11\v3.0。

#############----OBJ文件 -- 特点----#######################
(1)OBJ是一种3D模型文件,支持法线和贴图坐标,但是不包含动画、动力学、粒子等信息。
(2)OBJ3.0格式支持多边形(Polygon),直线(Lines),表面(Surfaces),和5种自由形态曲线(Free-form

Curves)。包括那些基于Bezier\B-spline\Cardinal\Taylor equations曲线。
注意:
各三维软件由于多方面原因,对obj格式的容纳能力不尽相同,比如Maya导出的OBJ文件只支持多边形。
(3)OBJ文件支持三角面。
很多其它的模型文件格式只支持三角面,所以我们导入Maya的模型经常被三角化了,这对于我们对模型

的再加工甚为不利。

################----基本结构 File structure----#####################
 

Syntax

Specifying

顶点数据(Vertex data)

v(v x y z w)

Geometric vertices

vt(u v w)

Texture vertices

vn(i j k)

Vertex normals

vp(u v w)

curve/surface attributes (Parameter space vertices)

自由形态曲线(Free-form curve)/表面属性(surface attributes)

deg(degu degv)

Degree

bmat(u matrix)

(v matrix)

Basis matrix

step(stepu stepv)

Step size

cstype

Curve or surface type

元素(Elements)

p(v1 v2 v3 ……)

-Point

l (v1/vt1 v2/vt2 v3/vt3 ……)

-Line

f (v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 ……)

Face

curv(u0 u1 v1 v2 ……)

Curve

curv2 (vp1 vp2 vp3……)

2D curve

surf(s0 s1 t0 t1 v1/vt1/vn1 v2/vt2/vn2……)

Surface

自由形态曲线(Free-form curve)/表面主体陈述(surface body statements)

parm (u p1 p2 p3……) (v p1 p2 p3……)

Parameter values

trim(u0 u1 curv2d u0 u1 curv2d ……)

Outer trimming loop

hole(u0 u1 curv2d u0 u1 curv2d …… )

Inner trimming loop

scrv(u0 u1 curv2d u0 u1 curv2d……)

Special curve

sp( vp1 vp……)

special point

end

End statement

自由形态表面之间的连接(Connectivity between free-form surfaces)

con(surf_1 q0_1 q1_1 curv2d_1

surf_2 q0_2 q1_2 curv2d_2)

Connect

成组(Grouping)

g(group_name1 group_name2 ……)

Group name

s(group_number)

Smoothing group

mg(group_number res)

Merging group

o(object_name)

object name

显示(Display)/渲染属性(render attributes)

bevel(on/off)

Bevel interpolation

c_interp(on/off)

Color interpolation

d_interp(on/off)

issolve interpolation

lod(level)

Level of detail

maplib(filename1 filename2……)

 

usemap(map_name/off)

 

usemtl( material_name)

Material name

mtllib(filename1 filename2 ……)

Material library

shadow_obj(filename)

Shadow casting

trace_obj(filename)

Ray tracing

ctech(cparm res)

(cspace maxlength)

(curv maxdist maxangle)

 

Curve approximation technique

stech(cparma ures vres)

(cparmb uvres)

(cspace maxlength)

(curv maxdist maxangle

)

Surface approximation technique

#####################---------材质库(.mtl)--------#####################

OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。

材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。
-------------------****基本结构*****-------------------------------

###########################################################


最优秀的模型格式01----DAE
最优秀的模型格式02----FBX
maya读取dae/fbx,可能需要自己安装插件!!

maya导入(import)obj等等模型后,可能需要做几个工作:
(1)cleanup清除重叠面
polygons>cleanup>lamina faces。

(2)qudrangulate 转为4边面
polygons>qudrangulate

(3)translation 调整大小等

(4)重新指定贴图
maya有一个bug,没有赋予材质的mtl文件不能正确读取,但是如果该mtl文件被正确的赋予了材质的话,就可以正确读取了



参考文献:
(1)http://www.martinreddy.net/gfx/3d/OBJ.spec
(2)http://en.wikipedia.org/wiki/Obj
(3)http://www.alias.com/eng/index.shtml, The Alias web site.
(4)http://people.sc.fsu.edu/~burkardt/data/obj/obj.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值