obj格式簡介_應用技巧

來源:互聯網
上載者:User
我們經常見到的*.obj檔案有兩種:第一種是基於COFF(Common Object File Format)格式的OBJ檔案(也稱目標檔案),這種格式用於編譯應用程式;第二種是Alias|Wavefront公司推出的OBJ模型檔案。我要講的OBJ檔案格式是指第二種-OBJ模型檔案。 <BR>   說起3D檔案格式,大家一定不會感到陌生,"*.3ds","*.max","*.lw","*.mb","*.dxf","*.obj",相信人人都能列舉出幾種來。但是說起OBJ檔案的具體特徵,卻很少有人能給出較為圓滿的描述。 很多人認識OBJ檔案是從使用Poser開始的,Poser是一款人體建模軟體,要把Poser產生的人體匯出到其它3D軟體中進行再加工,就用到了OBJ檔案。OBJ檔案是一種標準的3D模型檔案格式,很適合用於3D軟體模型之間的互導。比如你在3dsMax或LightWave中建了一個模型,想把它調到Maya裡面渲染或動畫,匯出OBJ檔案就是一種很好的選擇。目前幾乎所有知名的3D軟體都支援OBJ檔案的讀寫,不過很多軟體需要通過外掛程式才能做到這一點。
另外,作為一種優秀的檔案格式,很多遊戲引擎也都支援OBJ檔案的讀取。 瞭解OBJ檔案格式有什麼用呢?如果你不學編程的話,用處確實不大。不過,3D軟體模型之間的互導是一件很常見的事情,不幸的是,目前的3D軟體模型匯出功能都不那麼完美,經常會出現缺面少線的情況,有時還會遇到匯出的模型根本打不開的情況。如果情況非常緊急的話,你一定會不惜一切代價仔細研究,期望找到原因,解決問題。在這種情況下,我的教程也許會對你有很大協助
OBJ檔案是一種文字檔格式,這就意味著你可以直接用寫字板開啟進行查看修改,如果你能看懂每一行的內容是什麼意思,相信距離你成功的解決問題已經不遠了。
OBJ檔案是Wavefront公司為它的一套基於工作站的3D建模和動畫軟體"Advanced Visualizer"開發的一種檔案格式。 
  OBJ新版本是v3.0,代替以前的v2.11版本。 
  OBJ3.0格式支援多邊形(Polygon),直線(Lines),表面(Surfaces),和自由形態曲線(Free-form Curves)。 
直線和多角形通過它們的點來描述,曲線和表面則根據於它們的控制點和依附於曲線類型的額外資訊來定義。這些資訊支援規則和不規則的曲線,包括那些基於貝塞爾(Bezier)曲線,B樣條(B-spline),基數(Cardinal/Catmull-Rom樣條),和泰勒方程(Taylor equations)的曲線。 
   OBJ檔案 -- 特點 
  (1)OBJ是一種3D模型檔案,因此不包含動畫、材質特性、貼圖路徑、動力學、粒子等資訊。 
  (2)OBJ檔案主要支援多邊形(Polygons)模型。 
  (3)OBJ檔案支援三個點以上的面。
(4)OBJ檔案支援法線和貼圖座標。
OBJ檔案不支援有孔的多邊形面 
OBJ檔案不包含面的顏色定義資訊,不過可以引用材質庫,材質庫資訊儲存在一個尾碼是".mtl"的獨立檔案中。關鍵字"mtllib"即材質庫的意思。材質庫中包含材質的漫射(diffuse),環境(ambient),光澤(specular)的定義值,   "usemtl"指定了材質之後,以後的面都是使用這一材質,直到遇到下一個"usemtl"來指定新的材質。 
OBJ檔案 -- 基本結構 
OBJ檔案由一行行文本組成,注釋行以一個“井”號(#)為開頭,空格和空行可以隨意加到檔案中以增加檔案的可讀性。有字的行都由一兩個標記字母也就是關鍵字(Keyword)開頭,關鍵字可以說明這一行是什麼樣的資料。多行可以邏輯地串連在一起表示一行,方法是在每一行最後添加一個串連符(\)。 
注意串連符(\)後面不能出現空格或tab格,否則將導致檔案出錯。 
  下列關鍵字可以在OBJ檔案使用。 
  在這個列表中, 關鍵字根據資料類型排列,每個關鍵字有一段簡短描述。 
  頂點資料(Vertex data): 
   v 幾何體頂點 (Geometric vertices) 
  vt 貼圖座標點 (Texture vertices) 
  vn 頂點法線 (Vertex normals) 
  vp 參數空格頂點 (Parameter space vertices) 
  自由形態曲線(Free-form curve)/表面屬性(surface attributes): 
  deg 度 (Degree) 
  bmat 基礎矩陣 (Basis matrix) 
  step 步尺寸 (Step size) 
  cstype 曲線或表面類型 (Curve or surface type) 
  元素(Elements): 
  p 點 (Point) 
  l 線 (Line) 
  f 面 (Face) 
  curv 曲線 (Curve) 
  curv2 2D曲線 (2D curve) 
  surf 表面 (Surface) 
  自由形態曲線(Free-form curve)/表面主體陳述(surface body statements): 
  parm 參數值 (Parameter values ) 
  trim 外部修剪迴圈 (Outer trimming loop) 
  hole 內部整修迴圈 (Inner trimming loop) 
  scrv 特殊曲線 (Special curve) 
  sp 特殊的點 (Special point) 
  end 結束陳述 (End statement) 
  自由形態表面之間的串連(Connectivity between free-form surfaces): 
  con 串連 (Connect) 
-  成組(Grouping): 
   g 組名稱 (Group name) 
  s 光滑組 (Smoothing group) 
  mg 合并組 (Merging group) 
  o 對象名稱 (Object name) 
-  顯示(Display)/渲染屬性(render attributes): 
bevel 導角插值 (Bevel interpolation) 
  c_interp 顏色插值 (Color interpolation) 
  d_interp 溶解插值 (Dissolve interpolation) 
  lod 細節層次 (Level of detail) 
  usemtl 材質名稱 (Material name) 
  mtllib 材質庫 (Material library) 
  shadow_obj 投射陰影 (Shadow casting) 
  trace_obj 光線跟蹤 (Ray tracing) 
  ctech 曲線近似技術 (Curve approximation technique) 
  stech 表面近似技術 (Surface approximation technique) 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.