[x3d-public] What is H-Anim?

Leonard Daly Leonard.Daly at realism.com
Thu Oct 13 17:49:48 PDT 2016


This may not be easy to read. The important part is X3D needs to support 
deformable skin at the basic animation level (or don't bother to support 
animated models). If X3D has that capability, what should be in the 
H-Anim spec.



>
> ----- Original Message ----- From: "Leonard Daly" 
> <Leonard.Daly at realism.com>
> To: "X3D Public" <x3d-public at web3d.org>
> Sent: Thursday, October 13, 2016 10:39 AM
> Subject: [x3d-public] What is H-Anim?
>
>
>> From reading H-Anim in detail (especially Part 1), it appears to me
>> that it is primarily doing two things
>
> Where would you get the idea that HAnim does not do deformable skin?

Where did you get the idea that I said it doesn't? In fact, I explicitly 
state that it does do that.


>
>>
>> 1) Defining animation with deformable skin
>>
>
> I would say it is defining a 'standard' skeleton with a 'standard' 
> pose that can use geometry as children of segments or a deformable 
> skin that is a child of the humanoid. Either or both segment geometry 
> and/or skin geometry can be used. The segment geometry is animated 
> when the segments move by animating the rotation of joints in the 
> skeleton hierarchy. Skin is animated by weighted displacement of 
> individual mesh vertices according to individual or multiple joint 
> rotations.

Animation of deformable skin is industry standard operation. It is not 
unique to 3D humans or humanoids.



>
>>
>> 2) Define bone definition and naming for humanoids.
>>
>
> Yes we have standardized names and example 'human' space dimensions 
> for Joints, Segments, and Sites
> We don't call it a bone, we call the bone a segment.
>
>>
>>  I noted that
>> humanoids (as defined in the spec 4.2.1) are not required to have the
>> normal human-like appendages (1 head, 2 arms, 2 legs)
>
> tha spec humanoid is one of 5 defined LOAs. All LOA choices include 
> site locations for all appendages but may not include the complete 
> skeketon

It may be a complete skeleton, just with 4 arms, 3 legs, and 2 heads. 
That is allowed in the spec.




>
>> [http://www.web3d.org/documents/specifications/19774-
>> 1/V2.0/HAnim/concepts.html#HAnimFiguresOverview]
>>
>
> That is just an isolated paragraph about the versatility of the basic 
> hierarchal joint model. Besides, your comment is based on a paragraph 
> that has had no vetting this round. To study the HAnim, you should 
> base it on V1.0 and figure that the CD V2.0 for Part 1 is a bit 
> scrambled and incomplete at this point relative to V1.0.

V1 is over 10 years old. I don't think you want to be comparing current 
industry standards to something that was done isolated from industry 10 
years ago.


>
> All other information is clear that the target is a humanoid figure 
> with a level of articulation that depends upon the number and 
> hierarchy of the joints.
>
>>
>> If X3D were to included deformable skin animation as an intrinsic part
>> of the X3D specification, ...
>
> it already does

Only if the H-Anim component is used. I stated an "intrinsic" meaning at 
the base level of animations.


>
>>  ... would #1 be required?
>>
>
> Not sure what you mean. Animation of a continious mesh deformable skin 
> according to joint rotation is one feature of HAnim. Another tool for 
> deformable geometry is the DIsplacer node. All big time authoring 
> tools do these, although for many the skin animation binding target is 
> illustrated as a bone. No difference.


I mean for all objects, not just those declared H-Anim.




> .
>>
>> If not, that leaves #2. It seems to me that this section is optional
>>
>
> Hey, a general concept: To have deformable skin, you use a skeleton. 
> If not, then that technology is not avaliable to X3D. Or else you are 
> mistaking calling the dragging lumps of 'skin' geometry not connected 
> to a skeleton around from keyframe to keyframe as skin animation. That 
> is not the 'standard' sort of skin animation we do.


Skeletons and bones do not imply a humanoid. They can be used for all 
animation, including trees, animals (even octopus).



>
>> based on references in the document to "are common", "generally
>> categorize", "may have", "model specific". It seems that if one is
>> modeling a human (not humanoid), then this structure should be used; but
>> if not a human, the the variations are endless.
>>
>
> True, the variations are endless, like real life except for life there 
> is an end. However, we are aiming at a 'standard' humanoid dimensioned 
> in 'human' space having a realistic skelton that can use 'standard' 
> animations.

So are you saying that this is just a specification for defining how 
humanoids are rigged and animated?



>
> The actual geometry used to produce surface features of the model 
> includes any sort of X3D geomentry. For skin we seem to do best with 
> an indexed geometry since for deformable skin animation we need to 
> know the order of appearance in the user code of each vertex of the 
> skin field.

Not really, that's just the way the implementation did it. The important 
part is to know how much weight each bone exerts on a skin vertex. How 
that is done is really implementation dependent. The spec may state a 
certain manner because it is easier to handle, but it is not a 
requirement of the algorithms.


>
>>
>> I think the document needs an improved focus
>>
>
> True in part. Mostly it needs consolidation of important skeleton 
> realtionships and some better examples.
>
>>
>> and close work with X3D WG
>> to determine if deformable skin animation is to be included in a future
>> version of X3D.
>>
>
> Too late, the horse is out of the barn. We do it the way everyone does 
> it. It already is included. The document is much at fault for you to 
> miss that. Look at the skinCoordIndex and skinCoordWeight fields of 
> the Joint and their descriptions.
>
> Why not actually look at user code of some examples and actually look 
> at some examples of this humanoid really running?

Because I am looking at a much bigger picture than a particular 
implementation or example. It is important to get the big picture right 
or everything else underneath it will be a kludge. The document does not 
use industry standard terminology and notation. It makes general 
statements about what is required. Perhaps that is the fault of this 
version of the document; but it is very important to get the big picture 
right.





> See attached. Please look at the user code also. Runs best in BS 
> Contact free.
> Sorry, as far as I know X3DOM don't do skin yet.
> Please tell me what you think.
>
> I agree with your recommendation that the X3D working group should 
> look at the standard, but since deformable skin animation is included 
> in V1.0 and demonstrated by multiple X3D browsers, please pick another 
> item upon which we should make a detailed determination.
>
> My comment along these lines is that HAnim seems to need at least two 
> support levels:
> 1 is just segment geometry and
> 2 is add skin geometry.
> because implementing 2 seems to be a large step up for some browsers

That's the fault of the browsers and the spec for not pushing them. 
Blender does it, Maya does it, Unity does it, Unreal does it, (I could 
add other examples here). Deformable skin needs to be part of X3D V4. If 
it's not; there probably is not much purpose in supporting anything but 
static models. Life is flexible. if X3D is going to model that, it needs 
to be flexible too.


Leonard Daly


>
> Thanks,
> Joe
>
> Can't wait to see your comments on Part 2.
>
>
>>
>>
>> -- 
>> *Leonard Daly*
>> 3D Systems & Cloud Consultant
>> LA ACM SIGGRAPH Chair
>> President, Daly Realism - /Creating the Future/
>>
>


-- 
*Leonard Daly*
3D Systems & Cloud Consultant
LA ACM SIGGRAPH Chair
President, Daly Realism - /Creating the Future/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20161013/4b8fef08/attachment.html>


More information about the x3d-public mailing list