[x3d-public] HAnimDisplacer effect on coord.point
John Carlson
yottzumm at gmail.com
Sat Feb 15 19:46:58 PST 2025
Okay, Joe.
I can create a list of “mesh” names, and maybe someone can figure out which
meshes go together to form the face, then we can revisit how to merge the
meshes?
On Sat, Feb 15, 2025 at 8:55 PM Joe D Williams via x3d-public <
x3d-public at web3d.org> wrote:
> > coord.point changes are very very expensive quickly,
>
>
>
> Right, the processing time gets expensive as the number of points moved.
>
> If level 1 segment geometry where the mesh is driven directly by a joint,
> then it easier since weight is always 1.
>
> For level 2 skin, the the weight (radial movement) applied by maybe
> multiple joints needs to be computed for each point.
>
> Finally, for both levels, the displacements for selected set of points
> needs to be applied.
>
> This implies multiple passes on the subject coordinates?
>
> Whatever, these operations are common where the applications deal with
>
> a complete mesh and with sparse points of a mesh for blending. .
>
>
>
> > with reference to CoordinateInterpolator,
>
>
>
> These are useful when controlling all points of a target mesh.
>
> All points of a mesh must be included and same number of points at each
> keyframe.
>
> This style was used in first step of the current example x3d FACS because
>
> face geometry is made from multiple shapes. CoordinateInterpolater sets
>
> for each shape for each elemental action moved the points.
>
> This was simplified to using the same face for each action example
>
> and then replaced the CIs with sets of Displacers.
>
> Now have developed further to combine individual actions to make a
>
> specific expression which consists of multiple elemental movements.
>
> However, I think we want to evolve towards a basic single mesh face
>
> with some individual shapes for like teeth, hair, eyeballs, eyelids,
> tongue, maybe ears?
>
> and using joint nodes to control, where appropriate.
>
>
>
> Regardless of how the points are moved for the next frame, it has to be
>
> considered that geometry points will be moved directly by joint
> rotations,
>
> by a weighting algorithm using multiple joint rotation inputs,
>
> and by one or more scalar-driven Displacer inputs.
>
>
>
> Thanks for HAnim,
>
> Joe
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Message-----
>
> From: Holger Seelig <holger.seelig at yahoo.de>
> Sent: Feb 9, 2025 11:23 AM
> To: Andreas Plesch <andreasplesch at gmail.com>
> Cc: X3D <x3d-public at web3d.org>, Joseph D Williams <joedwil at earthlink.net>,
> Carol McDonald <cemd2 at comcast.net>
> Subject: Re: [x3d-public] HAnimDisplacer effect on coord.point
>
>
> I don't think so, coord.point changes are very very expensive quickly, and
> as Michalis said earlier, with reference to CoordinateInterpolator, we
> should get rid of them.
>
> Holger
> --
> Holger Seelig
> Leipzig, Germany
>
> holger.seelig at yahoo.de
> https://create3000.github.io/x_ite/
>
> Am 09.02.2025 um 19:44 schrieb Andreas Plesch <andreasplesch at gmail.com>:
> Yes, that is an option. However,coord.point changes are very very
> expensive quickly, and as Michalis said earlier, with reference to
> CoordinateInterpolator, we should get rid of them.
>
> Andreas
>
> On Sun, Feb 9, 2025, 1:40 PM Holger Seelig <holger.seelig at yahoo.de> wrote:
>
>> X_ITE applies the HAnimDisplacers in the shader, thus no coord.point
>> field has to be changed.
>> Maybe that helps.
>>
>> Best regards,
>> Holger
>>
>> --
>> Holger Seelig
>> Leipzig, Germany
>>
>> holger.seelig at yahoo.de
>> https://create3000.github.io/x_ite/
>>
>> Am 09.02.2025 um 19:33 schrieb Andreas Plesch via x3d-public <
>> x3d-public at web3d.org>:
>>
>> That would be the point field of a Coordinate node
>>
>>
>> https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/rendering.html#Coordinate
>>
>> which is used by the coord field of
>>
>>
>> https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/hanim.html#HAnimSegment
>>
>> Andreas
>>
>> On Sun, Feb 9, 2025, 12:36 PM Joe D Williams <joedwil at earthlink.net>
>> wrote:
>>
>>> > coord node emit a point_changed event
>>>
>>>
>>> sorry,I don't see a field anywhere with that event. Displacer is likely
>>> to change several points when new weight is sent. All part of the cascade
>>> to produce the changed mesh?
>>> Thanks,
>>> Joe
>>>
>>>
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Andreas Plesch <andreasplesch at gmail.com>
>>> Sent: Feb 9, 2025 4:25 AM
>>> To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>
>>> Cc: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>,
>>> Carol McDonald <cemd2 at comcast.net>, Joe D Williams <
>>> joedwil at earthlink.net>, John Carlson <yottzumm at gmail.com>
>>> Subject: Re: [x3d-public] HAnimDisplacer effect on coord.point
>>>
>>>
>>> Don, Joe and John
>>>
>>> Thanks for collecting these references.
>>>
>>> But I am not sure if there is an answer to my original question. Let me
>>> rephrase a bit the question:
>>>
>>> After a Displacer contained in a Segment node receives a set_weight
>>> input, should then the coord node emit a point_changed event ?
>>>
>>> I do not think HAnim is concerned about that, so it is really a X3D
>>> question.
>>>
>>> Thanks, Andreas
>>>
>>> On Sun, Feb 9, 2025, 12:49 AM Brutzman, Donald (Don) (CIV) <
>>> brutzman at nps.edu> wrote:
>>>
>>>> Thanks for pointing in the right direction John.
>>>>
>>>> Direct links to functional requirements for Displacer in HAnim 2.0
>>>> specification:
>>>>
>>>> - HAnim 2.0. Part 1: Humanoid animation (HAnim) architecture,
>>>> Clause 4 Concepts, 4.7 Displacer object
>>>> -
>>>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#DisplacerObject
>>>>
>>>> - HAnim 2.0. Part 1: Humanoid animation (HAnim) architecture,
>>>> Clause 6 Object interfaces, 6.6 Displacer
>>>> -
>>>> https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Displacer
>>>>
>>>> and
>>>>
>>>> - X3D 4.0 Architecture, Clause 26 Humanoid Animation (HAnim)
>>>> component, 26.3.1 HAnimDisplacer
>>>> -
>>>> https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/hanim.html#HAnimDisplacer
>>>>
>>>> and informative
>>>>
>>>> - X3D Tooltips, HAnimDisplacer
>>>> - https://www.web3d.org/x3d/content/X3dTooltips.html#HAnimDisplacer
>>>>
>>>> Thanks for implementation efforts and careful scrutiny.
>>>>
>>>> Questions and potential issues/clarifications/corrections are always
>>>> welcome.
>>>>
>>>>
>>>> all the best, Don
>>>> --
>>>> Don Brutzman Naval Postgraduate School, Code USW/Br
>>>> brutzman at nps.edu
>>>> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
>>>> +1.831.656.2149
>>>> X3D graphics, virtual worlds, navy robotics
>>>> https://faculty.nps.edu/brutzman
>>>>
>>>>
>>>>
>>>> ------------------------------
>>>> *From:* x3d-public <x3d-public-bounces at web3d.org> on behalf of John
>>>> Carlson via x3d-public <x3d-public at web3d.org>
>>>> *Sent:* Saturday, February 8, 2025 3:43 AM
>>>> *To:* Extensible 3D (X3D) Graphics public discussion <
>>>> x3d-public at web3d.org>; Carol McDonald <cemd2 at comcast.net>; Joe D
>>>> Williams <joedwil at earthlink.net>
>>>> *Cc:* John Carlson <yottzumm at gmail.com>; Andreas Plesch <
>>>> andreasplesch at gmail.com>
>>>> *Subject:* Re: [x3d-public] HAnimDisplacer effect on coord.point
>>>>
>>>> Here’s what HAnim spec says under Displacer:
>>>>
>>>> https://www.web3d.org/documents/specifications/19774/V2.0/index.html
>>>>
>>>> “For the *Displacer* objects that are contained in the *displacers* field
>>>> of the *Segment* objects, the *displacements* are defined and applied
>>>> in the *Segment* coordinate system. The base mesh for the morphed
>>>> *Segment* is the original mesh defined in the *Segment*.”
>>>>
>>>> And here’s what it says under Segment:
>>>>
>>>> “
>>>>
>>>> The *coord* field is used for *Segment* objects that have deformable
>>>> meshes and shall contain coordinates referenced from the indexed mesh for
>>>> the *Segment* object. The coordinates are given the same name as the
>>>> *Segment* object, but with a "_coords" appended (e.g.,"skull_coords").”
>>>> displacements are an offset from the mesh, with weight from 0 to 1.
>>>> So weight times displacement is total offset from base mesh. 0 weight = no
>>>> offset, 1 weight = full displacements offset
>>>>
>>>> The Coordinate point is maintained to handle weight = 0. Weight ranges
>>>> from 0 to 1, but double check.
>>>>
>>>> Joe or Carol might know where to find it in the HAnim spec.
>>>>
>>>> I believe the answer is, “during rendering,”. Since weight can vary
>>>> with animation, and so can displacements, AFAIK. More than one displacer
>>>> can be applied to the mesh.
>>>>
>>>> I have not read the spec.
>>>>
>>>> John
>>>>
>>>>
>>>>
>>>> On Sat, Feb 8, 2025 at 5:13 AM Andreas Plesch via x3d-public <
>>>> x3d-public at web3d.org> wrote:
>>>>
>>>>
>>>> https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimDisplacer
>>>>
>>>> does not directly explain what the effect of the displacer on the
>>>> coord.point field of the containing HAnimSegment is. But it mentions the
>>>> coord.point field and seems to imply that the coord.point field is involved.
>>>>
>>>> So the question is if the Displacer should alter the coord.point field
>>>> in order to achieve a graphical displacement, or if the Browser should only
>>>> apply the displacements during rendering without a change in the
>>>> coord.point field ?
>>>>
>>>> This is relevant if the coord.point field is accessed by routes or
>>>> scripts, in addition to displacers.
>>>>
>>>> Thanks for any feedback or ideas,
>>>>
>>>> Andreas
>>>>
>>>> --
>>>> Andreas Plesch
>>>> Waltham, MA 02453
>>>> _______________________________________________
>>>> x3d-public mailing list
>>>> x3d-public at web3d.org
>>>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>>>
>>>>
>>>
>> _______________________________________________
>> x3d-public mailing list
>> x3d-public at web3d.org
>> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>>
>>
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20250215/7108cebd/attachment-0001.html>
More information about the x3d-public
mailing list