[x3d-public] Fw: Avatar Handling / non-standard movement strategies/ input of key strokes ------ Was: Mac-unaware PageUp/PageDown, Viewpoint list, navigation keys?
Joseph D Williams
joedwil at earthlink.net
Wed Jan 23 13:17:44 PST 2019
➢ 1) Human body avatar is moved by the "WALK" paradigm of X3D.
➢ The locomotive contains a "ProximitySensor" and a "Viewpoint" as well as a "NavigationInfo", all of which are moving with the locomotive. Also a <Group> node is contained, which takes the avatar as child. The avatar contains a "Transform" node, whose "translation" and "orientation" are fed by the "ProximitySensor".
Sounds fine, How about, if you use the x3d Humanoid as an avatar it could be alive in its parent spacetime with its own viewpoints moving as directed in parent space all by itself, on schedule, even.
Internally the Humanoid container offers user interfaces to define how the humanoid is placed in the scene.
Humanoid container defaults:
metric human-scale landmarks
default pose. relaxed attention, arms at sides
x+left y+up gaze+z,
0 0 0 at floor, between feet
all joint centers relative to 0 0 0
all joints 0 0 1 0
If not "Basic" humanoid:
different 0 0 0, orientation, or scale
HAnimHumanoid : X3DChildNode, X3DBoundedObject { …
[in,out] center 0 0 0 (-∞,∞) of Humanoid rotation
[in,out] rotation 0 0 1 0 (-∞,∞)
[in,out] scale 1 1 1 (0,∞)
[in,out] scaleOrientation 0 0 1 0 (-∞,∞)
[in,out] translation 0 0 0 (-∞,∞)
…}
So, if you run a 1/? Scale, where x y z is the same as the Humanoid, then just do the math and set the scale and maybe translation to touch the floor? These can be set by author, or by external, to adjust default Humanoid space to Parent space while animations in Humanoid spacetime are preserved and the Humanoid operates in parent space. Using these as necessary is probably better overall than using a parent Transform of the Humanoid to do the same. How about setting some of your avatars free and implement them as Humanoids?
http://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Humanoid
If you see, there are other built-in interfaces to ‘adjust’ certain aspects of skeleton and skin that are not “Basic” Humanoids. If you are interested, an author wishing to use ‘standard’ hanim animations can use some parameters to make it seem like you actually set your character to the hanim default animation binding pose and then did a Zero.
Thanks and Best,
Joe
From: Christoph Valentin
Sent: Wednesday, January 23, 2019 9:14 AM
To: Doug Sanden
Cc: x3d-public at web3d.org
Subject: [x3d-public] Fw: Avatar Handling / non-standard movement strategies/ input of key strokes ------ Was: Mac-unaware PageUp/PageDown,Viewpoint list, navigation keys?
Hi Doug, Hi all,
After the latest discussions at the thread "Question VR Cafe + X3D", I am feeling free to explain the intentions behind the below cited proposal from last weekend (e-mail "Avatar Handling / non-standard movement strategies / input of key strokes").
Regarding an avatar that rides a locomotive, I was considering two different approaches:
1) Human body avatar is moved by the "WALK" paradigm of X3D.
The locomotive contains a "ProximitySensor" and a "Viewpoint" as well as a "NavigationInfo", all of which are moving with the locomotive. Also a <Group> node is contained, which takes the avatar as child. The avatar contains a "Transform" node, whose "translation" and "orientation" are fed by the "ProximitySensor".
1.a) The model of the locomotive has got touchable controls ("faster", "power up", "whistle", ......), which are used to control the model.
2) As soon as the avatar is attached to the locomotive --> use key strokes to directly control the locomotive
Thus the "combined" avatar "locomotive + human body avatar" becomes the "real" avatar, which takes the input from the keyboard (or from somewhere else)
I am not "riding" the locomotive, but I "am" the locomotive
I followed approach (1), but now, when it might come to having "real cockpit" and "virtual cockpit", I am not sure, whether approach (2) wouldn't be better.
Just to have it nailed down on the mailing list :-)
Kind regards,
Christoph
Sorry for writing so many e-mails for just one idea. Now I have seized the lunch break to summarize the suggestion, maybe it can explain the idea better:
1. Is there anything in X3D that makes the following DRAFT proposal obsolete?
2. DRAFT Proposal for simplified handling of keystrokes or other input of character streams via KeySensor and StringSensor.
a) Each X3D grouping node defines two additional fields
<field accessType='inputOutput' name='canHaveFocus' type='SFBool' value='false'/>
<field accessType='inputOutput' name='isAvatar' type='SFBool' value='false'/>
b) the behaviour is as follows:
b.1) canHaveFocus == false: well-known "old" behaviour, no change
b.2) canHaveFocus == true && isAvatar == false: the browser may select this group together with all static and dynamic children to get the "focus" by some means. Only one group and its children can have the focus at any time. Having the focus means all StringSensor nodes and KeySensor nodes contained in the group are enabled regardless of the value of their "enabled" field. The browser SHOULD graphically indicate, which geometry has got the focus, e.g. by highlighting or by drawing a 2-dimensional "frame" around the geometry.
b.3) canHaveFocus == true && isAvatar == true: same behaviour as with b.2), but the avatar gets the focus any time, when no other geometry has the focus, even, if the avatar is invisible currently.
Have a nice day
Christoph
Gesendet: Donnerstag, 17. Januar 2019 um 09:44 Uhr
Von: "Christoph Valentin" <christoph.valentin at gmx.at>
An: "Christoph Valentin" <christoph.valentin at gmx.at>, "Leonard Daly" <Leonard.Daly at realism.com>, x3d-public at web3d.org
Betreff: Re: [x3d-public] Mac-unaware PageUp/PageDown, Viewpoint list, navigation keys?
Maybe its silly, but I thought: 1) I can *ride* a locomotive and * use* its controls or 2) I can *be* a locomotive
Like a Horse + Rider = a single entity
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.
Am 17.01.19, 09:28, Christoph Valentin <christoph.valentin at gmx.at> schrieb:
Plus a "special handling" for avatars, where the pilot avatar can have an "always on" focus to supersede Standard navigation by avatar specific movement Strategy..........
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.
Am 17.01.19, 07:45, Christoph Valentin <christoph.valentin at gmx.at> schrieb:
Each grouping node would need a new field:
<field accessType='inputOutput' type='SFBool' name='canHaveFocus' value='false'/>
and the rest was up to the browser.
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.
Am 17.01.19, 07:25, Christoph Valentin <christoph.valentin at gmx.at> schrieb:
And what about a concept of "having the focus":
If a grouping node "had the focus", then all KeySensor and StringSensor nodes within this group would become "enabled".
KR
Christoph
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.
Am 16.01.19, 23:22, Christoph Valentin <christoph.valentin at gmx.at> schrieb:
Maybe my opinion is not important, but I think these concrete hints which key to use for which navigation function should be completely avoided in X3D Spec.
Isn't it enough to have the abstract/virtual concepts of "indicating forward/backward/left/right/up/down", "fast/slow", "touch", "drag" by "some means that are up to the Browser"?
The Events that are created by the sensor nodes have to be specified well, on the other hand.
A different story is the Network Sensor, where the protocol should be specified to the bits.
Just my opinion and just Two Cent:-)
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.
_______________________________________________ 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/20190123/36f9350c/attachment-0001.html>
More information about the x3d-public
mailing list