[x3d-public] Purpose of X3Dng -- Animation
Joe D Williams
joedwil at earthlink.net
Thu Oct 20 14:11:20 PDT 2016
----- Original Message -----
From: "Roy Walmsley" <roy.walmsley at ntlworld.com>
To: "'Leonard Daly'" <Leonard.Daly at realism.com>; "'Joe D Williams'"
<joedwil at earthlink.net>
Cc: "'X3D Public'" <x3d-public at web3d.org>
Sent: Thursday, October 20, 2016 10:17 AM
Subject: RE: [x3d-public] Purpose of X3Dng -- Animation
> Hi Joe,
> I’d like to jump in here, and ask two related high level questions,
> please.
> 1) Why is the title of the ISO/IEC 19774 standard series
> Humanoid Animation?
Humanoid Animation? The topic is Humanoid Animation. Aims at
construction and animation of a realistic human-like avatar that is
rigorously defined for use as a technically competent model of a real
human. There are two parts to the standard. Part 1 provides an
abstract representation of important structures, interfaces,
parameters, and parts of a humanoid. Part 2 is a treatment of
converting typical data from sources such as motion capture systems
for use in animating the 'standard' HAnim humanoid.
> 2) Are the standards principally concerned with the general
> topic of skeletal animation (which, as you say, can equally apply to
> machines as organic entities), or the more specific portion of
> skeletal animation that is humanoid animation (where it is
> understood that humanoid also includes non-human)?
Yes, it is understood that this style of humanoid animation also
applies to non-human and even could be applied to machines that can be
represented by a skeletal structure. The parts are named with names
that generally apply to humans. For instance we called a special HAnim
configuration of Transform a Joint. X3D has the equivalent of bones,
the connecting things, called Segment because not even all authoring
tools of the time called the bone a bone so it had to be different.
The basic stucture is a Joint that can be placed in a hierarchy. When
the parent joint is rotated, then the child structures follow as
expected. So the joint is the basic building block.
Segments can connect Joints. Geometry can be parented by a Segment. As
parent joint is rotated,then the child segment geometry moves as
expected. This is the simple humanoid with joints, segments connecting
joints, and geometry attached to segments. This works but
intersections of segment geometries amay make a vizible seam.
The next step is deformable skin. For this, the skin is bound to the
skeleton in such a way that individual vertices of he skin geometry
are displaced according to skeleton movements. This provides a
continious mesh that moves naturally as the skeleton moves.
Outside X3D HAnim you might even call the Joint an actuator because
its animation results in some scaled animation of another part.
However, 19774 does not deal with generalized animation concepts but
specifically is aimed at a humanoid figure. Its goal is to establish
standards that allow transporting a animation created for a
'standard'character to another 'standard' character. In general, if
the skeleton hierarchy is similar to 'standard' and is similar
dimensionally, and the initial pose is similar, then animations can be
shared. That is the goal, to have libraries of animations that can be
shared by a wide range of characters.
> Thanks in advance,
Does that help? The top consideration is transorting animations. In
order to do that, X3D has to have a representative 'standard'
humanoid.
> Roy
All Best,
Joe
From: x3d-public [mailto:x3d-public-bounces at web3d.org] On Behalf Of
Leonard Daly
Sent: 20 October 2016 18:01
To: Joe D Williams <joedwil at earthlink.net>; X3D Public
<x3d-public at web3d.org>
Subject: Re: [x3d-public] Purpose of X3Dng -- Animation
Joe,
Hi Leonard,
http://realism.com/blog/purpose-x3d-animation.
There are a few nuggets of some important general stuff mixed in with
a poor and uninformed view of the industry and what X3D HAnim can do.
There is absolutely nothing in my post about H-Anim. There is no use
of "H-Anim", "HAnim", or "Human" (all case insensitive).
That was an explicit choice.
It is likely that I am far more informed of standard industry
practices for character animation than any other active participant in
the Consortium. I am Chair (4th year) of LA ACM SIGGRAPH -- supporting
professional in the industry and location where character animation
was developed and where its capabilities are pushed to its limits. The
Chapter regularly discusses and has presentations from the top
modelers, riggers, and animators in the (entertainment) industry. I
also had tutoring on the specifics from some animators currently
working in the industry, and the post was reviewed by an industry
person prior to publication.
So I might be wrong, but I don't really think so.
My opinion is you are not even close to understanding what it is and
about what is really going on with data used to build and animate a
humanoid or any other skeletal creation.
How about actually using an X3D browser that does HAnim, the best is
BSContact (it used to be that Flux was as good as BSContact) or
instant, or any browser using the prototypes we have, and extend
yourself to read some of the example code for Segment geometry and
skin geometry examples and the actual rigging and animation steps
before you write in an authoritative manner. You're understanding is
very incomplete and even wrong about details in the article.
Because my point is not H-Anim. Rigged joint animation is not H-Anim.
As the article describes rigged joint animation can just as easily be
used for non-humans, non-animals (e.g., trees), or even non-living
(e.g., machines) models.
Try the X3D features, read the spec, and actually try some example and
you will see X3D is not as incomplete as you think.
Rigged skin animation is not available for Immersive. This type of
animation needs to be available at what amounts to Interchange. X3D is
incomplete with regards to this.
HAnim is not that easy to understand, as you have shown in your
article. However, X3D HAnim is logical and completely the way it is
done everywhere. So, quit making remarks about what X3D doesn't do at
least until you actually do something with what we have.
HAnim is *NOT* the way it is done everywhere. It's only the way it is
done in X3D, and even that does not follow the same principles as the
industry work.
The only thing you showed in this article is that you haven't read the
HAnim spec,
Because it is NOT about H-Anim -- it is about rigged skin animation.
There is absolutely no assumption about the model being rigged.
you have not used the X3D HAnim to build a character, have not looked
at any X3D HAnim examples, have not even tried to build anything close
to an operating HAnim yourself, have not really understood how those
animation authoring systems work, and finally you haven't even asked
anyone any meaningful questions about the basic technology.
^^^^^ All irrelevant to my post.
Leonard Daly
P.S. Right now (X3D V3.3) the biggest problem with H-Anim is that X3D
does not support rigged deformable skin animation of joints. It is
included in a separate component. My post is showing that this
animation capability needs to be included in a standard "profile" (in
V3 terminology) of future X3D. That helps H-Anim by providing an easy
and existing means to do the animation.
Of course I am open to discussing what is HAnim and how we do it. Just
ask.
All Best,
Joe
----- Original Message ----- From: "Leonard Daly"
<mailto:Leonard.Daly at realism.com> <Leonard.Daly at realism.com>
To: "X3D Public" <mailto:x3d-public at web3d.org> <x3d-public at web3d.org>
Sent: Wednesday, October 19, 2016 8:04 AM
Subject: [x3d-public] Purpose of X3Dng -- Animation
My next post on the topic is up at
http://realism.com/blog/purpose-x3d-animation. This is an explanation
of
how animation is done using rigged models and why it is important to
include it standard X3D. It does not include node proposals - that
will
take further research and discussion.
--
Leonard Daly
3D Systems & Cloud Consultant
LA ACM SIGGRAPH Chair
President, Daly Realism - Creating the Future
More information about the x3d-public
mailing list