X3D and VRML is a flexible and powerful format for 3D models and a basis of our scene graph.
The following extensions are recognized:
X3D in classic and XML encoding:
VRML 1.0 and 2.0:
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).
An efficient, modern format, developed by Khronos. Resources:
Note that (unfortunatately) it seems not possible to export a single animation like "walk" that animates transformations of multiple Blender objects. That's a consequence of how the "actions" in Blender work ("action" is a set of animation curves, and using the same action for multiple objects forces them to share the animation curves — which may not be what you want). You can workaround it by running muliple animations simultaneously from CGE, but this is less comfortable than calling
Supported features of glTF models in our engine:
Meshes (polygons, lines), transformation hierarchy.
Materials using Phong shading, alpha mode, double-sidedness, per-vertex colors.
Texturing for base color, normal maps, emissive.
Cameras (perspective and orthogonal).
Animations of transformations (position, rotation, scale), that can be played using standard CGE
PlayAnimation method (or other means, e.g. to play multiple animations from one model simultaneously).
.gltf extensions are supported. Textures can be provided in separate files or embedded inside the GLTF stream.
It is integrated in our engine as X3D nodes graph. This means that you can include a glTF model inside larger X3D file using the
Inline node, you can modify the glTF scene graph at runtime (e.g. modify material color, show/hide something etc.) and you can serialize the scene graph to an X3D file.
Main missing features are PBR (Physical-Based Rendered materials, we are working on it), morph targets and skinned animation.
Castle Animation Frames
formerly known as
This is a simple format for animations, used to export animated models from Blender. It supports animating of everything in Blender (transformations, skin, shape keys, materials, particles, physics...), although it is somewhat memory-hungry.
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
All modern Collada versions (1.3, 1.4, 1.5) are handled.
Animations in Collada files are not handled yet. If you need animations, we advise to use glTF instead. glTF is newer and has similar feature set. Khronos provides a converter from Collada to glTF.
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
xxx_default.skin file), animation is also read
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.
Very basic support for this very old 3D format.
Copyright Michalis Kamburelis and other Castle Game Engine developers.
Thank you to Paweł Wojciechowicz from Cat-astrophe Games for various graphics.
This documentation is also open-source and you can even redistribute it on open-source terms.