[x3d-public] web3d MMO > Sensor sharing via DIS

GPU Group gpugroup at gmail.com
Sat Jun 17 15:11:45 PDT 2023


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

- 2 instances of freewrl with DIS activated, showing same elevator3.x3d
scene
https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/elevator/
- 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230617/caab5cb6/attachment.html>


More information about the x3d-public mailing list