<div dir="auto"><span style="background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0)">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.</span><br><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.<br></div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 16, 2023 at 7:38 PM GPU Group <<a href="mailto:gpugroup@gmail.com">gpugroup@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">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.<div>-D</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 16, 2023 at 6:32 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">1. zip the io_scene_x3dv folder so you have io_scene_x3dv.zip<div>2. in Blender > Edit > preferences > Install button which will give you a file picker, pick your zip</div><div>3. still in preferences, make sure the box is checked to activate / turn it on</div><div>Then it shows up in the File > Export list.</div><div>If you make changes to it, re-zip, then uninstall from preferences first, before Install again and check box again</div><div>-D</div><div><br><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 16, 2023 at 3:56 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Doug, basic information, like "How to export X3DV in a Blender python script" is needed.  I am referring to: <a href="https://github.com/dug9/BlenderX3DSupport" target="_blank">https://github.com/dug9/BlenderX3DSupport</a>  Please provide basic information like how to run a script external to python would help.</div><div dir="ltr"><div><br></div><div>Something like:</div><div><br></div><div><div>import bpy</div><div><br></div><div># bpy.ops.import_scene.fbx(filepath = "../../Tufani/LILY_7_3_BLEND.fbx")</div><div>bpy.ops.wm.open_mainfile(filepath="LILY_7_3_BLEND.blend")</div><div>bpy.ops.export_scene.x3dv(filepath="fooLily.x3dv")</div></div><div><br></div><div><br></div><div>I will try from the Blender GUI next.</div><div><br></div><div>John</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 25, 2023 at 2:15 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">i'm currently testing with <div><a href="https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/BoxmanBVH_play.x3d" target="_blank">https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/BoxmanBVH_play.x3d</a> <br></div><div>- uses freewrl extra nodes HAnimMotionPlay : HAnimMotion and HAnimMotionDataFile HAnimMotionData</div><div><a href="https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/play.x3d" target="_blank">https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/play.x3d</a> <br></div><div>- a handy heads-up Proto for playing files (run,stop,rewind,end,increment,slidebar) </div><div><a href="https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/BoxmanBVH_play.png" target="_blank">https://freewrl.sourceforge.io/tests/26_Humanoid_Animation/BoxmanBVH_play.png</a><br></div><div>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). </div><div>-Doug</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 25, 2023 at 12:44 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">Yeah, I was trying to write quaternions on shoulder stuff to get from A Pose to I Pose.<div><br></div><div>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?</div><div><br></div><div><br></div><div>Thanks,</div><div><br></div><div>John</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 25, 2023 at 1:36 PM GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank">gpugroup@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div>John, that's great we'll need you.</div>I haven't worked on the blender exporter in weeks, you are welcome to start that HAnim export part if you like.<div><a href="https://github.com/dug9/BlenderX3DSupport" target="_blank">https://github.com/dug9/BlenderX3DSupport</a> <br></div><div>Right now I'm struggling to load .bvh files at random with bvhacker <a href="https://github.com/DaveDubUK/bvhacker" target="_blank">https://github.com/DaveDubUK/bvhacker</a> 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.</div><div>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).</div><div>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.</div><div>-Doug</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 25, 2023 at 12:21 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">Doug, <div><br></div><div>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.</div><div><br></div><div>Thanks,</div><div><br></div><div>John</div></div>
</blockquote></div>
</blockquote></div>
</blockquote></div>
</blockquote></div></div></div>
</blockquote></div>
</blockquote></div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>