[x3d-public] X3Dng Architecture Design

Joe D Williams joedwil at earthlink.net
Thu Oct 27 01:06:33 PDT 2016


> I have three points with H-Anim as expressed in V2. Some or all of 
> these
> comments also apply to V1.

Yes, if you look back on the versions of h-anim at h-anim.org you will 
see a progression. You can tell by the skinCoordIndex and 
skinCoordWeight fields in the Joint node. If these are not here, then 
no skin bindings and no skin animation. Instead you used geometry on 
segments. As you wanted more realism you might make a 'seamless' skin 
using selected vertices from the collection of segment geometry (see 
Boxman). To do this, you needed to author the joint bindings and 
weights. If you use a real continous-mesh skin, then you need to do 
the joint bindings and weights.

> 1) It is confused about what it is trying to accomplish - it says 
> its
> for humanoids and it says it's for non-humanoids.

Hey Leonard, the technique is very general. The same basic tools are 
used for any skeleton-based figure. Joints and Segments and segment 
geometry and/or skin. You can always use a combination of segment 
geometry and deformable skin. To me this is obvious and doesn't even 
need to be mentioned.
Tell me, what is the base node deivation for a Joint node?

> 2) It uses terminology that is non-standard relative to the 
> animation industry

If you look at three different ones, they will use different terms. 
Some call them bones, we call them segments.
We call it a displacer and some call it a deformer. The best 
non-conflcting names showing little or no favoritism were picked. Many 
tools won't even expose the Joint to novice users.

> 3) It defines a means of constructing the animation that is not 
> standard
> with that done by the animation industry.

That is where you are repeatedly wrong.
You cannot show me a different way to do it.
However it looks to you, the data is the same.

> "deformable skin animation on joints"

I know I am headed for trouble when I see a phrase like that.

> The Animation post includes very specific
> images and links showing how it is done using Maya or Blender.

You must begin to think of the documentation for the animation.
The documentation for the animation in those tools will show that each 
skin vertex is assigned to one of more objects of the skeleton. The 
documentation will show that the actuator(s) that control each vertex 
uses weighted value(s) that describes how much that vertex moves when 
the skeleton pose is changed.
That is how they do it.

>  it is now up to you to show how it is done differently in the 
> industry.

If I can follow your logic for this at all, then:

No, I will take the side that it is up to _Me_ to show how this style 
of skelatal animation using a deformable skin, and the uses of tools 
like the DIsplacer is done the _Same_ everywhere in the industry.

It is up to _You_ to show how the above animations are done 
_Differently_ anywhere in the industry.

In case you forgot, that is why the HAnim spec is like it is, because 
it relfects common denominator best practices in the industry for this 
style of animation. Then, and now. X3D documents what goes on under 
the covers. The most carefully guarded secrets of how a particular 
skeleton is rigged to a particular skin - it is all there for the 
reading and learning.

Proof will be harder for you than me.
Can I use as an example a tool like BScontact studio that can import 
various and export HAnim? Get BS studio free and try it. It authors 
X3D hanim natively.

Otherwise try this. On the rig that you are gaining all this 
experience and knowledge from, start with a skeleton of some kind.

(If you don't want to import a 'standard' X3D skeleton, then use your 
tool ui and see if they have a basic example skelton. They may offer 
one that is called 'Humanoid' or close. You will get essentially hanim 
LOA2.)

Now find a skin and setup the thing so when you move the skeleton then 
the skin moves with the skeleton as expected. YOur teacher might help 
ou with this Not too easy a job. You may have seen a helper tool that 
operates by putting a loop around parts of the geometry that you 
choose. That tool is helping you establish the vertex bindings and 
weights. If you are attentive, you will see the vertex bindings and 
weights are listed somewhere in the ui so you can edit by hand as all 
great animators and riggers end up tweaking everything by hand using 
combinations of weighted skeleton movements and tools like the 
displacer.

If you can get your tool to show you its user code, then you will see 
the data sets that assign the vertices and the weights. If your tool 
speaks VRML or X3D HAnim, then it will export those data sets using 
the definitions used in X3D.

I think if you say i am wrong about the above, then you haven't seen a 
rigged and animated character and certainly haven't studied the ui 
data for any rigged character in any animation tool.

So, my response still stands. Quit describing something you have not 
investigated. You are addiing nothing to this by continuing to say X3D 
don't do something that X3D does.

I would lke to see you succeed in finding some suitable basic mesh 
animation tools for X3D because the only other current alternatives 
are basic coordinateinterpolators and the HAnim techniques. However, 
any project can use the idea of joints and skin and weighted animation 
and even displacer nodes. I think most any mesh can work if you 
connect it up to a couple of joints; the displacer can work on any 
indexed geometry. Anyone know about non-indexed geometry?

