[x3d-public] Layering/Layout
Joe D Williams
joedwil at earthlink.net
Sat Mar 12 13:21:39 PST 2016
> How to accommodate that if Layout/Hud is separated from viewpoint
> (in different Layers/executionContexts)?
VIewpoint should not matter. What matters is the Hud position and
rotation relative to the viewer position and orientation. Information
for the viewer is given by a ProximitySensor. Usually the Hud is part
of a transform that is animated by routing outputs of a
ProximitySensor to the Hud parent Transform. ProximitySensor outputs
represent the rotation and position of the viewer relative to the
ProximitySensor center and range. The Hud is then displaced from the
viewer position by another transform to maintain the position of
interfaces in the field of view as the viewer navigates in various
ways through ProximitySensor space, including changing the Viewpoint.
So, it seems like this is not dependent upon the Viewpoint selected
but instead the position of the viewer in viewer space, which is the
same as controlling ProximitySensor coordinate space. Any and All
active ProximitySensors anywhere send events when the viewer is in
range. I don't know, it could get complicated but I would say to put
Hud and ProximitySensor in the same Layer or execution context so that
no events need to be passed, thinking that the viewer is in the same
space as the controlling ProximitySensor, or any other X3D
X3DEnvironmentalSensorNode.
Nancy, in the Humanoid animation wen3d.org examples shows a Hud.
> A fuzzy idea is to keep Layout separate from the scene, for HUD
> (heads-up display ie menu.dashboard):
> <X3D>
> <Hud url='"xxx"'/>
OK, that would put te Hud in Layer 0. Then would you need to bind the
Hud instance to an instance of a ProximitySensor or Layer, or
execution context?
Somehow this should be easy to do even if different Hud interfaces are
in different Layers to be displayed at different situations.
Thanks,
Joe
----- Original Message -----
From: "doug sanden" <highaspirations at hotmail.com>
To: <x3d-public at web3d.org>
Sent: Friday, March 11, 2016 6:58 AM
Subject: [x3d-public] Layering/Layout
>
> I thought Layering/Layout could have been up one level.
> -Doug
>
> more..
> I implement Layering/Layout. I thought it was straining too hard to
> be integrated into regular scenery. Except still needing
> IMPORT/EXPORT. (for freewrl I found it didn't need a separate
> executionContext/Inline for each layer, so Inline+IMPORT/EXPORT are
> optional)
>
> A fuzzy idea is to keep Layout separate from the scene, for HUD
> (heads-up display ie menu.dashboard):
> <X3D>
> <Hud url='"xxx"'/>
> <Scene>
> </Scene>
> </X3D>
> This would free those Layout/Hud nodes from needing to be generally
> scenegraph usable/friendly/integrated.
>
> Or for Layering:
> <X3D>
> <Scene DEF='Scene1'>
> </Scene>
> <Scene DEF='Scene2'>
> </Scene>
> </X3D>
> with layering in order of listing, and both scene and hud is-a
> layer: Scene:Layer, Hud:Layer
>
> But how would/could/should routes work - how to apply HUD
> choices/settings to the scene? IMPORT/EXPORT as the layering
> component specifies, or an X3D level of ROUTE which could route
> between scenes/execution context/layers like/instead-of
> IMPORT/EXPORT:
> <X3D>
> <Hud DEF='hud1' url='"xxx"'/>
> <Scene DEF='scene1'>
> </Scene>
> <ROUTE fromLayer='Hud' fromNode='menu1' fromField='menuChoice1
> toLayer='scene1' toNode='..../>
> </X3D>
>
> more..
> One reason to want the layout/hud to still be subjectable to 3D
> transformation at some level: for HMD (head mounted display) menus
> need to be pinnned in 3D space (or pan in 2D) as the user moves
> their head so the center + of the view is over a menu item. How to
> accommodate that if Layout/Hud is separated from viewpoint (in
> different Layers/executionContexts)?
>
> more..
> reminds me of Geo Nodes which -like KML- only makes sense at the
> root level.
> _______________________________________________
> x3d-public mailing list
> x3d-public at web3d.org
> http://web3d.org/mailman/listinfo/x3d-public_web3d.org
More information about the x3d-public
mailing list