导入obj_3D模型obj文件格式详解
3d打印機導入三維模型通常都是obj格式,下面我們來看一下這種文件的格式。為我們進行產品開發提供技術基礎儲備。
obj格式有4種數據,分別以一下字母開頭:
v頂點
vt紋理坐標
vn頂點法向量
f 面
一、頂點
格式:v x y z
意義:每個頂點的坐標
二、紋理坐標
格式:vt u v w
意義:繪制模型的三角面片時,每個頂點取像素點時對應的紋理圖片上的坐標。紋理圖片的坐標指的是,紋理圖片如果被放在屏幕上顯示時,以屏幕左下角為原點的坐標。
注意:w一般用于形容三維紋理,大部分是用不到的,基本都為0。
三、頂點法向量
格式:vn x y z
意義:繪制模型三角面片時,需要確定三角面片的朝向,整個面的朝向,是由構成每個面的頂點對應的頂點法向量的做矢量和決定的(xyz的坐標分別相加再除以3得到的)。
四、面
格式 :f v/vt/vn v/vt/vn v/vt/vn(f 頂點索引 / 紋理坐標索引 / 頂點法向量索引)
意義:繪制三角面片的依據,每個三角面片由三個f構成,由f可以確定頂點、頂點的對應的紋理坐標(提取紋理圖片對應該坐標的像素點)、通過三個頂點對應的頂點法向量可以確定三角面的方向。
補充:有些模型可能會出現四邊形的繪制方式,那樣的模型關于面的數據描述是這樣的 f v/vt/vn v/vt/vn v/vt/vn v/vt/vn ,比三角面繪制方式多一項數據。
補充說明:
頂點的個數與頂點法向量的個數一樣多。
頂點的個數不一定與紋理坐標的個數一樣多,因為有可能很多頂點公用一個紋理坐標的像素。
面索引的個數也與其余數據數量無關。
最終每個三角面的顏色,是由構成這個三角面的三個頂點進行插值計算(有例如:一個三角面其中兩個頂點對應的紋理坐標是黑色的,另外一個是白色,那整個面呈現的顏色是由黑變白漸變,而不是三個顏色值的平均值。這就是插值的作用)來確定。所以面的顏色有可能不與每個點的顏色一致。
感謝閱讀。
對我文章感興趣的網友,可以關注我。
總結
以上是生活随笔為你收集整理的导入obj_3D模型obj文件格式详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进来看看!2022年度最全手机排行榜出炉
- 下一篇: DJI RS 3 Mini发布:2千克负