[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