Classes that support Unity MR Collab Apps
- avatar system
- mark realworld objects
- share spatial mesh
- syncronize data
- display task
You can see the classes in action in the demo.
VideoTTS-small.1.mp4
The demo is a pc maintenance scenario, where the goal is to change the hard drive of a computer. You can find a download for the AR and VR unity project here
The classes are sorted into shared classes that are used by both applications and AR and VR classes that are only used by one of the applications.
To enable communication between the AR and VR application, we provide the LocalDataSource.cs
basecalass that can send and recieve serialized objects using a Web-RTC DataChannel.
To enable the VR user to place markers in the world of the AR user, we created the MarkerSyncronizer.cs
that syncronizes them between the applications. The VR app then uses the MarkerSystem.cs
to enable the VR user to place new markers. The SteamVRController.cs
handles the SteamVR inputs. The MarkerPlaceMachine.cs
class allows the AR user to mark the position of the machine that requires maintenance.
To share the Spatial mapping of the environment of the AR user with the VR user, we use the CustomObserver.cs
to send, and the MeshReciever.cs
to recieve and display the mesh to the VR user.
- add the SteamVR plugin in your VR project
- add the MRTK in your AR project
- add the MR-WebRTC unity library to both projects.
Work | Author | License |
---|---|---|
MRTK-Unity | Microsoft | MIT |
MR-WebRTC | Microsoft | MIT |
SteamVR Plugin | ValveSoftware | BSD 3 |
MeshSerializer | Markus Göbel (Bunny83) | MIT |
Low Poly Head | Zypheos | CC Attribution |
Hand (low poly) | scibbletoad | CC Attribution |