different file formats - why?
courtesy of Digital Tutors
Have you ever worked on a project and the file you were given was the wrong format? Or set up a scene in Maya and were handed the main asset file from CINEMA 4D? We know how frustrating it can be to receive the wrong file format when working on a big project.
Today, we are here to help you get familiar with the different types of open-file formats you can use to exchange computer graphics – helping you and your team complete projects faster no matter which software package you choose.
Depending on what you wish to accomplish, one format might be better than another in certain situations. It’s always a good idea to take a look at your current pipeline and figure out what file format works best.
An interchange file format is a file that can be opened in multiple different applications. In a 3D production environment, there are typically multiple different applications used, and each one of these applications has their own proprietary file format, (which you’ll learn more about later) meaning that the 3ds Max file format which is .3ds can only be opened in 3ds Max, and can’t be opened in something like CINEMA 4D.
This is where the interchange formats come into play. If you have somebody creating a character model in Maya, and another artist who needs to use that same model in ZBrush to add more fine details won’t be able to because an .mb or .ma file format Maya uses can’t be opened in ZBrush. To bridge this gap between different applications you’ll need to use an interchange file format. There are really four different interchange file formats that for the most part are compatible with any 3D application or game engine, let’s go over those here.
OBJ is a file format that was developed by Wavefront Technologies. It’s a simple way to export and import geometry from different applications. It’s capable of also holding curves and B-Spline information. The .OBJ file itself holds no color information; it only contains the mesh, the faces, vertex, edges, etc. The color is contained on an accompanying file called .MTL. One thing to keep in mind though, is that OBJ is slightly outdated, and the .MTL file doesn’t hold things like specular and normal maps.
OBJ files cannot contain animations, so it is primarily used to move static meshes from one software to another. It is also one of the older formats listed in this article. The OBJ file format is great for transferring geometry from one 3D application to the other, for example creating the base mesh in an application like Maya and exporting the mesh as an OBJ and importing it into a program like ZBrush or MudBox.
Since this file type has been around for a while, the list of applications that support it is long. This was one of the first 3D formats that Photoshop allowed you to import and there are even plug-ins that exist for importing .OBJ files into After Effects.
FBX is a file format that was developed by Kaydara for their Filmbox application which is now owned by Autodesk and renamed MotionBuilder. FBX is supported by a wide range of popular software packages (Maya, 3ds Max, MotionBuilder, CINEMA 4D, MODO, Rhino and more ) and contains more export options than OBJ. Because FBX was developed to be used with motion-capture software, it was important to be able to handle animation data.
FBX supports a number of options that include geometry, materials and textures, animation, deformations and Inverse Kinematics just to name a few. The FBX file format is heavily used in the game industry because it’s capable of animation information, something that OBJ doesn’t support.
COLLADA is managed by the Khronos Group. Like FBX, it is also supported by a wide range of popular software packages and is able to transfer animation data between applications. It usually uses a .dae file extension.
COLLADA supports options that include geometry, materials and textures, animation, instances, kinematics and more. COLLADA was intended to be a file format that is compatible with every 3D application, and be a universal file format. However, because of this, it actually makes COLLADA suffer because it can be an extremely bloated file format, and it’s possible to have bad results when importing and exporting models between applications. This is another reason why it’s not the best for game engine use. However, the intended purpose of COLLADA was to be a format you can store and easily share content between different 3D tools. It’s best to convert from COLLADA to the game engines optimized format.
Alembic is a new file format that was introduced just a few years ago by Sony Pictures Imageworks and Lucasfilm. It is quickly being adopted by every major application used in production today. Even though this format is being adopted, software developers still choose what type of data is to be written or read from the alembic files. So just because Maya stores the camera information doesn’t mean that an application like RealFlow will import that camera information.
The way this format differs from FBX and COLLDA is that you have to bake the animated data to send it to other applications. Meaning you no longer have the full capabilities to edit the animation. You might use this format once you have decided what you want your final animation to look like.
This format also takes up a minimal amount of disk space compared to FBX and COLLADA, and that file becomes optimized for read/write speeds once it is exported into the Alembic format. This format uses an .abc file extension.
The way you might use this format is to animate your final scene and export it as an Alembic file. Now with the smaller file size you can send it to a lighting and rendering artist or maybe you need to add dynamic simulations to the scene. The smaller file size is a benefit to other parts of the pipeline because they do not need the ability to modify the animation. All they need is the final result with quick read/write speeds to the file which alembic can provide.
As mentioned earlier, each application has their own proprietary file format, and there are a few of them that have multiple file formats you can use in the program, each with different benefits. Typically, an application’s proprietary file format can’t be opened in a different application. For example, you can’t open a Blender file in MODO and vise versa. There are a few exceptions to this, however.
Most game engines also support each one of these proprietary file types. For example, Unity allows you to directly import files from 3ds Max into Unity and give you live updates, so any changes you do in the 3D application will be updated inside of Unity.
Let’s go over some of the major 3D application’s and their proprietary file formats so you can better understand them, and you’ll be able to recognize them if they ever get sent your way down the pipeline.
.ma and .mb
Maya has two different file formats, Maya Binary (.mb) and Maya ASCII (.ma) the main difference between these two is that .mb is a compressed version of an .ma file. So the Maya Binary files are typically a little smaller in size than Maya ASCII file formats. Maya defaults to saving your scene as an .mb file, but there are actually a few benefits of an ASCII file format over the default Binary.
The first is that the Maya ASCII file is written in a programmable code, so you’re able to make changes to the file directly in a word document like Wordpad. This is why ASCII files are typically used in a production environment. You’re also able to open an ASCII file in older or newer versions of Maya.
You can also import baked camera data from the Maya file directly into After Effects.
.max and .chr
3ds Max has two different file formats, the first is the .max file, which is the native file format for 3ds Max, containing everything from lights, cameras, animations, etc. These .max files can only be read by 3ds Max, the other file format which is the .chr file, or the 3ds Max Character File. This file format is typically used for developing characters for game engines. It contains the geometry, textures and animations.
Blender features its own proprietary file called the .blend file. This is the type of file that is associated with any Blender scene. The unique thing about the .blend file format is that it can include several different Blender scenes into a single .blend file.
The CINEMA 4D file format is called .C4D, any scene creating in CINEMA 4D will be stored in this file. The .C4D file format is compatible with quite a few programs, especially with Adobe products, because CINEMA 4D has a close relationship with various different Adobe products, and includes CINEWARE allowing easy migration of CINEMA 4D to After Effects. The .C4D file is also supported in Photoshop, Illustrator and Final Cut Pro.
MODO has its own proprietary file type called the Luxology Scene or .lxo. Any scene saved in MODO will be stored in an .lxo file format. In a program like SolidWorks you can actually save the file as an .lxo and open it inside of MODO.
If you are a little weary about these file formats, use your Digital-Tutors subscription to download some of the assets from the Asset Library in the different formats and test them out.
Or you can take a look at how these file formats can be used throughout different parts of your pipeline.