3D File Formats

Note: Cheetah 3D 8.1.1 also supports glTF/GLB, USDZ, and SceneKit (.scn) files (app bundle file types), not yet covered here.

Cheetah 3D supports a lot of useful 3D file formats. The “richest” format it supports is Autodesk’s FBX, which supports animation data. The most compatible format is OBJ which almost any 3D app can load or export, and is pretty human readable too (it’s a simple text format). DAE (Collada) is theoretically richer than FBX and promises to be a vendor-neutral alternative to FBX but so far it’s not well or widely supported (it was actually created by Sony and then “opened”). Indeed, C3D’s collada support is provided by Autodesk’s FBX SDK, without which it would probably not support collada at all.

Note: needs checking in Cheetah 3D 8.1.1: whether Collada support still comes from the FBX SDK (8.1.1 has its own Collada export options, including “Export animations”). Finally, Cheetah 3D provides good support for Silo v1.x files and moving between Cheetah 3D and Silo this way is slightly better than using OBJs. There’s really not much reason to use any other formats unless you have to.

Geometry

Here’s the good news. It’s pretty easy to get your geometry into or out of Cheetah 3D. Probably the “sturdiest” format for moving geometry around is the venerable .OBJ format, which dates back to the early 90s, but still does the job.

Here’s the bad news. There’s no way of preserving parameterized objects (e.g. primitives, creators, modifiers) or splines when you save to any format except Cheetah 3D’s native .jas format. (Collada supports most of this stuff in theory, but Cheetah 3D doesn’t support those parts of the collada file spec, nor do many other programs.) Saving to OBJ (or any other format) is, at best, the equivalent of turning everything in sight into an editable mesh and throwing away all your lights and cameras. At worst you’ll lose some geometry too!

Animation

AI draft: generated from the Cheetah 3D 8.1.1 app bundle (its export options); not yet reviewed by the author.

The best way to get animation data in or out of Cheetah 3D is via FBX, although the Collada and glTF exporters also have options to export animation.

End of AI draft.

Note: needs checking in Cheetah 3D 8.1.1: how much animation (skinning, takes, constraint-driven motion) the Collada and glTF exporters actually carry.

Cheetah 3D’s FBX export is pretty smart, so it will automatically key things that are being animated by constraints (e.g. typically you might use an IK rig to move a character’s legs around and key IK targets rather than bones). Cheetah 3D will automatically “bake” the keys for the bones.

Note: this paragraph about pre-5.8 versions is probably no longer needed.

For earlier versions of Cheetah 3D you can add a single key at the beginning of each take for any bone that is being animated this way and you should get the same result.

Lighting, Cameras, Material Definitions, Rigs

All of this information is lost when you export to a non JAS file format. Which material is assigned to which mesh will be recorded, but not how the material worked.

Also note that Cheetah 3D internally supports the idea of multiple materials being assigned to a given triangle (which would theoretically support things like decals) but (a) the renderer doesn’t support it (yet) and (b) this information is lost on export (only the “top most” material ends up being assigned to a given polygon).