Autodesk 3DS#



导入 - 导出


文件 ‣ 导入/导出 ‣ 3D Studio (.3ds)






Bob Holcomb、Campbell Barton、Sebastian Schrand


Sebastian Sille (NRGSille)




此插件用于向/从3DS Studio文件导入/导出对象,3D Studio DOS的本地文件格式版本发布了R1到R4版。此格式是除OBJ以外的早期3D文件格式之一,通常用于与Autodesk® 3ds MAX® 交换文件。







The kind of objects to be imported, checked object types will be imported and unchecked not. Hold shift while selecting to check multiple object types.


Reads the keyframe tracks from a 3ds file and transforms the objects to the data which was found. Usually only one frame is found in static scenes, it will be imported to the timeline. If the 3ds scene is animated, the complete animation will be imported to the timeline.


Reads the 3D cursor location chunk if one is found. Almost all valid 3ds files including this chunk, but with the location set to zero.


Constrain Size

Scales the imported objects by 10 scene units until it reaches the size defined here. To disable set the Size Constraint to zero.


Converts the scale of all objects to the scene unit length settings. Blender uses meter scale, but many 3ds files have millimeter unit scale, especially the ones exported from CAD applications. If millimeters are expected to import, set the scene unit length settings to Millimeters. The meshes can also be converted to imperial unit measures if this is enabled in the scene units.

Pivot Origin

Moves all geometry to the pivot origin. Enable this option for transformed pivot centers to move the geometry back to its origin.


Applies object transformations after importing. If unchecked, all transformations will be cleared and the objects will stay at its origins.


Use world matrix instead of local matrix to transform the objects. This is useful for older 3ds files from 3D Studio DOS which only used world space to transform the objects. It is also useful if the object was exported without apply transform.


Since many applications use a different axis for 'Up', these are axis conversions for Forward and Up axes -- By mapping these to different axes you can convert rotations between applications default up and forward axes. Blender uses Y forward, Z up (since the front view looks along the +Y direction). For example, its common for applications to use Y as the up axis, in that case -Z forward, Y up is needed.




When checked, only selected objects are exported. Otherwise export all objects in the scene.


The kind of objects to be exported, checked object types will be exported and unchecked not. Hold shift while selecting to check multiple object types.


Preserves the object hierarchy if no keyframe section is written. Blender can read the hierarchy chunks but most importers do not use them, therefore only recommended if the file is used in Blender only.


Writes the keyframe section of a 3ds file and exports the animation if an action was found. The animation can be imported the same way, un-check if any importer crashes, not every application can handle the keyframe section.


Saves the current 3D cursor location of the scene to a chunk, the importer can read the location, if the option is enabled.



The global scale factor for export. There are no unit scale definitions in a 3ds file, only the float values are stored. Blender will use meters for export but many applications, like 3ds MAX®, are using millimeters. This option defines the scale factor to use for export. If millimeters are desired, the scale factor has to be setted to 1000.


Takes the scene unit length settings into account to export the real size of the objects. If the settings are millimeters, the exported scene will be scaled up since Blender uses meters for unit scale. Also imperial unit measures are supported, the exporter will convert the mesh to the selected scene unit.


Since many applications use a different axis for pointing upwards, these are axis conversion for these settings, Forward and up axes -- By mapping these to different axes you can convert rotations between applications default up and forward axes. Blender uses Y forward, Z up (since the front view looks along the +Y direction). For example, it is common for applications to use Y as the up axis, in that case -Z forward, Y up is needed.


