[x3d-public] Blender > Exporting rig transforms to HAnim?

John Carlson yottzumm at gmail.com
Tue Jun 27 19:34:15 PDT 2023


I generate x3d.py app code (say helloworld.py—not the x3d.py classes), then
run the helloworld.py code to generate XML using x3d.py classes.

My plan is to do some kind of eval on the output code, but i don’t always
trust input JSON at this point, so i run the generated python in a separate
process (not any safer).

The difference between x3djsonld.py and X3dToPython.xslt is input encoding.

I believe one can check the x3d archives for a cornucopia of
X3dToPython.xslt examples.

Sorry, it didn’t occur to me earlier.  My focus has been on JSON.

Yes, i have generated python classes from X3DUOM before.  Don’s and Loren’s
stylesheet code to generate x3d.py is far superior to my solution there.
But yeah, one could write an importer with their stylesheet.  That’s not my
cup of tea.

But AFAIK, they don’t have a direct JSON to Python solution yet.  I can
probably generate their “helloworld.py” using X3DJSAIL plus X3DJSONLD.java.
  If you are interested, i can revisit my Java code and produce something
quick-like as an example.

I have not fully explored the connection between X3DJSAIL and X3DJSONLD.
Some Java errors in X3DJSONLD’s JavaSerializer.js are outstanding as
previously posted yesterday, I think.

Any issues with X3DJSONLD should be posted to github issues:
https://github.com/coderextreme/X3DJSONLD/issues

John

On Tue, Jun 27, 2023 at 9:04 PM GPU Group <gpugroup at gmail.com> wrote:

