Skip to content

🦯🎱 Master's thesis: collaborative Mixed Reality billiards game for a science center exhibit proof-of-concept

Notifications You must be signed in to change notification settings

LarsSelbekk/billiards-mixhibit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Billiards Mixhibit

This is the Master's project of Mathias Oterhals Myklebust and Lars Mitsem Selbekk, Computer Science students at the Norwegian University of Science and Technology (NTNU) in Trondheim. It is a billiards Mixed Reality exhibit for the science center Vitensenteret i Trondheim, allowing youths to explore Mixed Reality in a playful and social environment.

Demo Tips

  • Avoid accidental menu button presses with "Long Press" mode.

    Settimgs > Devices > Controllers > "Long Press (Meta Button) to Pause"

Hacky modifications of UberPost.shader

The UberPost-shader has been modified to fix passthrough with post-processing. If passthrough is completely black, select CustomPostProcessData.asset in the Inspector, set the Inspector to debug mode using the ellipsis button in the upper right corner, and make sure the Uber Post PS shader reference is set to the one in Assets/XR Overrides/UberPost.shader. The script is modified as described here.

Hacky modifications of XRGrabInteractable.cs

The XRGrabInteractable.cs from XR Interaction Toolkit has been modified to prevent reparenting of grabbed objects to root (as suggested here). The reparenting causes problems with world locking. Since the package is modified locally, it has been moved from Library/PackageCache to Packages under version control (as suggested here). This means that updates must be performed manually!

XR Grab Interactable as NetworkObject

Since XR Grab Interactable is moved to root on grab, and only the server can reparent a Network Object, the Auto Object Parent Sync option on Network Object should be disabled. The alternative would be to modify XRGrabInteractable.cs, which presumably breaks other stuff in non-obvious ways.

The packages com.meta.xr.mrutilitykit-60.0.0 and com.meta.xr.sdk.interaction-60.0.0 have been added from custom tarballs, to work around a known issue concerning the dependency on TextMeshPro combined with Unity v2023.2 and above. These modified packages should be replaced with the proper packages from the Unity registry once a fix has been published.