Materials in 3ds are defined in various color and percent chunks which can include either integer percent and 24bit color values or float color and percent values, both can be read by the importer and will be converted to blender values. The exporter uses the integer values, since this is used from 3ds version 3 and above. The material definitions which Blender can use are the following:

  • 3ds Diffuse Color <-> blender 基础色

  • 3ds Specular Color <-> blender 高光染色

  • 3ds Ambient Color <-> blender 自发光颜色

  • 3ds Mat Shininess <-> blender 粗糙度的反相

  • 3ds Mat Shin2 <-> blender 高光强度

  • 3ds Mat Shin3 <-> blender 金属度

  • 3ds Mat Opacity <-> blender Alpha值的反相

  • 3ds Mat TransFall <-> blender 透射

  • 3ds Mat RefBlur <-> blender 涂层权重

  • 3ds Mat TexBlur <-> blender 光泽权重

  • 3ds Mat Bump PCT <-> blender 法线贴图强度

  • 3ds Self Illumination PCT <-> blender 自发光强度


Each 3ds material can include different texture mappings, which are all imported to Blender material nodes including texture coordinates. The 3ds exporter basically takes the images and coordinates, which are directly connected to the Principled BSDF shader, if an image is connected to a color-mix shader, it will exported as secondary texture. Shininess maps to roughness and opacity to the alpha channel, they must be color inverted afterwards to match with Blender definition. The material mappings are defined as following:

  • 3ds Diffuse Map <-> blender 基础色纹理

  • 3ds Specular Map <-> blender 高光染色纹理

  • 3ds Shininess Map <-> blender 粗糙度纹理

  • 3ds Reflection Map <-> blender 金属度纹理

  • 3ds Opacity Map <-> blender Alpha纹理

  • 3ds Self Illumination Map <-> blender 自发光纹理

  • 3ds Bump Map <-> blender 法线贴图(切向空间)

  • 3ds Tex2 Map <-> blender 颜色纹理(连接到混合着色器)




所有纹理文件名受限于 8.3 DOS格式,这意味着图像纹理的名称只有8个字符长度,超出的部分将被剔除。


Meshes are made of triangles only, no quads are supported, 3ds Studio uses edge visibility flags to hide and show edges, many 3ds files use them to mark the quads. The Blender 3ds importer and exporter will use those flags to mark edges sharp, this can be used to convert the triangles back to quads. The importer can read the smooth-chunk and shades a face smooth if it belongs to a smooth-group, the exporter creates a smooth chunk if the mesh contains any smooth faces. 3ds only supports one pair of UV coordinates per vertex. If any vertex has more UVs, it will be duplicated.


If ambient chunks are found by the importer, a new world with the ambient color will be created. Ambient keyframes will be imported to the timeline and background color to the world background node. If a background image is found, it will be connected to the background node and if fog chunks are found, volume shaders with the fog settings will be connected to the world output. If ambient is animated, an ambient node will be created and connected to a mixshader. Gradient chunks will be imported to a color ramp node. The exporter can export these settings and will also accept an add-shader instead of a mixshader, images are taken from the background input. The exporter creates an ambient chunk with the color of the active world and creates background chunks with color or image if the nodes are connected to world output or mix and add shader. Ambient color animations can primary be exported from the world color. If nodes are used, the exporter checks the RGB input node and the emission shader for color animations and writes an ambient track node chunk. If a color ramp node is connected to background or colormix node and includes at least three colors, the exporter will create a gradient chunk.




Lights in 3DS Studio can be a point source or a spotlight, they use color and energy data and a target for the spotlight. The color and position of a light can be animated, the spotlight additionally has a target, beam angle and hotspot, wich can be animated. The lights and animation can be imported and exported, the spotlight can contain a projection bitmap, if an image is connected to a emission or colormixer, it will be exported. The x/y scale of a spotlight will be exported in an aspect ratio chunk, the importer can calculate it back to x/y scale. The target data is calculated to Z and X axis angle for pan and tilt, Y is used for the roll angle.


Cameras can be imported and exported to 3ds files. They can be animated with field of view (converted to focal length), position and target data, calculated to X and Z axis angle for pitch and yaw, Y is used for the roll angle.


The importer can read the keyframes, they will be added to the timeline. Most animations will play, but the transformations may not be correct, some axes or rotations can be inverted. It depends on how it was exported from other applications. The exporter can write the keyframes of the timeline to an animated 3ds file.