[x3d-public] Blender exporter

doug sanden highaspirations at hotmail.com
Wed Jun 10 15:14:05 PDT 2015


I hacked an older Bart Campbell python exporter a few times, about 5 years ago, you're welcome to start with or get ideas from this if you don't like the current blender x3d exporter. IIRC the main things I did differently:
a) used an xml library to help form elements
b) included sub-scenes
But I suspect didn't include the sub-scenes correctly, or could have made an option on how to use them They should have been exported as Inlines or Protos and I think I included them in a single export file.
x didn't do animations or fancy stuff - just static
- there's a hint/comment in the .py on how to use it with recent versions of blender ie in blender console you enter a command, rather than installing it 

> 1. Full-featured Blender exporter to X3D, supporting animations and
> other stuff. Current Blender->X3D exporter (bundled with Blender) is
> indeed limited to static models, and has various other annoyances/lacks.
> For my open-source 3D game engine (Castle Game Engine
> http://castle-engine.sourceforge.net/ ), it's a great pity that the most
> popular open-source 3D authoring tool (Blender!) doesn't have a good X3D
> export...
> I tried to tackle it a couple of times, but never found enough time...
> Enough:) Let's do this:)

> Technical notes:
> - Note that this is a task for Python coding. There's no need to modify
> Blender "core" in C++ to create a good X3D exporter (Python script is
> much easier to approach, and is suggested way by Blender devs).
> - I want to submit the exporter (either a new exporter, or as
> much-improved existing exporter) to the Blender to make it included in
> the Blender releases.
> As for X3D importer, I see some effort going on already, see Blender
> mailing list "[Bf-python] Got X3D import fixes" recent thread. I did not
> have the time to actually check it yet.
> Details what features I would like to add (on top of existing
> Blender->X3D features):
> - Export of transformation (translating / rotating / scaling) animation.
> This simply converts to X3D animation using interpolators on Transform
> nodes. This should cover all Blender objects: visible shapes, and also
> cameras and lights.
> - Export of animation export for mesh deformation, so that you can
> export "baked" animated characters (from armature animation, from shape
> keys animation etc.) This is simply converted to X3D
> CoordinateInterpolator that modifies whole
> IndexedFace/TriangleSet.Coordinate contents.
> - Take into account Blender actions: each separate Blender action
> results in a separate TimeSensor node in X3D. Effectively, your X3D file
> will contain all your actions, and you can run your chosen action by
> activating a similarly-named TimeSensor node in X3D. An option to
> auto-run the first action automatically upon opening the X3D file (by
> ProximitySensor) will be available.
> - Add export of Blender's custom properties to X3D metadata.
> - Add export of Blender's Empty objects to X3D Transform node. By
> itself, Transform node without any children is useless, but it can be
> used by game engine e.g. to interpret it as a placeholder for initial
> creatures/items/traps etc. location on the level (together with above
> metadata).
> - Add multi-texturing export.
> - Add export of 3D sound animation.


More information about the x3d-public mailing list