[X3D-Ecosystem] reminder Blender X3D Support call Jan 7 2025

John Carlson yottzumm at gmail.com
Mon Jan 6 20:50:35 PST 2025


Progress Jan 6 2025.

Status:   Major success getting gramps working again!

1.  Gramps nearly works, except one has to delete Transforms around
lights by hand.  https://coderextreme.net/CheckedIntoBlenderOrg.mp4
2.  Branch checked into Blender, available here:
https://projects.blender.org/yottzumm/io_scene_x3d/src/branch/exportAnimation
3.  Sandrunner does not work, due to multiple Coordinates (multiple meshes
under armature).  The issue is getting geometry into HAnimSegment (perhaps
through USE?).  Still trying to think of a good solution.
Producing geometry before armature, and USEing in humanoid may be a
solution.  Despite that, an HAnimJoint is rotating (injected Box):
https://coderextreme.net/SandRunnerRotatingBlock.mp4 Also had to delete
Transform around Light.
4.  Alternatively, merge meshes into one mesh and call it a skin.
Currently, Coordinate DEFs are smashed together in USE in the skinCoord
field.
5.  Animation brought over from io_scene_x3dv, converted to XML
6. Gramps ImageTexture works.
7 Replacing HAnim attempted (Transforms), but no progress was made, so I
returned to skinCoord*.
8 Segment location looks good on gramps, not sure about sandrunner.
9. There's lots of duplicates in PositionInterpolator currently.

In general, I have a skinning animation "solution" for blender exports
currently.  I can take out HAnimSegments, if desired, but they're still
good for debugging skeleton.  I may try maleWaving.dae, but it has no
animation.


On Mon, Jan 6, 2025 at 12:56 PM John Carlson <yottzumm at gmail.com> wrote:

