<div dir="auto">Bujus,</div><div dir="auto"><br></div><div dir="auto">I’ll try to let you know the status of my work.  Most of the discussion takes place on the x3d-ecosystem mailing list @<a href="http://web3d.org">web3d.org</a>.</div><div dir="auto"><br></div><div dir="auto">@dug9 took the blender gltf import/export and adapted it for io_scene_x3dv then added the x3d/x3dv python module so we can export .x3d, .x3dv, and .x3dj (JSON—not ready) outputs.  Then we started on the exporter.  I developed bone animation exports and some HAnim.  The HAnim exporter is here:  <div dir="auto"><a href="https://github.com/coderextreme/BlenderX3DSupport/tree/main/io_scene_x3dv">https://github.com/coderextreme/BlenderX3DSupport/tree/main/io_scene_x3dv</a>  it is in a halfway state between being developed for the loader (next) and the importer (after that).</div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">But we didn’t have all of HAnim, just some faked HAnimSite and HAnimSegment nodes in output, so effort has be placed on a brand new XML loader which does not load bones, instead it loads Objects of type EMPTY.  Many X3D nodes are loaded this way, and they have Blender names of format <XML tag>.<DEF/USE attribute>.<id>. Id = 0 is the DEF node.</div><div dir="auto"><br></div><div dir="auto">Primary things on your  Blender priority list should be HAnim (humanoid animation) and animation from .x3d XML.  Also a possible simple upgrade to Classic VRML would be nice.  I have done some work on import, found here:  <div dir="auto"><a href="https://github.com/coderextreme/BlenderX3DSupport/tree/main/io_scene_x3d">https://github.com/coderextreme/BlenderX3DSupport/tree/main/io_scene_x3d</a> note that there’s a small amount of added export code for HAnim.</div><div dir="auto"><br></div><div dir="auto">So I think the X3D code should be divided into 2 modules like we are doing.  One should be blender oriented, perhaps only using EMPTYs for Transforms and Groups, and making full use of Blender bones for HAnimJoint animations and ask HAnimHumanoid skin and skinCoord fields for skinning.  Plus vertex groups for joints will also be involved in joints and skin animations.  If you can add EMPTYs to the bones for HAnimSites and HAnimSegments, great! Also modify code from the io_scene_x3dv addon for exporting bone animations along with skinCoordWeight and skinCoordIndex fields in HAnimJoint.</div><div dir="auto"><br></div><div dir="auto">I will continue to work on the non-bones export <div dir="auto"><a href="https://github.com/coderextreme/BlenderX3DSupport/tree/main/io_scene_x3dv">https://github.com/coderextreme/BlenderX3DSupport/tree/main/io_scene_x3dv</a> and the loader: <a href="https://github.com/coderextreme/X3DJSONLD/blob/master/blend/localfinal.py">https://github.com/coderextreme/X3DJSONLD/blob/master/blend/localfinal.py</a></div><div dir="auto"><br></div><div dir="auto">Another thing I am working on is CoordinateInterpolator to HAnimDisplacer conversions.  I don’t think this is handled by Blender yet.  Your knowledge of Blender will be useful.  Here’s my current repo:<div><a href="https://github.com/coderextreme/ci2had">https://github.com/coderextreme/ci2had</a></div><div dir="auto"><br></div>Note that this only has start and end keys in the interpolator.  We will have to do animation chaining (multiple TimeSensors)/concatenation or some other technique.  Or just implement both the interpolator and the displacer.  I’m at a good point in the ci2had project, but I’m looking for skeletons to add displacers to.</div><div dir="auto"><br></div><div dir="auto">My loader doesn’t currently handle Classic VRML or X3D JSON.  We have ways to convert to .x3d.</div><div dir="auto"><br></div><div dir="auto">We’d love to get the full PBR extensions imported and exported from Blender, and this will require Blender expertise.  Most of my knowledge is in HAnim.  Look at  X_ITE’s PBR material extension in addition to the specifications:  <div><a href="https://www.web3d.org/x3d4">https://www.web3d.org/x3d4</a></div><div dir="auto"><br></div><div dir="auto"><div><a href="https://create3000.github.io/x_ite/components/shape/physicalmaterial/">https://create3000.github.io/x_ite/components/shape/physicalmaterial/</a></div><div dir="auto"><br></div><div dir="auto"><div><a href="https://web3d.org/pipermail/x3d-public_web3d.org/2024-June/020587.html">https://web3d.org/pipermail/x3d-public_web3d.org/2024-June/020587.html</a></div><br></div><div dir="auto"><br></div><div dir="auto">Note that these are in the “X_ITE” component:</div><div dir="auto"><br></div><div dir="auto"><div dir="auto"> <div><a href="https://create3000.github.io/x_ite/components/overview/#x_ite">https://create3000.github.io/x_ite/components/overview/#x_ite</a></div><div dir="auto"><br></div>at the bottom.</div><div dir="auto"><br></div><div dir="auto">Lots of PBR stuff could be lifted from the blender gltf addon.</div></div><div dir="auto"><br></div><div dir="auto">That’s all for now.  Please work on PBR (with X_ITE) first, if there are no higher priorities.</div><div dir="auto"><br></div><div dir="auto"><br></div><br></div></div><div dir="auto"><br></div><div dir="auto">John </div></div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 9, 2024 at 9:46 PM BujusKrachus <<a href="mailto:notifications@github.com">notifications@github.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)"><p></p>
<p dir="auto">Hi, i'm currently the new maintainer of the blender Web3D extension (io_scene_x3d) as it got moved to the extensions platform (<a href="https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/" rel="nofollow" target="_blank">https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/</a>) for blender 4.2+. The blender addons repository (<a href="https://projects.blender.org/blender/blender-addons" rel="nofollow" target="_blank">https://projects.blender.org/blender/blender-addons</a>) is now read-only and most addons don't get shipped by default anymore. At some random google search i stumbled upon this repo (quite hidden if you ask me).</p>
<p dir="auto">Are you guys planning in supporting newer blender versions and merging the progress anytime, or is your development just for legacy blender versions? I know the version difference between those projects is quite high (blender 4.2 vs 3.5 for x3dv and 2.93 for x3d) but maybe worth a shot, so code is not scattered all around the places; most API calls don't seem to have changed a lot (most breaking changes were from 2.79 to 2.8). Repo can be found here: <a href="https://projects.blender.org/extensions/io_scene_x3d" rel="nofollow" target="_blank">https://projects.blender.org/extensions/io_scene_x3d</a></p>
<p dir="auto">Any contributions on the extension (if you don't plan to create a completely new extension) are welcome, even if it's just some legacy bugfix ports (issues from old repo that need attention are listed here (which i guess you may or may not have already tackled to some extent): <a href="https://projects.blender.org/extensions/io_scene_x3d/issues/8" rel="nofollow" target="_blank">https://projects.blender.org/extensions/io_scene_x3d/issues/8</a>) or some docu/insights on what changes are awaiting new readers here in this repo. It's currently quite hard to trace down who made when what changes for what purpose as all seems a bit out of place and at random.</p>
<p dir="auto"><a class="notranslate" href="https://github.com/coderextreme" target="_blank">@coderextreme</a>, <a class="notranslate" href="https://github.com/npolys" target="_blank">@npolys</a>, <a class="notranslate" href="https://github.com/vincentmarchetti" target="_blank">@vincentmarchetti</a>, <a class="notranslate" href="https://github.com/dug9" target="_blank">@dug9</a> as you guys seem to be the main devs here for this project</p>

<p style="font-size:small;color:rgb(102,102,102)">—<br>Reply to this email directly, <a href="https://github.com/Web3DConsortium/BlenderX3DSupport/issues/10" target="_blank">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAFMJ56FQKYCIQ5CQU6LAKDZVZMQ5AVCNFSM6AAAAABN5YH2QOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGUYTKMRXHA3DONA" target="_blank">unsubscribe</a>.<br>You are receiving this because you were mentioned.<img src="https://github.com/notifications/beacon/AAFMJ55ECJU2SM5EIUUC3MTZVZMQ5A5CNFSM6AAAAABN5YH2QOWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHJL3A3KI.gif" height="1" width="1" alt=""><span style="font-size:0px;display:none;overflow:hidden;opacity:0;width:0px;height:0px;max-width:0px;max-height:0px;color:transparent">Message ID: <span><Web3DConsortium/BlenderX3DSupport/issues/10</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
</blockquote></div></div>