[x3d-public] HAnimDisplacer effect on coord.point

Joe D Williams joedwil at earthlink.net
Fri Feb 21 14:15:28 PST 2025


> test case...

fine idea, maybe add a layer maybe a sphere and switch between cube and sphere.leavingmenu  asis. 
Thamks,
Joe



-----Original Message-----
From: John Carlson <yottzumm at gmail.com>
Sent: Feb 21, 2025 2:12 PM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org>, Michalis Kamburelis <michalis.kambi at gmail.com>, Holger Seelig <holger.seelig at yahoo.de>
Cc: Joe D Williams <joedwil at earthlink.net>
Subject: Re: [x3d-public] HAnimDisplacer effect on coord.point

I agree.  I had missed the required viewpoint to achieve what was necessary.  I’ll try to get a FACS version out tonight, but no promises.  I did try a simple approach, but without viewpoint, it failed.
 
Maybe we can use Holger’s example as a test case for a Castle issue?
 
Can we mix a ProximitySensor with layering?  Ideas welcome.
 
John 

On Fri, Feb 21, 2025 at 3:38 PM Joe D Williams via x3d-public <x3d-public at web3d.org (mailto:x3d-public at web3d.org)> wrote:
That is real nice and readable. Not working in Castle, fine in freewrl.
Does not decrease my simple need for ProximitySensor, especially when that basic tech is getting more important.
Thanks and Very Best,
Joe. 



-----Original Message-----
From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Sent: Feb 21, 2025 12:23 PM
To: X3D <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Cc: Holger Seelig <holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)>
Subject: Re: [x3d-public] HAnimDisplacer effect on coord.point

Think easy. Don’t make things more difficult than they are. 
Here a link ready to try out for the lazy ones:
https://create3000.github.io/x_ite/playground/?url=https://gist.githubusercontent.com/create3000/7c9b576f8b3b52d1b51e3fb98b2e93dc/raw/23d76cfb19f7719af4c942f7d9553f386005238d/Layers.x3d
Best regards,
Holger
 
--
Holger Seelig
Leipzig, Germany
 
holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)
https://create3000.github.io/x_ite/








Am 21.02.2025 um 21:02 schrieb Holger Seelig via x3d-public <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>:
Using layer is more easy as using a ProximitySensor. Each Layer node has its own X3DBindableNode stack, thus own viewpoints, background, fog, navigation info. There can only be one active layer where navigation takes place, to be specified with LayerSet.activeLayer. Example attached. 
Best regards,
Holger
 
 

<Layers.x3d>--
Holger Seelig
Leipzig, Germany
 
holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)
https://create3000.github.io/x_ite/








Am 21.02.2025 um 20:37 schrieb John Carlson via x3d-public <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>:
Hmm.  I took out the layering code in the latest zip, Clocks6.zip.  Check out Andreas’ version if you’re having trouble unpacking it.
 
Layering/Layout is like a 2D layer on top of a 3D layer.  Holger’s point was that it might be useful for a HUD.
 
Please view current zip, around the ProximitySensor, and Hud ROUTEs.
 
I don’t know how to make the menu rotate opposite the mouse, or how to keep the menu in the HUD.
 
I will look into Viewpoints.
 
John

On Fri, Feb 21, 2025 at 12:56 PM Joe D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)> wrote:
>  take out  layering code ... 

I still don't see how layering will help in making a HUD. 
Can you have one viewpoint in one layer and navigate but have a second viewpoint in another layer that keeps the menu up front?
Ithinktheprox sensor works everywhere bu x3dom?

Thanks,
Joe


-----Original Message-----
From: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Sent: Feb 20, 2025 12:18 PM
To: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Cc: John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)>
Subject: Re: [x3d-public] HAnimDisplacer effect on coord.point

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 (mailto: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 (mailto: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 (mailto: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 (mailto: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 (mailto: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 (http://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 (mailto:andreasplesch at gmail.com)>
Sent: Feb 18, 2025 11:45 AM
To: John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)>
Cc: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>, Holger Seelig <holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)>, Joseph D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)>, Brutzman, Donald (Don) (CIV) <brutzman at nps.edu (mailto:brutzman at nps.edu)>, Carol McDonald <cemd2 at comcast.net (mailto: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 (mailto: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 (mailto: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 (mailto: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 (mailto:x3d-public-bounces at web3d.org)> on behalf of Joe D Williams via x3d-public <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>
Sent: Saturday, February 15, 2025 6:55 PM
To: Holger Seelig <holger.seelig at yahoo.de (mailto:holger.seelig at yahoo.de)>; Andreas Plesch <andreasplesch at gmail.com (mailto:andreasplesch at gmail.com)>
Cc: joedwil at earthlink.net (mailto:joedwil at earthlink.net) <joedwil at earthlink.net (mailto:joedwil at earthlink.net)>; X3D <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>; Carol McDonald <cemd2 at comcast.net (mailto: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 (mailto:holger.seelig at yahoo.de)>
Sent: Feb 9, 2025 11:23 AM
To: Andreas Plesch <andreasplesch at gmail.com (mailto:andreasplesch at gmail.com)>
Cc: X3D <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>, Joseph D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)>, Carol McDonald <cemd2 at comcast.net (mailto: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 (mailto: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 (mailto: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 (mailto: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 (mailto: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 (mailto: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 (mailto: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 (mailto:andreasplesch at gmail.com)>
Sent: Feb 9, 2025 4:25 AM
To: Brutzman, Donald (Don) (CIV) <brutzman at nps.edu (mailto:brutzman at nps.edu)>
Cc: Extensible 3D (X3D) Graphics public discussion <x3d-public at web3d.org (mailto:x3d-public at web3d.org)>, Carol McDonald <cemd2 at comcast.net (mailto:cemd2 at comcast.net)>, Joe D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)>, John Carlson <yottzumm at gmail.com (mailto: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 (mailto: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 (mailto: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 (mailto:x3d-public-bounces at web3d.org)> on behalf of John Carlson via x3d-public <x3d-public at web3d.org (mailto: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 (mailto:x3d-public at web3d.org)>; Carol McDonald <cemd2 at comcast.net (mailto:cemd2 at comcast.net)>; Joe D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)>
Cc: John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)>; Andreas Plesch <andreasplesch at gmail.com (mailto: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 (mailto: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 (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org





_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org














_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto: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 (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org





_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org



_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto:x3d-public at web3d.org)
http://web3d.org/mailman/listinfo/x3d-public_web3d.org




_______________________________________________
x3d-public mailing list
x3d-public at web3d.org (mailto: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/20250221/a2d7bf54/attachment-0001.html>


More information about the x3d-public mailing list