Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Giacomo Garoffolo - Tracking real objects in Virtual Reality: "The Edge - Be Brave" European Space Agency edition - Codemotion Milan 2018

118 views

Published on

The challenges of using physical objects inside a virtual world. What choices do we have to track them? How much can they improve the experience? How do they impact gameplay design? What happens when we have more than one person in the play area? I will be going through the technical process of making one of Uqido's most immersive virtual reality experience which was also recently extended for the European Space Agency: "The Edge - Be brave".

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Giacomo Garoffolo - Tracking real objects in Virtual Reality: "The Edge - Be Brave" European Space Agency edition - Codemotion Milan 2018

  1. 1. Tracking real objects in Virtual Reality: "The Edge - Be Brave" European Space Agency edition by Giacomo Garoffolo – 29.11.2018
  2. 2. ● Testo Uno ● Spiegazione Due ● Spiegazione Tre ● Testo Quattro About me Work: XR Technical Lead @ Uqido Study: Computer Music @ Statale Milano
  3. 3. Why Tracking?
  4. 4. Believe
  5. 5. Senses in Virtual Reality
  6. 6. Sight
  7. 7. Hearing
  8. 8. Smell
  9. 9. Touch
  10. 10. Skin
  11. 11. Ground
  12. 12. Doraemon
  13. 13. Virtual Representation
  14. 14. The Edge
  15. 15. European Space Agency
  16. 16. ESA
  17. 17. What’s it about?
  18. 18. Tracking Feet
  19. 19. Feet Pairing
  20. 20. Getting the right shoe in private IEnumerator ParentingShoes() { var trackerForShoe1 = CameraRigManager.Instance.Tracker1.transform; var trackerForShoe2 = CameraRigManager.Instance.Tracker2.transform; var shoeRight = GameManager.Instance.RightShoe.transform; var shoeLeft = GameManager.Instance.LeftShoe.transform; if (Vector3.Distance(trackerForShoe1.position, shoeLeft.position) < Vector3.Distance(trackerForShoe1.position, shoeRight.position) ) { shoeRight.parent = trackerForShoe2; shoeLeft.parent = trackerForShoe1; } else if (Vector3.Distance(trackerForShoe1.position, shoeRight.position) < Vector3.Distance(trackerForShoe1.position, shoeLeft.position) ) { shoeRight.parent = trackerForShoe1; shoeLeft.parent = trackerForShoe2; } }
  21. 21. WIP
  22. 22. Multi-user
  23. 23. Server
  24. 24. Bumping into each other
  25. 25. Floor Precision
  26. 26. Peter Pan
  27. 27. Solution adopted
  28. 28. Taking advantage so people dont move
  29. 29. How about simple?
  30. 30. How to Share Configuration C:Program Files (x86)Steamconfig
  31. 31. var currentOffset = currentGroundTracker.transform.localPosition.y; if (Mathf.Abs(currentOffset - currentRealOffset) > 0.01f) { Debug.Log("[FixFloor]: Fixing Floor...."); LatestYOffset = currentOffset - currentRealOffset; EventManager.Instance.OnFixFloor.Invoke(LatestYOffset); CameraRigManager.Instance.transform.position = new Vector3(0, -LatestYOffset, 0); } Fix Floor
  32. 32. Change Prospective of same elements (Virtual vs Real)
  33. 33. Mind trick
  34. 34. Hide to create expectation
  35. 35. Please don’t go there
  36. 36. Moving camera rig
  37. 37. It felt like I travelled a lot About 150meters
  38. 38. What really happened About 10meters
  39. 39. ● Testo Uno ● Spiegazione Due ● Spiegazione Tre ● Testo Quattro YES ● Moving Objects NO ● Static Objects
  40. 40. What comes next?
  41. 41. Entirely virtual
  42. 42. Entirely virtual
  43. 43. The Edge @ Codemotion
  44. 44. trytheedge.uqido.com
  45. 45. Q&A
  46. 46. giacomo.garoffolo@gmail.com linkedin.com/in/giacomogaroffolo github.com/JackVerde Thanks

×