# MixedReality Solution

#### Purpose

This sample shows how to use the AR controls introduced in CGI Studio 3.8:

<div class="contents" id="bkmrk-navigation-path-poin"><div class="contents"><div class="textblock">- <span style="color: rgb(230, 126, 35);">[Navigation Path](https://doc316en.candera.eu/link/1165#bkmrk-navigationpath3d)</span>
- <span style="color: rgb(230, 126, 35);">[Points of Interest](https://doc316en.candera.eu/link/1165#bkmrk-poimanager3d)</span>
- <span style="color: rgb(230, 126, 35);">[Video Streaming](https://doc316en.candera.eu/link/1165#bkmrk-videostream)</span>

</div></div></div>#### Summary

can be used to switch between three scenes:

<div class="contents" id="bkmrk-2d-streaming%3A-tests-"><div class="contents"><div class="textblock">- 2D streaming: Tests if GStreamer is working properly.
- City example: 3D over 3D, but a good example to understand how Points of Interest can be used.
- 3D streaming: Combines the 3D elements with a background video feed. Camera can no longer be controlled manually, but tracking data must be provided.

</div></div></div>#### Description

#### 1. 2D streaming

<div class="contents" id="bkmrk-streaming-feature-is"><div class="contents"><div class="contents"><div class="textblock"><dl class="note"><dd><p class="callout info">Streaming feature is disabled by default. It is necessary to build your own SCHost.dll with the respective cmake flag enabled. (see <span style="color: rgb(230, 126, 35);">[3. Prerequisites](https://doc316en.candera.eu/link/468#bkmrk-3.-prerequisites)</span> Prerequisits)</p>

</dd><dd></dd></dl></div></div></div></div><div drawio-diagram="1674"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-02/drawing-7-1676613559.png" alt=""/></div>

<div class="contents" id="bkmrk--0"><div class="contents"><div class="textblock">  
</div></div></div>#### 2. City example

Move around with &lt;W,A,S,D&gt;, rotate with &lt;Q,E&gt;.

The path you can see is created dynamically from a file at \\cgi\_studio\_player\\src\\Player\\SampleComponents\\NavigationPathData.csv. As you move closer to a POI you should see how the <span style="color: rgb(230, 126, 35);">[alphadistance fading](https://doc316en.candera.eu/link/639#bkmrk-distance-alpha-fadin)</span> is handling the level of detail of the information that is displayed.

<div drawio-diagram="1675"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-02/drawing-7-1676613662.png" alt=""/></div>

<div class="contents" id="bkmrk--2"><div class="contents"><div class="textblock">  
</div></div></div>##### 2.1 Creating a new PoiControl

<div class="contents" id="bkmrk-design-the-control-a"><div class="contents"><div class="textblock">- Design the control and safe it
- Assign a name and a asset id
- Drag a <span style="color: rgb(230, 126, 35);">[new config](https://doc316en.candera.eu/link/639#bkmrk-poi-configuration)</span> onto the PoiManager
- Add to .csv file and use the name that you just defined in the config. The sample dictionary can be found in cgi\_studio\_player\\src\\Player\\SampleComponents\\PoiDictionary.csv and looks like this:

<div class="image"><div drawio-diagram="1676"><img src="https://doc316en.candera.eu/uploads/images/drawio/2023-02/drawing-7-1676613726.png" alt=""/></div>

---

</div></div></div></div><div class="contents" id="bkmrk--3"><div class="textblock"><div class="image">  
</div></div></div>