I know I am asking for trouble on this, but it seems to me that if you 
were right and nobody does it like X3D, then somebody out there would 
agree with you.This particular exchange has only aroused one response, 
that of an experienced implementer, and he agreed that we do the 
common basic way.

Look, there is lots of advanced stuff that is used in the industry 
that X3D does not do. There are many experimental projects to do 
muscles, for instance, Skin animation using nurbs, Extra pre or post 
processing to get more realstic skin deformation by using more complex 
models. You are close to it, so check out some Siggraph papers on the 
subject.

I saw a paper that took the basic skin animations produced by moving 
skeleton parts (like X3D does it) and then post-processing to model 
'strands' to show added skin movement according to modeled tendon 
movements, even modeling the amount of force in the movement. This 
replaces work done by displacer-type tools that animate regions 
additively to normal skelton animation that everybody including X3D 
does.

Why is it so hard to understand? I guess it is hard to accept the fact 
that yes, you really do have to know every little detail about you 
target skeleton and your target skin. Just like for a 
coordinateinterpolator which is the basis for both HAnim mesh 
animation techniques. Believe me, this is the most complex setup in 
all of X3D and it will take you some experience to grok, and yet, 
except for the helper tools you might find in some authoring system it 
is no harder or easier to do in any authoring tool.

X3D has that documentation right up front while you may have to dig to 
find the information in your favorite system. Just have confidence 
that whatever rigging helper tools you can find, even the ones that 
say they will rig the thing automagically for you, sooner or later, if 
you are interested in perfection, you will need your keyboard because 
you will be tweaking on those vertex assignments and weights, using 
your skills and instincts to get them just right for a movement. 
Repeat for each important behavior until the thing works right for 
each animation.

A thing that you might find out that hanim doesn't have examples for 
is a character model using the rigid body physics nodes. This is still 
very experimental, but, for example, we might see a model of a 
character that is animated and controlled using rigid body physics 
nodes on the skeleton.

Anyway, I don't wish to interrupt your quest, just quit jabbing at the 
X3D skeleton and mesh animation technology. .

> That is what I used for my approach. If you disagree with my 
> approach,

I still have no idea what is your approach. You show a couple of 
pictures and tell how you deeply understand what the pictures are 
about. I think you are approaching a learning moment where you see 
that OK, I see, that's the way they all do it. Like I said, if you 
take the time to find a piece of mesh and try the Displacer, or even 
dust off some old coordinate interpolator examples, or even look 
closely at a rigged skeleton and skin in any tool, you will begin to 
understand a lot of what you are thinking about.

> I have provided multiple examples (both links and images) from 
> people
> working (including teaching) in the animation industry that show how 
> it
> is done there and how deformable skin joint animation is used for 
> models
> of non-animal and even non-living things.

Take another listen to your teachers, sometimes they like to make it 
sound simple.
Say to them Hey, I see the skeleton and the skin, but teacher, please 
tell me how it actually works. Don't be surpized if they tell you that 
each skin vertex is bound to one or more parts of the skeleton (they 
may say it is bound to bones,and that is ok because maybe they haven't 
been that far under the covers) and as the skeleton moves, each vertex 
is moved according to a weighted value according to joint rotation. 
Think about it. Is the weight greater of less when the vertex is 
farther away from the joint?

> What has been done under H-Anim (ISO/IEC 19774) is rather irrelevant 
> to my discussion because it does not follow industry standard 
> practice.

I like that sentiment, about parts of your discussion being 
irrelevant. Just that you do not really have a discussion.
Sorry, you do not understand what the industry is doing. That is OK as 
long as you take some time to learn about it.

> There is no point, and it is actually detrimental to the industry, 
> to have a standard that is not in wide-spread use.

You do not understand wide-spread use, then. Study any tool. You will 
find the same data in the same context, maybe the names are slightly 
different and the ui view is simplified, but under the covers, that's 
how they work.

Good Luck,
Joe


----- Original Message ----- 
From: "Leonard Daly" <Leonard.Daly at realism.com>
To: "Joe D Williams" <joedwil at earthlink.net>; "X3D Public" 
<x3d-public at web3d.org>
Sent: Wednesday, October 26, 2016 9:27 PM
Subject: Re: [x3d-public] X3Dng Architecture Design


