[x3d-public] HAnimDisplacer effect on coord.point

John Carlson yottzumm at gmail.com
Thu Feb 20 12:23:25 PST 2025


I will try to use Windows Explorer to create zips in the future.  Ugh!  If
there’s an agreement to use 7z as a community, I can swap to that.

John

On Thu, Feb 20, 2025 at 2:17 PM John Carlson <yottzumm at gmail.com> wrote:

> I guess there could be some weird encoding or formatting issue.  I use
> GitHub Bash inside Windows Terminal, I don’t know if I am encoding with
> Cp1252 or something Windows specific.  I’ll do more research.
>
> On Thu, Feb 20, 2025 at 7:19 AM Holger Seelig via x3d-public <
> x3d-public at web3d.org> wrote:
>
>> For some reason I cannot open those *.zip files from you John. My system
>> say „Unknown file format“.
>>
>> Best regards,
>> Holger
>>
>> --
>> Holger Seelig
>> Leipzig, Germany
>>
>> holger.seelig at yahoo.de
>> https://create3000.github.io/x_ite/
>>
>> Am 20.02.2025 um 00:24 schrieb John Carlson <yottzumm at gmail.com>:
>>
>> Attached is an example with a Hud.  I can't get the menu (with the Hud
>> ProximitySensor and Transforms) to move differently than Jin, so I'm kind
>> of stuck.
>>
>> There's probably some silly problem that I missed.  The menus move
>> with the mouse.
>>
>> Thanks for looking,
>>
>> John
>>
>> On Tue, Feb 18, 2025 at 6:49 PM John Carlson <yottzumm at gmail.com> wrote:
>>
>>> Thanks for code samples, Joe.  It looks like I can take out my
>>> Layering/Layout code and just focus on the menu.  Sorry I am so slow on
>>> this, I think I might be hibernating.
>>>
>>> I’m looking at my GitHub commits and they have dropped drastically.
>>> This might be because I am spending more time helping others with recovery
>>> or just using social media too much.
>>>
>>> I will try to get to the HUD in the next two days.  It was so cold, we
>>> didn’t even go to the dentist 45 miles away.  We got out today though.
>>>
>>> John
>>>
>>> On Tue, Feb 18, 2025 at 6:38 PM Joe D Williams <joedwil at earthlink.net>
>>> wrote:
>>>
>>>> > a HUD for Joe
>>>>
>>>>
>>>> A hud for the FACS example is needed because any navigation causes the
>>>> menu to disappear. The menu can be just like used on the Jin scaled with
>>>> animation example. However that uses a ProximitySensor which x3dom does not
>>>> support, for some reason. We use that a lot for start timers, timers,
>>>> etc.as well as being the typical way to keep a menu or scene data in
>>>> view.
>>>> If HTML/SVG is better, I have not seen it. I don't think Stacking
>>>> canvas is appropriate. Fine to think of XR for in-world 2d or3d HUDS but
>>>> does that sort ofdisplay really work any different than using prox sensor?
>>>> ProximitySensor is just so basic.
>>>>
>>>>
>>>>      <ProximitySensor DEF='HudProx' size='50 50 50'/>
>>>>       <Transform DEF='HudXform' rotation='0 1 0 0.78' translation='2 1
>>>> 2'>
>>>>         <Transform DEF='Menu' scale='0.02 0.02 0.02' translation='-0.38
>>>> 0.05 -0.75'>
>>>> rest of menu
>>>>        <ROUTE fromField='position_changed' fromNode='HudProx'
>>>> toField='set_translation' toNode='HudXform'/>
>>>>        <ROUTE fromField='orientation_changed' fromNode='HudProx'
>>>> toField='set_rotation' toNode='HudXform'/>
>>>>
>>>>
>>>> Thanks and Best,
>>>> Joe
>>>>
>>>>
>>>> huds3d
>>>> XR
>>>>
>>>> -----Original Message-----
>>>> From: Andreas Plesch <andreasplesch at gmail.com>
>>>> Sent: Feb 18, 2025 11:45 AM
>>>> To: John Carlson <yottzumm at gmail.com>
>>>> Cc: Extensible 3D (X3D) Graphics public discussion <
>>>> x3d-public at web3d.org>, Holger Seelig <holger.seelig at yahoo.de>, Joseph
>>>> D Williams <joedwil at earthlink.net>, Brutzman, Donald (Don) (CIV) <
>>>> brutzman at nps.edu>, Carol McDonald <cemd2 at comcast.net>
>>>> Subject: Re: [x3d-public] HAnimDisplacer effect on coord.point
>>>>
>>>>
>>>> Please do not wait for x3dom. Both ProximitySensor and the Layering
>>>> component are lower priority. HTML/SVG is better suited for 2D HUDs and
>>>> layering can be approximated by stacking multiple X3D canvases/scenes. You
>>>> may also consider XR where immersion typically strongly favors in-world 3d
>>>> HUDs.
>>>>
>>>> Best, -Andreas
>>>>
>>>> On Tue, Feb 18, 2025 at 2:25 PM John Carlson <yottzumm at gmail.com>
>>>> wrote:
>>>>
>>>>> Don, we’re currently working on a HUD for Joe, I don’t currently have
>>>>> an online example of that.
>>>>>
>>>>> Otherwise, I’m waiting on someone deciding which meshes to merge.  I
>>>>> could take the lead on this.
>>>>>
>>>>> I could use a tutorial on the Layering and Layout components, examples
>>>>> don’t seem to help.  I may try to adopt a 3D HUD based on examples.
>>>>> Something with the 2D overlay in WORLD space would help tremendously, or
>>>>> some conversion from WORLD space.
>>>>>
>>>>> We already have 3D menus, so a 3D HUD might be easiest.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> John
>>>>> On Mon, Feb 17, 2025 at 11:18 PM Brutzman, Donald (Don) (CIV) via
>>>>> x3d-public <x3d-public at web3d.org> wrote:
>>>>>
>>>>>> Wondering, do we have a simple excerpted example that we can look at
>>>>>> yet?  That will help guide these discussions.
>>>>>>
>>>>>> Don't need a full human body animation in all its displaceable
>>>>>> glory...
>>>>>>
>>>>>>
>>>>>> 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 Joe D
>>>>>> Williams via x3d-public <x3d-public at web3d.org>
>>>>>> *Sent:* Saturday, February 15, 2025 6:55 PM
>>>>>> *To:* Holger Seelig <holger.seelig at yahoo.de>; Andreas Plesch <
>>>>>> andreasplesch at gmail.com>
>>>>>> *Cc:* joedwil at earthlink.net <joedwil at earthlink.net>; X3D <
>>>>>> x3d-public at web3d.org>; Carol McDonald <cemd2 at comcast.net>
>>>>>>
>>>>>> *Subject:* Re: [x3d-public] HAnimDisplacer effect on coord.point
>>>>>>
>>>>>>  > 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
>>>>>
>>>>>
>>>>
>>>> --
>>>> Andreas Plesch
>>>> Waltham, MA 02453
>>>>
>>>>
>>>>
>>> <Clocks6.zip>
>>
>>
>> _______________________________________________
>> 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/20250220/358a6885/attachment-0001.html>


More information about the x3d-public mailing list