[x3d-public] JoeKick H-Anim example - error in X3D classic encoding
Michalis Kamburelis
michalis.kambi at gmail.com
Sun Jul 23 13:43:55 PDT 2023
"Joe Kick" example linked from
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/ ,
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html
, 2 errors:
1. The "ClassicVRML" encoding version (
https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.x3dv
) seems to be incorrectly converted from XML to classic encoding. It
contains
"""
DEF Joe_skull_tip_raiser_action HAnimDisplacer {
coordIndex 0 1 2 3 4 5 6 7 8 9
displacements 0 0.15 0 0 ...
name "skull_tip_raiser_action"
}
"""
so the coordIndex and displacements fields miss [ ] around their values.
"coordIndex" is MFInt32, "displacements" is MFVec3f, they both require
[ ] in classic encoding if you want to have a list of arbitrary number
of elements. If no [ ] are used, the classic encoding parsers have to
assume they contain 1 item (1 integer on "coordIndex", 1 vector == 3
floats on "displacements"). Currently parsing this fails, as parser
sees unexpected numbers in the middle of HAnimDisplacer.
This problem is not present in XML encoding, where no [ ] are used,
the lists are in separate XML attributes.
2. The XML encoding version contains invalid number of texture
coordinates, we have discussed in previously on this list:
X3D: Invalid number of items in an attribute array for shape
"Joe_Humanoid/Joe_Kick/Joe_Shape/IndexedFaceSet(Joe_skin_IndexedFaceSet)":
Invalid index: 9, but we have 4 items in 2D texture coordinates
Regards,
Michalis
More information about the x3d-public
mailing list