2009/02/26

090226 3ds 檔案格式

下面寫的筆記僅取所需試譯於
Spacesimulator.net - 3ds format file reader, loader
3dsinfo
-----

3ds file 包含一系列的資訊,用來描述的由一個或多個物件組成的三維場景,當中包含了許多區塊稱為"Chunks",包含了任何描述場景所需要的如物件名稱、頂點座標、mapping coordinates、多邊形清單、顏色與keyframe等資訊。
在檔案中的Chunks是各自獨立的,可以針對所需的Chunks做讀取。

Chunks的格式如下
Offset   Length    Name

0 2 Chunk-ID
2 4 Chunk-length = 6+n+m
6 n Data
6+n m Sub-chunks

要讀取一個Chunk,必須要讀取它的parent chunk。

要將網格物件(mesh object)轉換成3ds檔案,僅需以下結構:


0x4D4D Main chunk
|-0x3D3D 3D editor chunk
|-0x4000 Object block (with name of your object)
|-0x4100 Triangular mesh
|-0x4110 Your vertices
|-0x4120 Your faces

3dsinfo中第四點Chunks description有詳細描述各Chunks的細部資訊如下:
-------------------------
Chunk #    : 0x4110
Name : Vertices list
Level : 4
Size : varying
Father : 0x4100 (Triangular mesh)
Format :

word Number of vertices

Then, for each vertex
vector Position
----------------------------------

其中Format敘述該Chunk的格式,以此知道如何去讀取該Chunk(資料類型比照3dsinfo第三點)

沒有留言 :