[x3d-public] Mantis 1415: HAnimMotion issues: skeletalConfiguration, totalNumberFrames
Brutzman, Donald (Don) (CIV)
brutzman at nps.edu
Wed Dec 28 17:43:05 PST 2022
Joe, thanks 1M for further sleuthing to figure out whether all of the fields
in the Motion node of the HAnim2 spec are captured in the HAnimMotion node
of the X3D4 spec.
1. First, looking at our example BVH source, right after “MOTION” it
definitely says “Frames: 482” in the specification example.
* HAnim2, volume 2, Annex A.2 Motion data example with 18 joints
* https://www.web3d.org/documents/specifications/19774/V2.0/MotionData
Animation/MocapExample.html#MotionExample18Joints
Found similar entries in our other BVH exemplars as well. So the value can
be expected in any BVH file.
* https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionA
nimation/1.bvh
* https://www.web3d.org/x3d/content/examples/HumanoidAnimation/MotionA
nimation/Pirouette.bvh
2. Next, carefully checking node signatures: looks like X3D4 misaligned
frameCount field, which matches what I thought was missing.
19774 HAnim2 Volume 2, Motion data animation
19775-1 X3D4 Architecture
6.3 Data structure of Motion object
<https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimati
on/MotionNodes.html#MotionObject>
26.3.4 HAnimMotion
<https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01
/components/hanim.html#HAnimMotion>
interface Motion {
string description ""
string channels ""
sequence<Boolean> channelsEnabled []
double cycleTime
double elapsedTime
Boolean enabled false
int frameCount 0 [0, ∞)
float frameDuration 0.1 (0, ∞)
int frameIncrement 1 (-∞, ∞)
int frameIndex 0 [0, ∞)
string joints ""
integer loa -1 [-1,4]
Boolean loop false
Boolean next
Boolean previous
sequence<float> values [] (-∞,∞)
}
HAnimMotion : X3DChildNode {
SFBool [in] next
SFBool [in] previous
SFString [in,out] channels ""
MFBool [in,out] channelsEnabled []
SFString [in,out] description ""
SFBool [in,out] enabled TRUE
SFInt32 [in,out] endFrame 0 [0,∞)
SFTime [in,out] frameDuration 0.1 (0,∞)
SFInt32 [in,out] frameIncrement 1 (-∞,∞)
SFInt32 [in,out] frameIndex 0 [0,∞)
SFString [in,out] joints ""
SFInt32 [in,out] loa -1 [-1,4]
SFBool [in,out] loop false
SFNode [in,out] metadata NULL
[X3DMetadataObject]
SFInt32 [in,out] startFrame 0 [0,∞)
MFFloat [in,out] values [] (-∞,∞)
SFTime [out] cycleTime
SFTime [out] elapsedTime (0,∞)
SFInt32 [out] frameCount [0,∞)
}
[…]
The frameCount field indicates the number of frames present in the
animation, equaling the number of sets of channel data present in the values
array.
HAnimMotion is used for motion animation of Humanoid characters. Raw motion
data, for example, motion capture data, details the number of frames, the
frame display time, and the parameter values for the motion from each
channel at each frame.
Each field is described in ISO/IEC 19774
<https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01
/references.html#I19774> .
So… the frameCount field should be accessType [in out], meaning that it is
a settable parameter for node initialization, and changeable if the values
array is changed too.
Knowing the value for frameCount field lets the values table to get set up
and initialized with correct dimensions. This is also a useful property for
authors setting up frame-animation widgets (such as DVD-style controls).
Excellent improvement, and a necessary correction. No changes (and great
foresight) in HAnim2. I will update Mantis 1415, X3D XML Schema and DTD,
X3DUOM, X3D Tooltips and X3D-Edit accordingly.
Have fun implementing + evaluating X3D4 + HAnim2! 8)
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, Navy robotics https://
faculty.nps.edu/brutzman
From: Joseph D Williams <joedwil at earthlink.net>
Sent: Wednesday, December 28, 2022 12:36 PM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>; X3D Public Mailing List
(x3d-public at web3d.org) <x3d-public at web3d.org>; h-anim at web3d.org
Subject: RE: [x3d-public] Mantis 1415: HAnimMotion issues:
skeletalConfiguration,totalNumberFrames
From: Brutzman, Donald (Don) (CIV) <mailto:brutzman at nps.edu>
Sent: Monday, December 26, 2022 6:19 PM
To: X3D Public Mailing List (x3d-public at web3d.org) <mailto:x3d-public at web3d.
org> ; h-anim at web3d.org <mailto:h-anim at web3d.org>
Subject: [x3d-public] Mantis 1415: HAnimMotion issues:
skeletalConfiguration,totalNumberFrames
Comment requested.
* https://www.web3d.org/member-only/mantis/view.php?id=1415
1. HAnimMotion should have a skeletalConfiguration field similar to
HAnimHumanoid to facilitate interoperability.
SFString [in out] skeletalConfiguration "BASIC"
* HAnim2 vol. 1, 4.8 Modelling of humanoids
*
<https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/conc
epts.html#ModellingOfHumanoids>
https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/conce
pts.html#ModellingOfHumanoids
* X3D Architecture, 26.3.2 HAnimHumanoid
*
<https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01
/components/hanim.html#HAnimHumanoid>
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/
components/hanim.html#HAnimHumanoid
----
2. Need a field describing number of rows in a motion value array, otherwise
(if no channelsEnabled array is provided) there is no unambiguous way to
determine the correct value. Suggested:
SFInt32 [in out] totalNumberFrames [0, +infinity)
* HAnim2 vol. 2, 6.3 Data structure of Motion object
*
<https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimati
on/MotionNodes.html#MotionObject>
https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimatio
n/MotionNodes.html#MotionObject
* X3D Architecture, 26.3.4 HAnimMotion
*
<https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01
/components/hanim.html#HAnimMotion>
https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/
components/hanim.html#HAnimMotion
----
3. If accepted, each of these needs a corresponding Mantis comment for
future revision of HAnim2.
all the best, Don
--
Don Brutzman Naval Postgraduate School, Code USW/Br brutzman at nps.edu
<mailto:brutzman at nps.edu>
Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA +1.831.656.2149
X3D graphics, virtual worlds, Navy robotics https://
faculty.nps.edu/brutzman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20221229/ee2ed6a9/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5353 bytes
Desc: not available
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20221229/ee2ed6a9/attachment-0001.p7s>
More information about the x3d-public
mailing list