PongAR

PongAR

Multi-user is important in Augmented Reality to share experiences

  • Each user controls a cube
  • A red capsule goes back and forth between the first and second user cubes
  • A web server manages ip addresses for use over a LAN
  • A heartbeat call to the server is made every 3 sec for each user
  • Each user has a list of other ips
  • Each user sends cube position and orientation to each ip each frame
  • Each user receives other cube positions and orientations and updates game objects each frame
  • Low latency
web_server_list.png

Clouded Data

  • Ip, device name, timestamp are stored in PongAR.txt on the web server
  • Ip managment occurs every 3 seconds
  • Cube position and orientation data is shared separately each frame


PongAR.mp4

Video

  • Using UDP and a web server
  • multi-user Augmented Reality
  • Using Anchor marker
  • Positions shared are local to anchor
PongARDuo.m4v

Multi-User Video

PongAR_2020_02_21_13_30.zip

Source Code

PongAR.pdf

Source Code PDF

Web Server PHP

  • upload_ip.php takes three arguments and is called by the Unity app
  • ip, device, timestamp are the arguments
  • Each Unity app calls every 3 seconds, timeout is 5 sec
  • Each call checks for expired (elapsed time > 5sec) and removes entries
  • Current caller's data is added
  • List of ips is returned delimited by ":"
  • Heartbeat calls update the active ip list
  • Heartbeat accomplishes network discovery on a local network using a web server
  • Game object position is sent to one or more ip's
  • Positions and orientations of remote ip's are received and game objects are updated
  • Each Unity app updates game object positions and orientations
upload_ip.php
upload_ip.pdf
marker_A.jpg

Print this marker

  • This is the anchor marker
  • View this marker with the app(s)