<div dir="ltr"><div dir="ltr"><div dir="ltr">Here's how you can run the X3D export from an external python script:<div><br></div><div><div>import bpy</div><div><br></div><div># bpy.ops.import_scene.fbx(filepath = "_enter_your_fbx_file_here_.fbx")</div><div>bpy.ops.wm.open_mainfile(filepath="_enter_your_blender_file_here_.blend")</div><div>bpy.ops.export_scene.x3d(filepath="_enter_your_X3D_file_here_.x3d")</div></div><div><br></div><div>You'll have to at least install  io_scene_x3d/export_x3d.py</div><div><br></div><div>in your blender addons.</div><div><br></div><div>I find this more convenient than clicking in the Blender GUI.</div><div><br></div><div>Indeed, I haven't tested the export plugin from the Blender GUI. Oops!</div><div><br></div><div>Time for testers.</div><div><br></div><div>John</div><div><br></div><div><br></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 17, 2023 at 12:34 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Doug, I have a first cut (Haven't verified scale, center, translation or rotation) at adding HAnimHumanoid and HanimJoints export to  X3D Blender export. (not X3DV, you're probably way ahead of me on that).</div><div dir="ltr"><br></div><div dir="ltr">Testing is welcome, but there's nothing visible yet.<br><div><br></div><div> <a href="https://github.com/coderextreme/BlenderX3DSupport" target="_blank">https://github.com/coderextreme/BlenderX3DSupport</a>.<br></div><div><br></div><div>We may need to put copyright notices back in.</div><div><br></div><div>John</div></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" target="_blank">gpugroup@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><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:1px solid rgb(204,204,204);padding-left:1ex"><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:1px solid rgb(204,204,204);padding-left:1ex"><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:1px solid rgb(204,204,204);padding-left:1ex"><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:1px solid rgb(204,204,204);padding-left:1ex"><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:1px solid rgb(204,204,204);padding-left:1ex"><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:1px solid rgb(204,204,204);padding-left:1ex"><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>
</blockquote></div>