There are literally hundreds of different file formats for 3d. Some of them will contain textures, some will contain animation, some will contain skeletons. So what does the 3d file have to store? Well, obviously, it's got to store the geometry of all the meshes that are going to be in your scene. It's got to store the materials that those geometries are then rendered with. It's got to store the hierarchy of the scene.
So and if you understand 3d, then that's fine. If you don't understand then, let me explain that a scene can contain loads and loads and loads of different meshes. The positions of those meshes are important, but a mesh itself could have another mesh attached to it. Suppose you have A cup on top of the table, and the table moves and the companies to move with the table. So, the way we do this in 3d, is we make the cup have the table as a parent. So the table has children.
And a mesh or an object can have a single parent. But a mesh can have multiple children. Another thing that a 3d file farmer has to store is lighting. Often with games, we'll create our own lighting. But if you're dealing with blender, for example, then the lighting comes in as part of this scene file. And very important features the 3d file formats will be interested in his animation, because, and particularly skeletal animation because the animation that we're doing of character is very complicated and very difficult to do that directly in code.
Much better to handle that with an application program. So what are the main 3d file formats that we're going to consider? Well, we're going to look at just five. And as I explained, there are, you know, hundreds of available but these are the important files that we're going to look at in this course. The OBJ file, this is a simple text file, and contains all the information about a single mesh. The 3ds file, you might come across these.
This is from 3d Studio, and 3d Studio Max, VR ml file. Virtual Reality markup language, one of the early web 3d to suggestions has now been developed into x 3d, a collage file that has the extension dot d a. And that's another text file and the SPX format, which is becoming increasingly popular for exchanging data between 3d application programs, and game development. So let's have a look at the OBJ file. It was created by wavefront technologies. And it's just a plain text file.
And when you use in texture maps, they'll only be included by filename. They won't be embedded into the file into the file itself. There's no animation support in an OBJ file, so you'd have to animate yourself and there's no skeleton support. So it's not really suitable for character animation at all. But it's useful for you know, loading a table or a door or something like that. And there is a three GS loader available for The 3ds format was created by Autodesk, one of the biggest 3d development companies going.
It's got its own incident media type. There are limitations to naming particularly in 3ds files. Now, there is also the dot max file as well, which is 3d Studio Max rather than 3d Studio. And that gets run most of these limitations. texture maps, for example, have to have a file name, the users deal, MS DOS, eight dot three characters, format, and objects and various things in a scene can't have more than 10 characters and materials can't have more than 16 characters. And if I remember rightly, a single Count of more than 65,536 I think it is whatever it is, it's just two to raise to the power 16 is it can't have more than that number of faces.
And all faces must be triangles. But it can't including animation. He does support skeletons. But there's no 3ds loader. So you really have to convert that into something else before you could use it. The RML virtual reality markup language, it's now developed into x 3d.
And if it's something that you're interested in, supporting, then web 3d dot org is the place to go. it embeds texture maps by file name, it can include animation. It can include a skeleton, and there is a three GS Loader for it collapse That's the dot d a file was originally created by Sony but it's now handled by the khronos group. texture map is this a plain text file effectively like XML and its texture maps are included by filename. Animations included skeletons are supported. And there is a three GS loader.
But the one that we're going to only support in this course is FX FX is widely supported these days and fully featured It was created by Autodesk is a binary file. So when you load it in from the internet, it will be application architect stream. texture maps can be actually embedded into the FX itself in binary format. animation and skeletons are fully supported. And there is a GS loader is the one to use. And we're going to be examining that in more detail in a later video.
So when you're dealing with 3d you're going to come across lots of 3d file formats, it's inevitable and sometimes the only option is to convert one to another. And the supportive that is patchy to say the least. blenders pretty good. So Blender will normally load and whatever you've got hold off. If you don't have something that will directly load it is well worth trying blender and that will export an FBX x including all animation and all skeletal support