Supported model formats

The following 3D and 2D model formats are supported by Castle Game Engine. They can be loaded e.g. using the TCastleScene.Load method. You can also open them in view3dscene.

1. Best formats to use

  • X3D and VRML.

    The following extensions are recognized:

    • X3D in classic and XML encoding: .x3d, .x3dz, .x3d.gz, .x3dv, .x3dvz, .x3dv.gz

    • VRML 1.0 and 2.0: .wrl, .wrz and .wrl.gz.

    We have a great support for X3D and VRML, and handle rendering, animation, interaction, scripts, shaders and more features of these formats. An entire section of this website, Scene Graph (X3D), documents all the features we support (from the X3D and VRML standard, and many of our own extensions).

    If your authoring software can export to X3D, this is the format you should probably use.

  • Castle Animation Frames (castle-anim-frames) format, formerly known as kanim.

    This is a simple format for animations, used to export animated models from Blender.

  • Spine JSON animations. Spine is a powerful program for 2D game skeletal animations. Dragon Bones can also export to this format.

    We have a big support for Spine JSON features, and our friendly game studio Cat-astrophe Games is using Spine for all 2D games.

  • Not yet, but coming soon: glTF 2.0.

    Great format from Khronos. See planned features for a lot of details.

2. Other formats you can use

  • Collada (.dae extension). We support a lot of Collada features — geometry with materials, textures, cameras, lights. Tested on many Collada examples, like Collada Test Model Bank and Collada models exported from various Blender versions. All modern Collada versions (1.3, 1.4, 1.5) are handled.

    Animations in Collada files are not handled yet.

  • OpenInventor 1.0 ASCII files (.iv extension) are handled. Inventor 1.0 and VRML 1.0 are very similar formats, we also handle some additional Inventor-specific nodes.

  • 3d Studio 3DS format. We support most important things: meshes, cameras, materials, textures.

  • MD3. This is the format used for models in Quake 3 and derivatives (Tremulous etc.). Almost everything useful from MD3 file is supported: geometry with texture (coordinates, and texture filename from associated xxx_default.skin file), animation is also read and played.

  • Wavefront OBJ files. We support most important things: geometry (with texture coords, normal vectors), materials (colors, opacity, texture filenames).

  • STL (Standard Triangle Language, aka STereoLithography). STL is a simple popular 3D format used in 3D printing. We support both ASCII and binary formats.

  • Videoscape GEO (.geo extension). Very basic support for this very old 3D format.