This client is only intended to work with Gabriel-Sandwich. It might work other instruction-based Gabriel applications, but holograms only exist for sandwich.
The client was built with Unity HoloLens 5.4.0f3-HTP and Visual Studio 2015. I recommend using these specific versions of these programs. I ran into some issues trying newer versions. But note that you can have multiple versions of Unity and Visual Studio on the same computer.
The client requires this specific version of the HoloToolkit. It will not work with a newer version of HoloToolkit and it will not work with MRTK.
Add the contents of the version of the HoloToolkit from the repository linked above to this Unity project using these steps.
Before building the project, you must have Windows Universal SDK 10.0.14393.0
installed. If you have a newer version, you must install 10.0.14393.0.
Note that you can have multiple versions of this SDK installed.
You must then set the value of the
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\ProductVersion
registry key to 10.0.14393
. You can change this value back after compiling the
client. See
here
for more details about this issue.
- client is the Unity Project Directory. Select this directory when opening this project in Unity.
- Build the Unity project by following these steps.
- After you have built the Unity project, you can open client/App/gabriel-holo-client.sln in Visual studio. Note that you must have built the Unity project at least once.
- You can deploy the client to the HoloLens using these instructions.
- After you have successfully deployed the client to your HoloLens, you must
make the following modifications to the code in Visual Studio in order to
connect to the Gabriel server. I could not get these changes to work in
Unity, so they have to be done after building the Unity project.
- Replace
client/Assets/Scripts/Const.cs
withupdates/Const.cs
. - Replace
client/Assets/Scripts/GuidanceControl.cs
withupdates/GuidanceControl.cs
- Replace
client/Assets/Scripts/MyLogger.cs
withupdates/MyLogger.cs
. - Replace
client/Assets/Scripts/TokenController.cs
withupdates/TokenController.cs
- Replace
client/UWP/Assembly-CSharp/project.json
withupdates/project.json
- Copy
updates/Gabriel.cs
toclient/UWP/Assembly-CSharp/Scripts/
- Copy
updates/Instruction.cs
toclient/UWP/Assembly-CSharp/Scripts/
- Replace
The IP address of the server is hard coded
here. You must rebuild the Visual Studio
solution after changing this value, by selecting Build -> Rebuild Solution
in
Visual Studio.
Pull the container with
docker pull cmusatyalab/gabriel-sandwich:hololens
Then start it with
docker run --rm -it --gpus all -p 9099:9099 cmusatyalab/gabriel-sandwich:sandwich
You must use the sandwich
tag when pulling and running the container (as in
the above commands).