[x3d-public] Transforms -> HAnimJoints

John Carlson yottzumm at gmail.com
Tue Sep 19 19:34:59 PDT 2023


Great work on x3d.py, Don and Loren.  and Doug on Blender X3DV plugins!
I’m seeing the beauty of Python after the drudgery of Perl.

In my other post, I try to present my new WIP on JSON loading into x3d.py.
I’m hoping Doug has something to take a scenegraph using the x3d.py API and
load into Blender.  I’m going to need that.  Meanwhile, JSON to  x3d.py
seems like a good target.  If someone has time, Python export from x3d.py
would be super cool.

I will look into importing using the io_scene_x3dv plugin as a break from
JSON.  I realize that HAnim may be left out at this point.  I do not have
experience loading skinCoordIndexes and skinCoordWeights into Blender bpy
API, but I’ve seen some notes online.

John

On Sat, Sep 16, 2023 at 7:38 PM GPU Group <gpugroup at gmail.com> wrote:

> PS I looked at the X3D, WRL importer in blender, and they hack on the text
> blob to generate some kind of  'AST' abstract syntax tree for both of
> those, and then traverse that generic AST when converting to blender nodes.
> So no dependencies on external parsers. I don't know if the same technique
> would work for html and json.
> -D
>
> On Sat, Sep 16, 2023 at 6:32 PM GPU Group <gpugroup at gmail.com> wrote:
>
>> 1. zip the io_scene_x3dv folder so you have io_scene_x3dv.zip
>> 2. in Blender > Edit > preferences > Install button which will give you a
>> file picker, pick your zip
>> 3. still in preferences, make sure the box is checked to activate / turn
>> it on
>> Then it shows up in the File > Export list.
>> If you make changes to it, re-zip, then uninstall from preferences first,
>> before Install again and check box again
>> -D
>>
>>
>>
>> On Sat, Sep 16, 2023 at 3:56 PM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> Doug, basic information, like "How to export X3DV in a Blender python
>>> script" is needed.  I am referring to:
>>> https://github.com/dug9/BlenderX3DSupport  Please provide basic
>>> information like how to run a script external to python would help.
>>>
>>> Something like:
>>>
>>> import bpy
>>>
>>> # bpy.ops.import_scene.fbx(filepath = "../../Tufani/LILY_7_3_BLEND.fbx")
>>> bpy.ops.wm.open_mainfile(filepath="LILY_7_3_BLEND.blend")
>>> bpy.ops.export_scene.x3dv(filepath="fooLily.x3dv")
>>>
>>>
>>> I will try from the Blender GUI next.
>>>
>>> John
>>>
>>> On Fri, Aug 25, 2023 at 2:15 PM GPU Group <gpugroup at gmail.com> wrote:
>>>
>>>> i'm currently testing with
>>>>
>>>> https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/BoxmanBVH_play.x3d
>>>>
>>>> - uses freewrl extra nodes HAnimMotionPlay : HAnimMotion and
>>>> HAnimMotionDataFile HAnimMotionData
>>>> https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/play.x3d
>>>> - a handy heads-up Proto for playing files
>>>> (run,stop,rewind,end,increment,slidebar)
>>>>
>>>> https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/BoxmanBVH_play.png
>>>> and in combination with script in the above scene file I can compare
>>>> specific animation frames between blender, bvhacker and freewrl, can be
>>>> adapted to HAnimMotion (doesn't depend on any HAnim nodes itself).
>>>> -Doug
>>>>
>>>> On Fri, Aug 25, 2023 at 12:44 PM John Carlson <yottzumm at gmail.com>
>>>> wrote:
>>>>
>>>>> Yeah, I was trying to write quaternions on shoulder stuff to get from
>>>>> A Pose to I Pose.
>>>>>
>>>>> If you have a good test suite, please share.  One thing that I found
>>>>> out was you're supposed to multiply on the left of center by the quaternion
>>>>> and on the right by the inverse quaternion???  Online documentation goes
>>>>> all over the board.  I'm thinking of resorting to THREE.js. Maybe The
>>>>> C/C++/C# SAI has something?
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> John
>>>>>
>>>>> On Fri, Aug 25, 2023 at 1:36 PM GPU Group <gpugroup at gmail.com> wrote:
>>>>>
>>>>>> John, that's great we'll need you.
>>>>>> I haven't worked on the blender exporter in weeks, you are welcome to
>>>>>> start that HAnim export part if you like.
>>>>>> https://github.com/dug9/BlenderX3DSupport
>>>>>> Right now I'm struggling to load .bvh files at random with bvhacker
>>>>>> https://github.com/DaveDubUK/bvhacker as a cleaning tool.  There are
>>>>>> lots of recorded bvh motion files to download and use. But even bvhacker
>>>>>> needs work -- for example ensuring  Y-UP (blender exports .bvh Z-UP),
>>>>>> mapping to HAnim LOA names/selecting the right LOA, ARMS_DOWN default pose.
>>>>>> For example when using a T-pose .bvh file (the T geometry is recorded
>>>>>> in the OFFSETs field and angles are relative to that pose) on an ARMS_DOWN
>>>>>> HAnim, the shoulder/arm rotations aren't correct. BVHacker does some
>>>>>> channel swapping X--Y, but similar technique in freewrl doesn't work
>>>>>> reliably (yet).
>>>>>> SUMMARY: I'm in the same zone with the hanim transforms but stuck
>>>>>> back a few steps in getting freewrl to play a .bvh with good shoulder
>>>>>> animation. So stuck for a while but open to coordinating with you on HAnim
>>>>>> and blender exporter.
>>>>>> -Doug
>>>>>>
>>>>>> On Fri, Aug 25, 2023 at 12:21 PM John Carlson <yottzumm at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Doug,
>>>>>>>
>>>>>>> I have some code I've been working on that converts VRML Transforms
>>>>>>> with DEFs to HAnimJoints.  Maybe we should collaborate on Hanim Blender
>>>>>>> export. I'm also looking for something that will apply transforms to joint
>>>>>>> centers, if you have something tested and separate from FreeWRL.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> John
>>>>>>>
>>>>>> _______________________________________________
> 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/20230919/59c4759f/attachment-0001.html>


More information about the x3d-public mailing list