> What I found useful about the auto-generated examples scenes like
> helloworld.py in python for X3D.py: I could use them as examples for how to
> use the X3D.py API.
> What does the x3djsonld.py output scene load to? Do you have python
> classes for nodes? If so you could substitute the X3D node classes for your
> classes and bingo you have a json importer for x3d.py
> -Doug
>
>
> On Tue, Jun 27, 2023 at 7:34 PM John Carlson <yottzumm at gmail.com> wrote:
>
>> On first glance, this repo has not changed for a couple of years…vince?
>>
>> Also note that x3djsonld.py inputs JSON and outputs Python.
>> X3dToPython.xslt would convert from XML to Python.
>>
>> My Python serializer is working towards near present Mojo capabilities,
>> but Mojo does not currently support x3d.py library that i know of; a
>> request for support has been entered.  Mojo is primarily suited for AI…that
>> means support for compilation to multiple graphics/AI cards.
>>
>> Ideally, this will all land on a web page sometime.  The current Mojo
>> playground is a Jupyter derivation.
>>
>> John
>>
>> On Tue, Jun 27, 2023 at 8:17 PM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> I believe there is a repo for blender export/import.  Maybe Vince??? set
>>> it up and can add you?
>>>
>>> I can find a link, but it may be a private repo, not sure at this point.
>>>
>>> https://github.com/Web3DConsortium/BlenderX3DSupport
>>>
>>> Enjoy, if you can!
>>>
>>> John
>>>
>>> On Tue, Jun 27, 2023 at 4:42 PM GPU Group <gpugroup at gmail.com> wrote:
>>>
>>>> PHASE I complete:
>>>> I have a Cube and light exporting via the 2-step with x3d.py
>>>> - by hacking the current x3d exporter aka OFFICIAL exporter
>>>> x so it doesn't do anything fancy / no gltf animations or hanim yet
>>>> x no import
>>>> * but has gltf export/import menu, ready for phase ii
>>>> - I have the syntax worked out for going from blender to x3d aka b2x
>>>> - temporary name: web3d x3dv exporter
>>>> Q. should we have it in a community git / github repo, like gltf
>>>> exporter? If so how to set it up so multiple parties can git push?
>>>> -Doug
>>>>
>>>>
>>>> On Thu, Jun 22, 2023 at 5:13 PM GPU Group <gpugroup at gmail.com> wrote:
>>>>
>>>>> John,
>>>>> x3d.py looks interesting -- the node classes have XML, JSON, HTML,
>>>>> VRML export functions (missing equivalent import functions?)
>>>>> - I'll study it
>>>>> -Doug
>>>>>
>>>>> On Thu, Jun 22, 2023 at 4:48 PM John Carlson <yottzumm at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Check out x3d.py X3DPSAIL for python graph.
>>>>>> Check out x3djsonld.py (X3DJSONLD) for JSON -> x3d.py structures ->
>>>>>> XML, HTML5,VRML, etc.
>>>>>>
>>>>>>  x3djsonld.py needs more work.
>>>>>>
>>>>>> John
>>>>>>
>>>>>> On Thu, Jun 22, 2023 at 4:51 PM GPU Group <gpugroup at gmail.com> wrote:
>>>>>>
>>>>>>> A quick peek at gltf export/import: they do a 2-step conversion
>>>>>>> blender scenegraph <=> gltf scenegraph <=> files (.gltf, .glb etc)
>>>>>>> I've seen 2-step before, with collada exporter
>>>>>>> I don't quite understand the need for the middle format - seems a
>>>>>>> bit bureaucratic - but working well for them, perhaps easier to maintain
>>>>>>> 2-way conversions per-node-class. And can export /import to different file
>>>>>>> formats .x3dv and .x3d from same middle format. They also mention something
>>>>>>> generated automatically from some specification.
>>>>>>> Options:
>>>>>>> 1. do what they do, except with a web3d python scenegraph in the
>>>>>>> middle
>>>>>>> a) if someone has one already, use that
>>>>>>> b) generate one from specifications
>>>>>>> c) manually create one in python
>>>>>>> 2. copy their bender <=> gltf part, and change the gltf <=> files
>>>>>>> part to x3dv,x3d
>>>>>>> x but would be missing things that gltf doesn't have but web3d does?
>>>>>>> 3. stick with 1-step, hack / upgrade current x3d exporter using gltf
>>>>>>> blender <=> gltf as guide to getting all the blender goodies
>>>>>>>
>>>>>>> 1.a) Q. does anyone have python web3d node classes suitable for a
>>>>>>> scenegraph, or b) can generate from specs?
>>>>>>> Thanks,
>>>>>>> -Doug
>>>>>>>
>>>>>>> On Thu, Jun 22, 2023 at 2:38 PM Brutzman, Donald (Don) (CIV) <
>>>>>>> brutzman at nps.edu> wrote:
>>>>>>>
>>>>>>>> I too share that Blender->X3D conversion dream, Michalis!  8)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Given that X3D data types are clearly defined with thorough
>>>>>>>> animation/interaction support, and given that you have indeed mapped glTF
>>>>>>>> 2.0 rendering into X3D 4.0 capabilities, it is reasonable for anyone
>>>>>>>> pursuing this effort to expect that complete success of rendering and
>>>>>>>> animation is indeed possible.  Good to know when pursuing worthy goals.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> all the best, Don
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> Don Brutzman  Naval Postgraduate School, Code USW/Br
>>>>>>>> brutzman at nps.edu
>>>>>>>>
>>>>>>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA
>>>>>>>> +1.831.656.2149
>>>>>>>>
>>>>>>>> X3D graphics, virtual worlds, navy robotics
>>>>>>>> https://faculty.nps.edu/brutzman
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: x3d-public <x3d-public-bounces at web3d.org> On Behalf Of
>>>>>>>> Michalis Kamburelis
>>>>>>>> Sent: Thursday, June 22, 2023 9:40 AM
>>>>>>>> To: GPU Group <gpugroup at gmail.com>
>>>>>>>> Cc: X3D Graphics public mailing list <x3d-public at web3d.org>
>>>>>>>> Subject: Re: [x3d-public] Blender > Exporting rig transforms to
>>>>>>>> HAnim?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Blender->glTF exporter from Khronos (
>>>>>>>>
>>>>>>>> https://github.com/KhronosGroup/glTF-Blender-IO/ , regularly
>>>>>>>> synched to the version bundled with Blender) has great support for
>>>>>>>> animations.
>>>>>>>>
>>>>>>>> Simple animations (changing transformations), shape keys (this
>>>>>>>> means "CoordinateInterpolator" in X3D), skinning (H-Anim in X3D). And it
>>>>>>>> supports some more things too :) Like working textures, PBR, custom
>>>>>>>> properties ("metadata" in X3D).
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> I indeed dream that someone will have time to upgrade the
>>>>>>>> Blender->X3D exporter to add there these capabilities, and yes, looking at
>>>>>>>>
>>>>>>>> Blender->glTF exporter is a reasonable approach for this.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>>
>>>>>>>> Michalis
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> czw., 22 cze 2023 o 18:31 GPU Group <gpugroup at gmail.com>
>>>>>>>> napisał(a):
>>>>>>>>
>>>>>>>> >
>>>>>>>>
>>>>>>>> > Thanks Michalis for info.
>>>>>>>>
>>>>>>>> > Q. Does another Blender exporter for another format (not x3d)
>>>>>>>> export the rig transforms / animations?
>>>>>>>>
>>>>>>>> > Hypothesis: if another exporter does, then it would be possible
>>>>>>>> to copy / adapt code from that exporter to x3d exporter.
>>>>>>>>
>>>>>>>> > -Doug
>>>>>>>>
>>>>>>>> >
>>>>>>>>
>>>>>>>> > On Thu, Jun 22, 2023 at 10:22 AM Michalis Kamburelis <
>>>>>>>> michalis.kambi at gmail.com> wrote:
>>>>>>>>
>>>>>>>> >>
>>>>>>>>
>>>>>>>> >> The Blender->X3D exporter unfortunately doesn't support
>>>>>>>> animations
>>>>>>>>
>>>>>>>> >> (of any kind - even simple transformations, not to mention
>>>>>>>> skinning
>>>>>>>>
>>>>>>>> >> animation with H-Anim).
>>>>>>>>
>>>>>>>> >>
>>>>>>>>
>>>>>>>> >> Regards,
>>>>>>>>
>>>>>>>> >> Michalis
>>>>>>>>
>>>>>>>> >>
>>>>>>>>
>>>>>>>> >>
>>>>>>>>
>>>>>>>> >>
>>>>>>>>
>>>>>>>> >> czw., 22 cze 2023 o 18:16 GPU Group <gpugroup at gmail.com>
>>>>>>>> napisał(a):
>>>>>>>>
>>>>>>>> >> >
>>>>>>>>
>>>>>>>> >> > If I make a skin and add a rig in Blender, on export, how do I
>>>>>>>> get any rig transforms to export to HAnim along with the skin?
>>>>>>>>
>>>>>>>> >> > When I use the default x3d export, all I see is the skin in an
>>>>>>>> IndexedFaceSet.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>
>>>>>>>> x3d-public mailing list
>>>>>>>>
>>>>>>>> x3d-public at web3d.org
>>>>>>>>
>>>>>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> x3d-public mailing list
>>>>>>> x3d-public at web3d.org
>>>>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>>>>
>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230627/4f5ed5bb/attachment-0001.html>


More information about the x3d-public mailing list