> Progress report on animation export.
>
> This is broken English and more like notes.  Apologies!
>
> Action items from last night:
>
> 1.  Get lighting and/or texture working
> 2.  Verify segment location on gramps
> 3.  Validate all output with glTF to X3D converter
> 4.  Try transforms instead of joints, especially if there aren’t skin
> weights.
> 5.  Animate mesh.  Attach mesh to humanoid (move humanoid end tag, look up
> object.bone_parent, add skin/skinCoord fields).
> 6.  Get non-armature animation examples.
>
> Details:
>
> Animation code converted from x3d.py to XML output.  ROUTEs and
> interpolators present, but keys and keyValues not validated.
> Duplicate adjoining positions and rotations removed for humanoid
> interpolators.  Humanoid with Joints exported.  Joint export with centers
> and skin weights not validated yet.
>
> Segment/Site geometry (injected Boxes) is animated to test Joint
> animation export.  The injected segment geometry looks like it’s in the
> wrong location, particularly for gramps, perhaps because I removed a
> Transform.  I should bring over center computation from my exporter, or
> remove non-center transform attributes in HAnim export.  I should look to
> see how Transforms are exported.
>
> My examples only have humanoid animation that I know of.  More .blend and
> .glTF animation examples desired with non-armature animation.  The
> difference is that animation won’t be attached to an armature in the
> Blender hierarchy.
>
> Mesh export works.   Textures aren’t present (it’s dark) because I don’t
> have the texture pull request.  I do have ImageTexture with image file
>  exported. Could be a lighting or material issue.  Please provide a URL to
> texture git branch (not pull request).
>
> Mesh doesn’t animate with humanoid yet, the code only animates the
> skeleton.  My suggestion is to put mesh or mesh references inside the
> humanoid and add skin and skinCoord fields.  I’m not sure how to accomplish
> this for multiple geometries in sandrunner.  Another option might be to
> distribute geometries to the sites and segments by examining
> object.bone_parent.  This will require some thinking about how to link mesh
> output code to bone/joint output code.  Perhaps traversing the object
> hierarchy looking for bone_parent while creating a joint would be quick and
> dirty.  If no bone_parent is present, put mesh into skin field.
>
> Exporting bones as Transforms remains to be tried. Comments?
>
> The good news is the scenes are loading without validation errors, and
> Joints are animating.
>
> Suggestion is to translate glTF example to X3D to validate.  I’ve not
> downloaded the example glTF yet.
>
> John
>
> On Sun, Jan 5, 2025 at 8:40 PM vmarchetti at kshell.com<vmarchetti at kshell.com>
> wrote:
>
>> Responding to the request for test .blend or .gltf files that demonstrate
>> animation:
>>
>> There is an animated "sandrunner", some kind of turbine powered hovering
>> moped from Star Wars, that's been incorporated as a gltf inline in an X3D
>> scene here: https://metagrid1.sv.vt.edu/~bsandbro/gltf
>>
>> The scene.gltf, scene.bin, and texture files can be downloaded from this
>> folder : https://metagrid1.sv.vt.edu/~bsandbro/gltf/bike/
>>
>> This model is originally from SketchFab :
>> https://sketchfab.com/3d-models/hover-bike-the-rocket-8b2e5bfca78e41c791b4e5b5e8c04512
>>
>> After downloading the scene.gltf and the resources (scene.bin, textures
>> folder) I was able to import into Blender 4.2.1  There were some odd
>> artifacts which were handled as discussed by others at
>> https://projects.blender.org/blender/blender/issues/117812
>>
>> I have put the resulting .blend file in the "submitted files" folder for
>> the Jan 7 call. The url to download this sandrunner_bike.blend file is
>>
>> https://drive.google.com/file/d/1n4_Nb-7SdjnGFFIGSX4Tm5kJ4pWZamwk/view?usp=sharing
>>
>> I've added a Blender and a camera and it renders fine as a static model.
>> I don't know if the animation works, because I don't know how to make any
>> animation work in Blender :) I hope to learn enough from Michalis Tuesday
>> to find out.
>>
>> I hope these files help to test your exporter code
>>
>> Vince Marchetti
>>
>>
>>
>>
>>
>> > On Jan 5, 2025, at 2:50 PM, John Carlson <yottzumm at gmail.com> wrote:
>> >
>> > I do hope this code can help someone export  animations from Blender.
>> There’s both bone and object export.  I’m not saying it’s complete yet.
>> .blend or .gltf animated files are welcome for me to test:
>> >
>> >
>> https://github.com/coderextreme/BlenderX3DSupport/blob/main/io_scene_x3dv/blender/exp/export_interpolators.py
>> >
>> > Position and Orientation Interpolators are supported with a single
>> TimeSensor.
>> >
>> > John
>> >
>> > On Sun, Jan 5, 2025 at 5:49 AM Vincent Marchetti via X3D-Ecosystem <
>> x3d-ecosystem at web3d.org> wrote:
>> > Reminder about Blender-X3D meeting, with corrected link to agenda
>> >
>> > Date/Time is Jan 7 2025. at 12:00 PM EST, 17:00 UTC
>> >
>> > Zoom:
>> https://us02web.zoom.us/j/81634670698?pwd=a1VPeU5tN01rc21Oa3hScUlHK0Rxdz09
>> >
>> > Agenda Document:
>> https://docs.google.com/document/d/1UmZ8f26cP4ZuG4kgDVT5YYzbGW-9fUY_qw0Asg4vEww/edit
>> >
>> > The code in the pull-request
>> https://projects.blender.org/extensions/io_scene_x3d/pulls/49 also
>> correctly exports a TextureTransform in the context of the HAnim example
>> submitted by Joe Williams in email of Dec 27 "JoeKick...". To be accurate,
>> the static TextureTransform is exported, the interpoolator nodes and ROUTE
>> statements which serve to animate the TextureTransform fields are not
>> exported. I hope that reviewing, with Michalis' help, the Blender way of
>> handling animation will help guide how to export this animation to X3D.
>> >
>> >
>> > Vince Marchetti
>> >
>> > --
>> > X3D-Ecosystem mailing list
>> > X3D-Ecosystem at web3d.org
>> > http://web3d.org/mailman/listinfo/x3d-ecosystem_web3d.org
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20250106/29a057b6/attachment.html>


More information about the X3D-Ecosystem mailing list