[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