[x3d-public] Position on X3D Next Generation

Joe D Williams joedwil at earthlink.net
Mon Oct 17 22:05:08 PDT 2016


> The first post is now available

Thanks, Leonard I'll get to it right after the following.

> The next post will cover deformable skin animation using bones.
>

Hi Leonard, I hope you can bring something to the table on this 
important topic.
To succeed you must know both your skeleton and your skin with extreme 
detail. Luckily X3D HAnim provides a great vehicle to show how this 
process actually works out in the real world of making virtual 
skeleton-based creatures move showing realistic skeleton movments and 
skin deformations.

> deformable skin animation using bones

Please also discuss X3D HAnim deformable skin animation where the 
title might be  "deformable skin animation using Joints" - The actual 
ISO/IEC world standard and industry best practice for describing 
animation of a 'skin' where the vertices are deformed according to 
weighted rotation of one or more skeleton joints that may affect that 
vertex.

The process is as tedious as any known 3D authoring problem. Each 
vertex of the skin is bound to one or more joints of the skeleton. 
Each joint produces an effect upon the movement of the vertex 
according to a weighting factor. The total vertex movement depends 
upon the sum of the weighted rotation of all the joints (really a max 
of four) controling that vertex. When you get all vertices assigned to 
one or more joints then move the joints through their ranges of motion 
and make adjustments to the joint bindings and weights to achieve 
realistic deformations.

The binding fields are in the Joint nodes. These are called 
skinCoordIndex and skinCoordWeight. The index is the vertex order of 
appearance as the coordinate point in the skin geometry user code. 
Including an index nominates the vertex for control by that joint. The 
weight 0 to 1 which is actually a ratio. If the weight is 0.5 and the 
joint rotates 45 degrees, the skin vertex moves depending upon the 
radial distance from the joint center and one-half the angular 
rotation of the joint.

Seems hard, and it is because all must be right - they call this joint 
to skin vertex binding 'skinning' and it is part of the art of 
'rigging' the character.

You might discuss how giving authors access to joints as actuators 
really advanced the capture and authoring state of the art.

Before Joints, the thingees that held the bones together were not that 
important, just various types fo hinges. As mentoned elsewhere on this 
topic in this list, the authortime before joints were exposed was very 
related to mechanical stop-motion armatures used to make movies. The 
easiest way to move from frame to frame was usually to think in terms 
of bone orientation rather than joint rotation. With the advent of 
computers, we were able to see that the best authoring interface for 
realistic motion of hierarchal skeleton models really involved joint 
rotations and the bone orientation was just the effect of joint 
rotation and not the key animation interface. On the other hand, 
motion capture techniques, especially early ones and simple consumer 
mocap depended upon capture of bone orientation and this was reflected 
in the data describing the captured motion.

Further down your descriptions of this stuff please leave it to the 
learners to discover the relationship between bone orientation and 
joint rotation. Imagine the surprize, for example, to find that motion 
capture data may actually describe bone orientation but that it just 
happens to work when applied to the model as joint rotation (so far as 
you have the correct parent joint of the bone).

Somewhere in there you gotta explain that yes, X3D HAnim does call a 
bone a segment. Same thing, different name, except maybe it might be 
important to see that in X3D the bone isn't the motion interface. It 
just parents segment geometry and sensors, and the next joint.

There is a lot more to it than that, of course, but with that 
background please go ahead and show how in highly automated authoring 
systems, like our old viz and now BScontact studio, or max or 
whatever, they always will give you tools to more easily identify and 
even automate the skin vertex to skeleton bindings and weights. Even 
though it might appear to the casual observer that the skin is bound 
to bones, just ask for the X3D output and you will see the that indeed 
for deformable skin, the skin is bound to Joints.

Overall, this is a much more realistic and modern way to think about 
the general idea that yes skeletons are animated by moving bones 
around, but under the covers you use the joints to move them bones, or 
rather them segments for us X3Ders.

I hope you can show some nice pictures about how skin vertices get 
moved around when the skeleton moves.

Like it says in the HAnim working group description, you won't be 
wasting any of your time if you learn details of how X3D HAnim does 
it. If X3D does it then X3D is doing it with the best and most 
informed approach.

Thanks Again and All Best,
Joe


----- Original Message ----- 
From: "Leonard Daly" <Leonard.Daly at realism.com>
To: "X3D Public" <x3d-public at web3d.org>
Sent: Monday, October 17, 2016 5:17 PM
Subject: [x3d-public] Position on X3D Next Generation


>I have been working on the features of X3D V4 for over a year. During
> that time I started on initial specification document and features,
> especially for mobile, that would be needed by X3D V4. Since this 
> summer
> I realized that there had no top-down analysis of what X3D should be
> able to accomplish. I am writing a series of posts (at least five) 
> that
> aim to develop an environment where X3D is an integral and working 
> part
> of handling, transmitting, and displaying 3D content. My particular
> focus is for the display to in the browser environment (HTML5 + DOM 
> +
> CSS + JavaScript); however, I recognize the need and interest to 
> support
> other non-browser environments.
>
> The first post is now available at 
> http://realism.com/blog/purpose-x3d.
> It will be review material for most of the readers of x3d-public --  
> it
> even includes a link to an episode of Floops that runs in
> Bitmanagement's bsContact. I am trying to write a couple posts ahead 
> of
> the announcements. I plan on announcing a new post 2-3 times per 
> week.
> The next post will cover deformable skin animation using bones.
>
>
> -- 
> *Leonard Daly*
> 3D Systems & Cloud Consultant
> LA ACM SIGGRAPH Chair
> President, Daly Realism - /Creating the Future/
>


--------------------------------------------------------------------------------


> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
> 




More information about the x3d-public mailing list