Our engine was designed from the start to use X3D, an open standard format for 3D models. You can use any 3D modeler to make models for your games, as almost everything can export to X3D (or it's older version, VRML). And when that's not enough, we also support many other formats: Spine JSON, Collada, 3DS, Wavefront OBJ and more.
When exporting your models, we highly advice checking your models in view3dscene to see if everything is exported correctly. Opening models in view3dscene is usually easier than running your whole game to test that a particular asset was exported OK. And view3dscene was implemented using our engine, so it can render exactly the same thing as your game.
The pages below have some advices specific to exporting from a particular software:
X3D has a lot of features, and some exporters do not allow
to configure everything.
But you can use
Inline X3D node
to include one 3D file
within another, and you can simply write some X3D content by
hand. That's good for adding scripts to 3D data, and generally adding
stuff that is uncomfortable (or impossible) to design in your 3D modeller.
examples/fps_game/ data for comments,
especially the level file
The engine by default follows the X3D convention that the Y axis is "up". The exporters honour it, e.g. when exporting from Blender (where the Z axis is by convention "up"), the exporter rotates your model. See "Which way is up?" manual chapter for more information about this, and how you can customize it.
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.