[X3D-Public] remote animation invocation (RAI)

Joe D Williams joedwil at earthlink.net
Mon Feb 28 10:19:54 PST 2011

> What I'd like to do is something like the Skeleton Running, but then 
> assign that whole animation to the string "run" and parameterize 
> positions and velocities and different avatars--

That is at the core of the h-anim standard. Similar animations can be 
applied to similar characters.
Given that you know the binding hierarchy, position, and rotation of 
all skeleton joints, segments, and sites in a 'defined' pose 
(attention or relaxed) relative to the binding definition for each 
vertex that constitutes the skin, then, to move the finger from the 
initial pose to touch the nose tip for example, all the joint 
rotations and translations could be computed.
For the animations shown on that running skeleton, I can offer an 
example that if the x3d h-anim characters are similar, as in the case 
of an earlier Nancy example, with this skeleton developed fairly 
independently, but following the same standard, then we have some 
level of proof that if the initial pose is similar then basic 
animations can be shared.

So, in order to see more about this we will need to dig into the 
features that make an x3d h-anim character the World standard for best 
practice when you wish to share animations across a broad range of 

These days we could solve the animation problem for all time just by 
recording the actual movements of a model then matching that with a 
custom skin. To author animation, just make the begin pose and the end 
pose and have the system move the appropriate skin vertices from start 
to end at some rate(s) and maybe record it or at least create a simple 
expression to describe it. Anyway, that is one way to do it from the 
'outside' where all you really need to know is skin vertices. From the 
inside, to get realistic operation of an avatar, we need to start with 
a realistic model of the humanoid hominid character. This involves 
real joints, segments, and sites in a standardized 
scientifically-derived hierarchy having a standard or known initial 
pose. This X3D H-anim definition also involves a skin mesh with an 
initial or known pose. Then we connect each skin vertex to one or more 
joints, along with weighting factor. Now when we move the joints, the 
skin moves according to the weighting. For authoring, then I can 
understand that to raise my right arm from resting at my side to point 
at the horizon, then my avatar has to do the same thing as I would do 
personally: Pitchup shoulder joint +90 degrees!
Thanks and Best Regards,

----- Original Message ----- 
From: "John Carlson" <john.carlson3 at sbcglobal.net>
To: "Joe D Williams" <joedwil at earthlink.net>
Cc: "Christoph Valentin" <christoph.valentin at gmx.at>; 
<x3d-public at web3d.org>
Sent: Saturday, February 26, 2011 10:43 PM
Subject: Re: [X3D-Public] remote animation invocation (RAI)

What I'd like to do is something like the Skeleton Running, but then 
assign that whole animation to the string "run" and parameterize 
positions and velocities and different avatars--so I don't have to 
upload the same animation over and over again for each set of 
positions, velocities or avatars.  The reason it's called "run" is 
that it's a single concept that can be applied across a wide variety 
of animals.  Let's make it a single concept in animation space.  If we 
need to override certain parts of it for individual robots or avatars, 
we can do that with something like JavaScript.


On Feb 26, 2011, at 7:28 PM, Joe D Williams wrote:

>> Can we think about sending something besides text across the 
>> network?  Is there something wrong with sending motion/animation?
> For 'real' x3d h-anim animation you are using combinations of joint 
> rotations and translations which animate the deformable skin. I 
> think usually this would be created using timers and interpolators, 
> or just send sets of rotations and translations created somewhere 
> else directly to the joint node. Many old-style avatars are animated 
> by directly moving sets of vertices that represent parts of the skin 
> or outer surface. You can get an idea of the joint animation 
> approach by reading the interpolators in the Skeleton Running scene 
> from:
> http://www.hypermultimedia.com/x3d/JoeX3D/JoeX3D.htm
> disable line wrap in simplist text editor.

More information about the X3D-Public mailing list