[x3d-public] Mantis 1517: HAnimHumanoid.motionsEnabled field and HAnimMotion.enabled field

Don Brutzman don.brutzman at gmail.com
Sat Oct 25 00:12:31 PDT 2025


Preamble:  thanks John for flagging the fields in question, thanks Holger
for having implemented HAnimMotion in X_ITE.  Looks great!

I checked the X3D XML Schema, DTD, X3DUOM, Tooltips etc. and the default
value listed for HAnimMotion  is TRUE.

Summary: meanwhile found two specification problems, proposed corrections
follow.

   - The X3D architecture lists the default value of *enabled *field as
   TRUE (as with other nodes having an *enabled *field) but HAnim
   Architecture does not match, having value FALSE.  This is an error, (to my
   knowledge) we do not have any other fields with different values in X3D and
   HAnim architectures.
   - The X3D Architecture does not include any description of expected
   behavior if the HAnimMotion.motionsEnabled MFBool field is an empty list.
   We should define that default behavior.  In keeping with other defaults
   that have animation nodes active when initialized, proposed words follow to
   do the same in this case.

Details: here is a new Mantis issue  for reporting and resolving the
subject-line inconsistencies.

Please pardon any verboseness.  It is important to document issues and
resolutions thoroughly so that we "do the right thing" and also understand
why when archiving for possible future scrutiny.

Questions:  are the proposed improvements reasonable and sufficient?  Any
better ideas?

   - Mantis 1517: HAnimHumanoid.motionsEnabled field and
   HAnimMotion.enabled field
   - https://mantis.web3d.org/view.php?id=1517

Summary 0001517: HAnimHumanoid.motionsEnabled field and HAnimMotion.enabled
field
Description Need to check that default values in HAnim and X3D
architectures match.
- mismatch: default values for HAnimMotion.enabled field, FALSE in HAnim
and TRUE in X3D

Need to ensure that HAnimHumanoid.motionsEnabled field is well defined: yes
it is.
Additional Information * HAnim, 19774-2, HAnim Part 2: motion data animation
* 6 HAnim motion data animation using Motion objects, 6.3 Data structure of
Motion object
* 6.3 Data structure of Motion object
*
https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/MotionNodes.html#MotionObject

interface Motion {
        [...]
        Boolean enabled false

* 6.4 Extended definition of Humanoid object
*
https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/MotionNodes.html#HumanoidObjectExtension

    interface Humanoid {
        #-- Fields defined in ISO/IEC 19774-1 --#
            ...
        #-- Fields defined in this document --#
        int loa -1 [-1,4]
        sequence<Object> motions [] [Motion]
        sequence<Boolean> motionsEnabled []
    }
The motionsEnabled field contains a list of Boolean values which indicate
whether the corresponding Motion object is active. The order of values in
the motionsEnabled field shall correspond exactly to the the order of the
Motion objects listed in the motions field. Excess motionsEnabled values
shall be ignored. Note that the corresponding Motion object's enabled field
shall also be true for object animation to occur.

* X3D Architecture, 26 Humanoid Animation (HAnim) component, 26.3.2
HAnimHumanoid
*
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/hanim.html#HAnimHumanoid

HAnimHumanoid : X3DChildNode, X3DBoundedObject {
  [...]
  MFBool [in,out] motionsEnabled []

* 26.3.4 HAnimMotion
*
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4.1-CD/Part01/components/hanim.html#HAnimMotion

HAnimMotion : X3DChildNode {
  [...]
  SFBool [in,out] enabled TRUE
Tags  ,
Attach Tags (Separate by ",")    Existing tags1356apacheCD Ballot
commentDocument
styleExamplesfileHAnimHTML5JSONMantisMetaverseSAISchemasecurityserverspam
uploadV3.3 CommentV4.0V4.0 ResolutionValidationWebsiteWebXRX3DUOM
 Activities
<https://mantis.web3d.org/view.php?id=1517#>

 brutzman <https://mantis.web3d.org/view_user_page.php?id=10>

 2025-10-24 18:33

administrator    ~0003856 <https://mantis.web3d.org/view.php?id=1517#c3856>

 Last edited: 2025-10-24 18:33

View 2 revisions
<https://mantis.web3d.org/bug_revision_view_page.php?bugnote_id=3856>
Lots of detail, but one glaring detail here. Unlike all other nodes in X3D,
HAnimMotion is disabled by default.

Two recommended specification changes:

a. HAnim architecture for HAnimMotion: revise as
        Boolean enabled true

b. X3D architecture for HAnimHumanoid, add prose to facilitate operation:

"The motionsEnabled field is empty by default. If the HAnimHumanoid node
includes one or more child HAnimMotion nodes, then an empty motionsEnabled
field indicates that all motions are enabled, and is functionally
equivalent to an MFBool array of identical length consisting of TRUE
values."












































































Regarding our test scene KoreanCharacterMotionAnnexD01Jin.x3d,

   - X3D Example Archives: Humanoid Animation, Specifications, Korean
   Character Motion Annex D 01 Jin
   - changed incorrectly modeled enabled='false' to  enabled='true'
   - added description, added loop='true'
   - added loop='true' for repeated play
   - translated Jin location, adjusted Viewpoint for better viewing
   - uploaded updates:
   -
   https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Specifications/KoreanCharacterMotionAnnexD01JinIndex.html

Also found some problems and fixed them in X3D-Edit, need to fix a bit more
and that will be available in next release.

More on HAnimMotion node:

   - Exchangeable Humanoid Animation Using H-Anim
   and Motion Capture Data
   - Myeong Won Lee, Chul Hee Jung, Mingeun Lee, and Don Brutzman,
   -
   https://www.web3d.org/x3d/content/examples/HumanoidAnimation/KoreanCharacterHumanMotion_Infotech2014_140706.pdf

all the best, Don
-- 
X3D Graphics, Maritime Robotics, Distributed Simulation
Relative Motion Consulting  https://RelativeMotion.info
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20251025/6f9a34e7/attachment-0001.html>


More information about the x3d-public mailing list