> On 10/26/2016 7:26 PM, Joe D Williams wrote:
>>> ... capabilities made available in the X3D files are either
>>> insufficient (e.g., lack of deformable skin animation) ..
>>
>> Leonard, if you keep saying that [lack of deformable skin 
>> animation] I
>> must report you for abuse of the HAnim and X3D standards.
>
> Joe,
>
> I have three points with H-Anim as expressed in V2. Some or all of 
> these
> comments also apply to V1.
> 1) It is confused about what it is trying to accomplish - it says 
> its
> for humanoids and it says it's for non-humanoids.
> 2) It uses terminology that is non-standard relative to the 
> animation
> industry
> 3) It defines a means of constructing the animation that is not 
> standard
> with that done by the animation industry.
>
> I have provided multiple examples (both links and images) from 
> people
> working (including teaching) in the animation industry that show how 
> it
> is done there and how deformable skin joint animation is used for 
> models
> of non-animal and even non-living things. If you believe that my
> analysis is wrong it is now up to you to provide industry-used 
> examples
> that show things differently. I am happy to work to understand those 
> and
> even, if necessary, change my opinion. The examples can included
> technical papers (e.g., from SIGGRAPH), tutorials, videos, "how-to"
> guides; pretty much anything done by or for people in the animation
> industry.
>
> What has been done under H-Anim (ISO/IEC 19774) is rather irrelevant 
> to
> my discussion because it does not follow industry standard practice.
> There is no point, and it is actually detrimental to the industry, 
> to
> have a standard that is not in wide-spread use.
>
>
> Leonard Daly
>
>
>
>
>>
>> Specifically, HAnim and X3D include two tools for deformable skin
>> (mesh) animation: the skeleton-skin hookups where the controllers 
>> are
>> Joint rotations, and the Displacer where the controller is a 
>> numerical
>> weight input. And they can work together.
>>
>> If you are not convinced that X3D does deformable skin animation 
>> using
>> the same types of documentatation as every basic skeletal animation
>> tool uses, then you have not even studied the problem or the 
>> standard,
>> or even any examples.
>>
>>> Vinton G. Cerf in the October 2016 issue of Communications of ACM 
>>> [1]
>>> laments that while significant art and cultural artifacts are
>>> available from as far back as 17,300 years ago, our current 
>>> content
>>> is turning to unusable and perhaps unreadable dust during our 
>>> lives
>>
>> What did Dr Cerf wish to do abour that? Why is that true for you 
>> for
>> X3D? How is the X3D format not durable? Depends upon the storage
>> medium since X3D is juman readable. True, other archival formats 
>> are
>> not so readable so are they are in more danger than X3D?
>> If you want want just a bunch of data sets with some validation and
>> without much of a runtime, then look at collada.
>> X3D will always be able to use data from collada.
>>
>>> The proposed systems architecture is to split the archival and
>>> display into two separate categories.
>>
>> Sorry, what is the proposal? Do you wish to split the data and the
>> names of data?
>> X3D is an archival format, it just happens to also have a high
>> performance runtime.
>> That should not be a penalty or reason to somehow create two 
>> different
>> versions.
>>
>>> It seems inescapable that our society will need to find its own
>>> formula for underwriting the cost of preserving knowledge in media
>>> that will have some permanence.
>>
>> Smithsonian? Google drive? Usually, he would't talk unless he had 
>> some
>> sort of plan in mind.
>>
>> If you are interested in the idea that X3D should accept many
>> different forms of data, then look over Don's shoulder as he is
>> working on implementation of a plan to convert and use typical 
>> mocap
>> data.
>>
>> Good Luck,
>> Joe
>>
>>
>>
>> ----- Original Message ----- From: "Leonard Daly"
>> <Leonard.Daly at realism.com>
>> To: "X3D Public" <x3d-public at web3d.org>
>> Sent: Tuesday, October 25, 2016 8:43 PM
>> Subject: [x3d-public] X3Dng Architecture Design
>>
>>
>>> I have published the next post on X3Dng. This one covers the 
>>> systems
>>> architecture of how X3D can be used going forward. This post 
>>> begins to
>>> describe the systems architecture where archived content is 
>>> separated
>>> from display content.  The post is at
>>> http://realism.com/blog/purpose-x3d-architecture.
>>>
>>> The next posts will be a more detailed description of the Archive 
>>> and
>>> Display. After that I will start to get into the nodes supporting 
>>> both
>>> components.
>>>
>>>
>>> -- 
>>> *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
>>>
>>
>>
>
>
> -- 
> *Leonard Daly*
> 3D Systems & Cloud Consultant
> LA ACM SIGGRAPH Chair
> President, Daly Realism - /Creating the Future/
> 




More information about the x3d-public mailing list