3D模型--obj文件小知识
小小总结
为了研究三维模型的轻量化技术,首先来学习一下obj文件,参考了不少资料后,写下来方便自己查阅,同时也可以帮助到有需要的朋友。
简单介绍
obj文件是一种非常标准的3D模型文件格式,在各种3D模型软件中的互通互导性都非常强,同时也支持一些游戏引擎的读写。下面来详细介绍一下obj文件格式的一些具体知识吧。
obj文件的概念和特点介绍
- obj文件是一间名为Wavefront公司为其一个3D建模动画软件开发的文件格式,现已公开,得到广泛应用。
- obj文件是一种基于几何定义的文本文件,obj文件格式是一种简单的单独表示3D几何图元的文件格式——也就是,顶点的坐标,每个顶点纹理的UV坐标,顶点法向量,以及组成多边形的面的顶点坐标、以及纹理UV坐标序列。可以直接通过写字板或者记事本打开进行编辑操作。
- obj文件目前的格式支持多边形(Polygon),直线(Lines),表面(Surfaces),和自由形态曲线(Free-form Curves)。其中直线和多边形直接用点来描述,表面和曲线则根据于它们的控制点和依附于曲线类型的额外信息来定义,这些额外信息包括像贝塞尔(Bezier)曲线,B样条(B-spline),基数(Cardinal/Catmull-Rom样条),和泰勒方程(Taylor equations)等。
- obj文件是存储3D模型数据的文本文件,不包含面的颜色信息,也无法包含动画、材质特性、贴图路径、动力学、粒子等信息。
obj文件的基本结构
文件格式
obj文件不需要任何一种文件头(File Header),文件开头通常是注释掉的几行文本说明信息,注释符号是哈希字符‘#’。
空格和空行可以随意加到文件中以增加文件的可读性。有字的表明此行的数据类型。多行可以逻辑地连接在一起表示一行,方法是在每一行最后添加一个连接符 ‘\’(斜杠)<