[x3d-public] Blender exporter

doug sanden highaspirations at hotmail.com
Wed Jun 10 20:16:32 PDT 2015

Another diff - collada-like declaration section using switch -1, which has the effect of flattening xml nesting.

Date: Wed, 10 Jun 2015 15:48:21 -0700
From: web3d at realism.com
To: x3d-public at web3d.org
Subject: Re: [x3d-public] Blender exporter



      That would be great. I have a online tool that does conversion
      from FBX to X3D. The tool has problems because Blender cannot
      handle many FBX files and the X3D converter is not always so good
      (as you have noted).


      I do have a request for any future work in Blender (or other DCC
      tool) exporters...


      If at all possible, please avoid PROTOs and Script nodes. Script
      nodes have a naming conflict with HTML and some work will need to
      be done. Almost all PROTOs use Script nodes making them not work
      so well with HTML (X3DOM). BTW, Inlines work great; though there
      are issues with multiple URLs (especially from different domains).


      Thank you,


      Leonard Daly






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

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

- Add multi-texturing export.

- Add export of 3D sound animation.

x3d-public mailing list
x3d-public at web3d.org




        Leonard Daly

        X3D Co-Chair

        Cloud Consultant

        President, Daly Realism - Creating the Future

x3d-public mailing list
x3d-public at web3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20150610/59377f45/attachment.html>

More information about the x3d-public mailing list