[x3d-public] [FreeWRL-develop] web3d MMO > Sensor sharing via DIS
Christoph Valentin
christoph.valentin at gmx.at
Wed Dec 20 09:40:22 PST 2023
Doug,
I have started with first tests of your elevator3.x3d example.
Am now going to analyse the results.
Here's a preliminary demo video: https://lc-soc-lc.at/owncloud/index.php/s/FQCi7ix1yUGHIUF
Cloud Password for the video: HalloWelt
Have a nice holiday season
Christoph
Gesendet: Sonntag, 17. Dezember 2023 um 16:33 Uhr
Von: "Christoph Valentin via FreeWRL-develop" <freewrl-develop at lists.sourceforge.net>
An: "GPU Group" <gpugroup at gmail.com>
Cc: "Christoph Valentin" <christoph.valentin at gmx.at>, r.onic at kabsi.at, "Kevin" <klw71 at yahoo.com>, "Development for the FreeWRL X3D viewer." <freewrl-develop at lists.sourceforge.net>
Betreff: Re: [FreeWRL-develop] [x3d-public] web3d MMO > Sensor sharing via DIS
Doug,
Thank you for the information and for the suggestions.
You can follow my project at our association's home page: https://lc-soc-lc.or.at/project-003-dexper/index.html
Today I entered following status:
2023-12-17: started to analyse X3D v3.3 (ISO/IEC IS 19775-1:2013) - chapter 28 (DIS)2023-12-17: started to analyse elevator example from Doug S.
Have a nice holiday season,
Kr,
Christoph
Gesendet: Sonntag, 17. Dezember 2023 um 15:39 Uhr
Von: "GPU Group" <gpugroup at gmail.com>
An: "Christoph Valentin" <christoph.valentin at gmx.at>
Cc: "Kevin" <klw71 at yahoo.com>, "Development for the FreeWRL X3D viewer." <freewrl-develop at lists.sourceforge.net>, r.onic at kabsi.at
Betreff: Re: Re: [x3d-public] web3d MMO > Sensor sharing via DIS
Christoph,As long as using the same app for all communications, it's up to the app to choose a comment 'channel' number. I don't remember the exact terminology, but it seemed like there were plenty of channels, so an app can take one for its own purpose as long as no other app is using it in the same simulation. So it's not something the app user would need to worry about when using the same app for all instances. It's just when wanting to communicate between different apps, then app developers need to be coordinated on their use of channels.
-Doug
PS mor things that could be done on the topic:
1. humanoid avatars. I used cones to represent the pose of avatars
2. automated gait - automatically change standing/walking-pace/running motion of humanoid avatars based on speed of navigation - so as you navigate in your app, the other apps see your humanoid avatar walking/running fast enough to make sense for your speed
3. inverse kinematics - as you mouse over a sensor to click, an arm would rise to point in the direction of the pointer, so other users can see you clicking
4. conveyor-belt test - I did an elevator test in freewrl, but a conveyor test is harder, for example if your avatar gets in a vehicle that moves, does your avatar stay with the vehicle? I worked on something like it 15 years ago and found it a hard problem at that time and haven't tried it since
On Sat, Dec 16, 2023 at 4:03 PM Christoph Valentin <christoph.valentin at gmx.at[mailto:christoph.valentin at gmx.at]> wrote:Hi Doug,
May I ask a "silly question"?
You write "[...]it broadcasts sensor events to other app instances via DIS CommentPdu[...]",
where is this documented? I did not find anything in X3D v3.3 standard about CommentPdu.
Would like to try it out during holiday season.
Thanks
Christoph
Gesendet: Samstag, 17. Juni 2023 um 23:30 Uhr
Von: "GPU Group" <gpugroup at gmail.com[mailto:gpugroup at gmail.com]>
An: "Christoph Valentin" <christoph.valentin at gmx.at[mailto:christoph.valentin at gmx.at]>
Cc: "X3D Graphics public mailing list" <x3d-public at web3d.org[mailto:x3d-public at web3d.org]>, "Kevin" <klw71 at yahoo.com[mailto:klw71 at yahoo.com]>, "Roman Onic" <roman.onic at kontron.com[mailto:roman.onic at kontron.com]>
Betreff: Re: [x3d-public] web3d MMO > Sensor sharing via DIS
Thanks Christoph. Hold on though -- I need to publish the current version of freewrl, could be a few weeks before I post .msi for windows.
-Doug
On Sat, Jun 17, 2023 at 4:27 PM Christoph Valentin <christoph.valentin at gmx.at[mailto:christoph.valentin at gmx.at][mailto:christoph.valentin at gmx.at[mailto:christoph.valentin at gmx.at]]> wrote:
Doug,
This sounds really interesting.
I hope I will find some time to try it soon.
Will let you know my comments.
Kr,
CP/V
--
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.
Am 18.06.23, 00:12 schrieb GPU Group <gpugroup at gmail.com[mailto:gpugroup at gmail.com][mailto:gpugroup at gmail.com[mailto:gpugroup at gmail.com]]>:
MMO - massively multiplayer online
DIS distributed interactive simulation - a web3d component 28
CONCEPT: web3d browsers load identical scenes, and share sensor events, and each instance does its own routing diagram after sensor event is shared.
https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/MMO_Sensor_sharing.mp4[https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/MMO_Sensor_sharing.mp4][https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/MMO_Sensor_sharing.mp4%5Bhttps://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/MMO_Sensor_sharing.mp4%5D]
- 2 instances of freewrl with DIS activated, showing same elevator3.x3d scene
https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/[https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/][https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/%5Bhttps://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/%5D]
- in video we can see avatar of other instance as green cone
- when current scene clicks elevator up button, it relays that sensor click event to other app instance, which triggers the elevator in the other scene to go up at the same time
- the avatar in the other scene rides its elevator up, and sends its new avatar pose to the current scene, so appears they are riding up elevator together.
- the code sensor intercept point is general enough to capture TouchSensor, GeoTouchSensor, LineSensor, PointSensor (not web3d spec), PlaneSensor, MultiTouchSensor (not web3d spec), CylinderSensor, SphereSensor, ProximitySensor, GeoProximitySensor, Anchor.
- it broadcasts sensor events to other app instances via DIS CommentPdu, which has variable number of variable-length records. All sensor hits on a frame are queued, and when processing dis send events, it reads the queue and packs into a single CommentPdu and broadcastes.
- other app instances once per frame in dis_receive function parse the pdu stream, and direct all CommentPdus to the pdu2sensor function, which iterates over the CommentPdu variable records and calls the appropriate sensor functions for each sensor event.
-Doug
_______________________________________________ x3d-public mailing list x3d-public at web3d.org[mailto:x3d-public at web3d.org][mailto:x3d-public at web3d.org[mailto:x3d-public at web3d.org]] http://web3d.org/mailman/listinfo/x3d-public_web3d.org[http://web3d.org/mailman/listinfo/x3d-public_web3d.org]_______________________________________________ FreeWRL-develop mailing list FreeWRL-develop at lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freewrl-develop[https://lists.sourceforge.net/lists/listinfo/freewrl-develop]
More information about the x3d-public
mailing list