Effective Export/Import of 3D Models
Effective Export/Import of 3D ModelsBy Nathan Segal. June 5, 2003.
3D model libraries have sprouted all over the web, where you can get a wide variety of models, designed for several formats. A sampling of companies offering 3D Models for sale include 3D Cad Browser, Mesh Factory, etc. The big question was how did these companies build their 3D models in so many formats? Did they build the model in one format then export the model to another application or did they build it from scratch in each application? To answer these questions, I spoke with Don Prochazka, Product Manager for Discreet.
Nathan: I've noticed that you can buy different meshes that can be used in a variety of applications. What are these people doing to create the completed file, so that when it's output from whatever application they're using, that you can import it into another application without having problems with the meshes or image maps?
Dan: "They typically build their model and then they'll go into each of the applications. A lot of people like to model in Max, so that's where they might do their initial modeling. Then they will export depending on what the exporter supports and what the importers support. As an example, they might just move the geometry into Lightwave and then set up the texturing in Lightwave, re-link the hierarchies and then they'll save that as a Lightwave file."
"So when you buy a CD-ROM of Lightwave content, you're not getting something in an arbitrary format; what you're getting is a scene file with geometry in it specific to that application. The critical issue is all that preparatory work. Now, some cheaper companies might save everything in the .3DS format (which is the old DOS version of 3D Studio), but one of the problems with that is if you were going to create a word like "Dijon Mustard," each letter would have to be saved as a .3DS file. But the best way is to model in a format where you can move most of the geometry into another application. Then you can finish the model there."
N: Can you give me some guidelines on how to set that up properly? Let's say I was to build a model in Max and I wanted to export that and rebuilt it in Maya?
Dan: "I would tend towards using the FBX (by Kaydara) format but it also depends on what you're trying to move. If you're trying to move a sofa, it's not that difficult. A lot of companies will support the texture coordinates and generate that translation on export to whatever format you're looking for. But if you're creating characters, everybody's IK system (linking and hierarchy) is different. In those cases, your animation data would be there (the FBX format would keep those keyframes), but if you wanted to change that, you would have to re-link that if you wanted to change the animation. To elaborate, the rotation position information for each keyframe would be saved, but it wouldn't automatically set up an IK system for you. It won't export that and actually translate that into a Maya IK system. This would also affect the skinning system. Typically, you don't see those things move over."
"You would finish your animation in the system that you consider the finishing system. So a lot of people will model in Max; then go to Softimage for character animation because a lot of people like the nonlinear aspects of their character animations."
Nathan: If you model in Max and you want to send that model to another application, how do you make sure that the geometry translates properly?
Dan: "That's almost an impossible question to answer. Are you using NURBS, polygons or patches? If you're using patches and you're trying to export using the IGES (.IGS) format, you can't, because it doesn't support patches, but if you're exporting straight polygons, then everything should move over with no problem."
Nathan: Is there a best approach to modeling?
"This is the thing that's difficult about 3D. Every company sets up a different pipeline and they decide how that pipeline should move data from one place to the next. It's almost a religion with them and is oftentimes a fanatical decision. So I hate using words like "best." It's tough to know specifically what will happen, but you can offer some generalities."
"Most of these come down to knowing exactly what these different formats can support. In the case of FBX, every 1-3 months they put up a new version which will allow it to support more options. But When a company sets up a pipeline, they usually don't change that. What exists in that pipeline today can be improved by FBX down the road, but there is no way the pipeline will adjust to accept that. In many cases, they stick with that from project to project, if it's profitable."
N: What happens when you move a file containing image maps?
Dan: "That's what I mean about whether this is supported. If you're not moving geometry, then image maps don't matter at all, because they're attached to a piece of geometry. And this depends on how you move the data. As an example, one application might move the geometry, but not the UV coordinates. But if you have an image, you've likely set up UV coordinates and you've probably done this in Max. The next step depends on the translator; whether it moves over the geometry and/or UV coordinates. If both move over properly, that's great. If the map isn't in place after moving over the data, you can pop the map back into place because the coordinates are there."
Nathan: What is a general approach that you would recommend when you want to export a mesh into other applications?
Dan: "Before you start building you have to decide if this is the pipeline you want, you had better make sure you have a way of moving that data. There's nothing worse than building a that data, than having to throw a lot of that out, because the only way you get it over is by using DXF, which destroys everything. DXF is a very old format that was build around architecture and not 3D. So you don't really get UV coordinates, things are broken down into triangles and it doesn't support patches or NURBS. Its very five years ago."
"The most important point is to make sure you have everything planned out. You wouldn't move a four-bedroom house full of furniture and think because you have a VW bug that you have transportation. It will be a rude awakening the first time you try to put a sofa into the fold down seat. And that's probably not an inaccurate analogy, because 3D applications put their energy into building better tools; and not into translation because there are so many different ways that you can translate data and so many different types of data."
"This changes frequently and bigger companies find it hard to be that nimble; that's where smaller companies are able to keep up with that because it's their only business."
FBX by Kaydara. According to Dan: "Their format and translators are free. You can go from one application to the next, but with FBX, the primary goal of their plug-ins is designed to move animation data. With Kaydara, they help people move data from one place to the other, free of charge in the hopes that you'll eventually see the need for their motion builder products."
XSI. This site contains links to wide variety of 3D products, including tutorials, links, books and reference material
Okino Computer Graphics.One of their specialties is animation/translating software. If you have questions about translation problems, email Robert Lansdale with your questions. He has 14 years of experience with data translation, animation and rendering programming for all major 3D CAD and animation applications.
Created: June 5, 2003
Revised: June 5, 2003