星子夜吧 关注:2贴子:38
  • 2回复贴,共1

3DS文件格式说明

只看楼主收藏回复

3DS文件是一个存储3D模型和动画信息的文件。
我们想要从它导入信息,需要知道它文件的构成


1楼2011-10-10 18:13回复
    3D Studio File Format Information (3dsinfo.txt)Introduction============The information contained in this file is only collected by me. The credits go to the following people (in alphabetical order): Christophe Chabanois (Wolverine / Apocalypse) Jim Pitts Niklas Beisert (Pascal / 4711)I think some more people did a good job in discovering unknown chunks, but I don't know them all. The layout is based on 3dsffo10.txt from Christophe Chabanois. I did not include any source code from this info, because it was of no use to me. I used only the standard character set for compatibility with other operating systems.My own extensions and corrections are: - Corrected the hierarchy levels of some chunks, especially the material editor chunk and the spotlight sub-chunks are at the wrong place in some docs - Documented some spotlight and material sub-chunks - Documented most tracks - Made a consistent layout for all chunk descriptionsMy reader is written in object oriented C++ and can read the chunks only if they are in the right hierarchy position. It keeps the structure of the 3DS file in memory and does not jam all vertices into one big array. It also can write this structure back to a 3DS file. This gave me the possibility to convert the data of my world-editor into a 3DS file to see where toplace the animated objects. If you want to convert a mesh object into a 3DS file, you just need this chunk structure:0x4D4D Main chunk 0x3D3D 3D editor chunk 0x4000 Object block (with name of your object) 0x4100 Triangular mesh 0x4110 Your vertices 0x4120 Your facesThe internal reader of 3DS sets all other things to their defaults. The "auto edge" function is good if you dont't want to set the face flags.Index=====1. Fast reference : The chunk treeThis will help you to find rapidly a chunk number and its description.2. A chunk - What's that ?This will explain what a chunk is and help programmers understand thegeneral concept of the 3DS file format.3. Data typesThis short section will describe all data types used.4. Chunks descriptionThis is the most important part of the document. It describes the chunks.
    1. Fast reference : The chunk tree==================================Color chunks------------ 0x0010 : Rgb (float) 0x0011 : Rgb (byte) 0x0012 : Rgb (byte) gamma corrected 0x0013 : Rgb (float) gamma corrected Percent chunks-------------- 0x0030 : percent (int) 0x0031 : percent (float) 0x4D4D : Main chunk------------------- 0x0002 : 3DS-Version 0x3D3D : 3D editor chunk ------------------------ 0x0100 : One unit 0x1100 : Background bitmap 0x1101 : Use background bitmap 0x1200 : Background color 0x1201 : Use background color 0x1300 : Gradient colors 0x1301 : Use gradient 0x1400 : Shadow map bias 0x1420 : Shadow map size 0x1450 : Shadow map sample range 0x1460 : Raytrace bias 0x1470 : Raytrace on 0x2100 : Ambient color 0x2200 : Fog 0x2210 : fog background 0x2201 : Use fog 0x2210 : Fog background 0x2300 : Distance queue 0x2310 : Dim background 0x2301 : Use distance queue 0x2302 : Layered fog options 0x2303 : Use layered fog 0x3D3E : Mesh version 0x4000 : Object block --------------------- 0x4010 : Object hidden 0x4012 : Object doesn't cast 0x4013 : Matte object 0x4015 : External process on 0x4017 : Object doesn't receive shadows 0x4100 : Triangular mesh 0x4110 : Vertices list 0x4120 : Faces description 0x4130 : Faces material list 0x4140 : Mapping coordinates list


    2楼2011-10-10 18:16
    回复
      2025-10-18 08:41:04
      广告
      不感兴趣
      开通SVIP免广告
      这个格式不清晰,还是放上链接吧


      3楼2011-10-10 18:17
      回复