diff --git a/.gitignore b/.gitignore index b1e8bb4..21c09b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ [Ll]ibrary/ +[Ll]ogs/ [Tt]emp/ [Oo]bj/ [Bb]uild/ diff --git a/Packages/manifest.json b/Packages/manifest.json new file mode 100644 index 0000000..2ca7506 --- /dev/null +++ b/Packages/manifest.json @@ -0,0 +1,35 @@ +{ + "dependencies": { + "com.unity.package-manager-ui": "2.0.8", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/README.md b/README.md index 41fafff..05e5405 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,35 @@ -# SceneUnderstanding-UnitySample -Source code for a Unity sample application that demonstrates Scene Understanding for HoloLens 2. +# Microsoft.MixedReality.SceneUnderstanding.Samples - UnitySample +A Unity-based sample application that showcases Scene Understanding on HoloLens 2. +When this sample is deployed on a HoloLens, it will show the virtual representation of your real environment. +When this sample is deployed on a PC, it will load a serialized scene (included under Resources\SerializedScenesForPCPath) and display it. +A help menu is presented on launch, which provides information about all the input commands available in the application. +To learn more about Scene Understanding, please visit this link: https://docs.microsoft.com/en-us/windows/mixed-reality/scene-understanding +To learn more about Scene Understanding SDK, please visit this link: https://docs.microsoft.com/en-us/windows/mixed-reality/scene-understanding-sdk + +# Prerequisites +Unity 2018.4.12.* or greater. +Visual Studio 2017 or 2019 with Universal Windows Platform components +Windows SDK version 10.0.18362.0 or greater. + +# Running on HoloLens 2 +To run this sample on the HoloLens 2, please follow the instructions below: +1. Open the SceneUnderstandingSample scene in Assets\Scenes, if not already open. +2. Select the SceneUnderstandingManager game object and make sure that 'Run On Device' checkbox is checked on the Scene Understanding Data Provider component. +3. In the Menu, click on Build --> UWP. Once the build completes successfully, a log indicating this will show up in the output console. +4. Navigate to the UWP folder under root and open the 'Scene Understanding.sln' in Visual Studio. +5. Right-click on the 'Scene Understanding (Universal Windows)' project and click on 'Publish' --> 'Create App Packages'. +6. Run through the wizard and wait for building and packaging to complete. +7. The built app package should be at 'UWP\AppPackages\Scene Understanding\Scene Understanding_*\Scene Understanding_*.[appx|msix|appxbundle|msixbundle]' +8. Deploy the package to a HoloLens 2. +9. Launch the 'Scene Understanding' app from the 'All Apps' list on the HoloLens 2. + +# Running on PC +To run this sample on the PC, please follow the instructions below: +1. Open the SceneUnderstandingSample scene in Assets\Scenes, if not already open. +2. Select the SceneUnderstandingManager game object and uncheck the 'Run On Device' checkbox on the Scene Understanding Data Provider component. +3. Ensure SU Serialized Scene Path on the Scene Understanding Data Provider component is referring to a serialized Scene Understanding scene. +4. Click 'Play' in the Editor. + +# Additional Notes +This sample relies on NuGetForUnity package (https://github.com/GlitchEnzo/NuGetForUnity) to bring NuGet support inside Unity. +When you first launch the sample in Unity, NuGetForUnity will restore the Microsoft.MixedReality.SceneUnderstanding NuGet package and place the contents under Assets\Packages.