Creating Game Data

Exporting 3D and 2D models

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:

Other hints:

  • 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. See examples/fps_game/ data for comments, especially the level file examples/fps_game/data/example_level/example_level_final.x3dv.

  • 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.

Creating Game Data