├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── main.yml ├── .gitignore ├── Assets ├── LabAssistVision.meta ├── LabAssistVision │ ├── Camera.meta │ ├── Camera │ │ ├── CameraExtrinsic.cs │ │ ├── CameraExtrinsic.cs.meta │ │ ├── CameraFrame.cs │ │ ├── CameraFrame.cs.meta │ │ ├── CameraIntrinsic.cs │ │ ├── CameraIntrinsic.cs.meta │ │ ├── CameraParameters.cs │ │ ├── CameraParameters.cs.meta │ │ ├── Device.cs │ │ ├── Device.cs.meta │ │ ├── DummyCamera.cs │ │ ├── DummyCamera.cs.meta │ │ ├── ICamera.cs │ │ ├── ICamera.cs.meta │ │ ├── LocatableCamera.cs │ │ ├── LocatableCamera.cs.meta │ │ ├── MonoCamera.cs │ │ └── MonoCamera.cs.meta │ ├── Controller.cs │ ├── Controller.cs.meta │ ├── Detection.meta │ ├── Detection │ │ ├── CustomVision.cs │ │ ├── CustomVision.cs.meta │ │ ├── CustomVision.meta │ │ ├── CustomVision │ │ │ ├── Dtos.meta │ │ │ ├── Dtos │ │ │ │ ├── BoundingBox.cs │ │ │ │ ├── BoundingBox.cs.meta │ │ │ │ ├── ImagePredictionResult.cs │ │ │ │ ├── ImagePredictionResult.cs.meta │ │ │ │ ├── Prediction.cs │ │ │ │ └── Prediction.cs.meta │ │ │ ├── Models.meta │ │ │ └── Models │ │ │ │ ├── labels.txt │ │ │ │ ├── labels.txt.meta │ │ │ │ ├── model.onnx │ │ │ │ └── model.onnx.meta │ │ ├── IObjectDetector.cs │ │ └── IObjectDetector.cs.meta │ ├── Experimental.meta │ ├── Experimental │ │ ├── CamShiftTracker.cs │ │ ├── CamShiftTracker.cs.meta │ │ ├── CustomVisionLocal.cs │ │ ├── CustomVisionLocal.cs.meta │ │ ├── WebcamTextureCamera.cs │ │ └── WebcamTextureCamera.cs.meta │ ├── FPSDisplayManager.cs │ ├── FPSDisplayManager.cs.meta │ ├── Label.cs │ ├── Label.cs.meta │ ├── Materials.meta │ ├── Materials │ │ ├── GrayscaleDisplay.mat │ │ ├── GrayscaleDisplay.mat.meta │ │ ├── HolographicBackPlate.mat │ │ ├── HolographicBackPlate.mat.meta │ │ ├── HolographicBackPlateGreen.mat │ │ ├── HolographicBackPlateGreen.mat.meta │ │ ├── RGBDisplay.mat │ │ └── RGBDisplay.mat.meta │ ├── Models.meta │ ├── Models │ │ ├── CvTrackedObject.cs │ │ ├── CvTrackedObject.cs.meta │ │ ├── DetectedObject.cs │ │ ├── DetectedObject.cs.meta │ │ ├── SpatialTrackedObject.cs │ │ ├── SpatialTrackedObject.cs.meta │ │ ├── TrackedObject.cs │ │ └── TrackedObject.cs.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── Tooltip.prefab │ │ └── Tooltip.prefab.meta │ ├── Shaders.meta │ ├── Shaders │ │ ├── Grayscale_MRTK.shader │ │ ├── Grayscale_MRTK.shader.meta │ │ ├── YUV2RGB_NV12.shader │ │ └── YUV2RGB_NV12.shader.meta │ ├── Textures.meta │ ├── Textures │ │ ├── IridescentSpectrum.png │ │ ├── IridescentSpectrum.png.meta │ │ ├── IridescentSpectrumGreen.png │ │ └── IridescentSpectrumGreen.png.meta │ ├── Tracking.meta │ ├── Tracking │ │ ├── BoostingTracker.cs │ │ ├── BoostingTracker.cs.meta │ │ ├── CSRTTracker.cs │ │ ├── CSRTTracker.cs.meta │ │ ├── CvTracker.cs │ │ ├── CvTracker.cs.meta │ │ ├── IObjectTracker.cs │ │ ├── IObjectTracker.cs.meta │ │ ├── KCFTracker.cs │ │ ├── KCFTracker.cs.meta │ │ ├── MILTracker.cs │ │ ├── MILTracker.cs.meta │ │ ├── MedianFlowTracker.cs │ │ ├── MedianFlowTracker.cs.meta │ │ ├── MosseTracker.cs │ │ ├── MosseTracker.cs.meta │ │ ├── TLDTracker.cs │ │ └── TLDTracker.cs.meta │ ├── Utils.meta │ ├── Utils │ │ ├── FPSUtils.cs │ │ ├── FPSUtils.cs.meta │ │ ├── LogHandler.cs │ │ ├── LogHandler.cs.meta │ │ ├── NumericsConversionExtensions.cs │ │ ├── NumericsConversionExtensions.cs.meta │ │ ├── ThreadUtils.meta │ │ └── ThreadUtils │ │ │ ├── AsyncUtils.cs │ │ │ ├── AsyncUtils.cs.meta │ │ │ ├── CoroutineRunner.cs │ │ │ ├── CoroutineRunner.cs.meta │ │ │ ├── LICENSE │ │ │ ├── LICENSE.meta │ │ │ ├── UnityDispatcher.cs │ │ │ └── UnityDispatcher.cs.meta │ ├── VideoDisplayManager.cs │ ├── VideoDisplayManager.cs.meta │ ├── VisualizationManager.cs │ └── VisualizationManager.cs.meta ├── MRTK.meta ├── MRTK │ ├── Shaders.meta │ └── Shaders │ │ ├── ChannelPacker.shader │ │ ├── ChannelPacker.shader.meta │ │ ├── DepthBufferPostProcess.shader │ │ ├── DepthBufferPostProcess.shader.meta │ │ ├── InstancedColored.shader │ │ ├── InstancedColored.shader.meta │ │ ├── InvisibleShader.shader │ │ ├── InvisibleShader.shader.meta │ │ ├── MRTK.Shaders.sentinel │ │ ├── MRTK.Shaders.sentinel.meta │ │ ├── MRTK_Wireframe.shader │ │ ├── MRTK_Wireframe.shader.meta │ │ ├── MixedRealityShaderUtils.cginc │ │ ├── MixedRealityShaderUtils.cginc.meta │ │ ├── MixedRealityStandard.shader │ │ ├── MixedRealityStandard.shader.meta │ │ ├── MixedRealityTextMeshPro.shader │ │ ├── MixedRealityTextMeshPro.shader.meta │ │ ├── Text3DShader.shader │ │ └── Text3DShader.shader.meta ├── MixedRealityToolkit.Generated.meta ├── MixedRealityToolkit.Generated │ ├── CustomProfiles.meta │ ├── CustomProfiles │ │ ├── LabAssistVisionMixedRealityCameraProfile.asset │ │ ├── LabAssistVisionMixedRealityCameraProfile.asset.meta │ │ ├── LabAssistVisionMixedRealityDiagnosticsProfile.asset │ │ ├── LabAssistVisionMixedRealityDiagnosticsProfile.asset.meta │ │ ├── LabAssistVisionMixedRealityHandTrackingProfile.asset │ │ ├── LabAssistVisionMixedRealityHandTrackingProfile.asset.meta │ │ ├── LabAssistVisionMixedRealityInputSystemProfile.asset │ │ ├── LabAssistVisionMixedRealityInputSystemProfile.asset.meta │ │ ├── LabAssistVisionMixedRealityPointerProfile.asset │ │ ├── LabAssistVisionMixedRealityPointerProfile.asset.meta │ │ ├── LabAssistVisionMixedRealityRegisteredServiceProvidersProfile.asset │ │ ├── LabAssistVisionMixedRealityRegisteredServiceProvidersProfile.asset.meta │ │ ├── LabAssistVisionMixedRealitySpatialAwarenessMeshObserverProfile.asset │ │ ├── LabAssistVisionMixedRealitySpatialAwarenessMeshObserverProfile.asset.meta │ │ ├── LabAssistVisionMixedRealitySpatialAwarenessSystemProfile.asset │ │ ├── LabAssistVisionMixedRealitySpatialAwarenessSystemProfile.asset.meta │ │ ├── LabAssistVisionMixedRealitySpeechCommandsProfile.asset │ │ ├── LabAssistVisionMixedRealitySpeechCommandsProfile.asset.meta │ │ ├── LabAssistVisionMixedRealityToolkitConfigurationProfile.asset │ │ └── LabAssistVisionMixedRealityToolkitConfigurationProfile.asset.meta │ ├── Extensions.meta │ ├── Extensions │ │ ├── Camera.meta │ │ ├── Camera │ │ │ ├── CameraService.cs │ │ │ ├── CameraService.cs.meta │ │ │ ├── CameraServiceProfile.cs │ │ │ ├── CameraServiceProfile.cs.meta │ │ │ ├── DefaultCameraServiceProfile.asset │ │ │ ├── DefaultCameraServiceProfile.asset.meta │ │ │ ├── ICameraService.cs │ │ │ └── ICameraService.cs.meta │ │ ├── Detection.meta │ │ ├── Detection │ │ │ ├── CustomVisionObjectDetectionService.cs │ │ │ ├── CustomVisionObjectDetectionService.cs.meta │ │ │ ├── DefaultObjectDetectionServiceProfile.asset │ │ │ ├── DefaultObjectDetectionServiceProfile.asset.meta │ │ │ ├── IObjectDetectionService.cs │ │ │ ├── IObjectDetectionService.cs.meta │ │ │ ├── ObjectDetectionServiceProfile.cs │ │ │ └── ObjectDetectionServiceProfile.cs.meta │ │ ├── Logging.meta │ │ ├── Logging │ │ │ ├── DefaultLoggingServiceProfile.asset │ │ │ ├── DefaultLoggingServiceProfile.asset.meta │ │ │ ├── ILoggingService.cs │ │ │ ├── ILoggingService.cs.meta │ │ │ ├── LoggingService.cs │ │ │ ├── LoggingService.cs.meta │ │ │ ├── LoggingServiceProfile.cs │ │ │ └── LoggingServiceProfile.cs.meta │ │ ├── Tracking.meta │ │ └── Tracking │ │ │ ├── DefaultObjectTrackingServiceProfile.asset │ │ │ ├── DefaultObjectTrackingServiceProfile.asset.meta │ │ │ ├── IObjectTrackingService.cs │ │ │ ├── IObjectTrackingService.cs.meta │ │ │ ├── ObjectTrackingService.cs │ │ │ ├── ObjectTrackingService.cs.meta │ │ │ ├── ObjectTrackingServiceProfile.cs │ │ │ └── ObjectTrackingServiceProfile.cs.meta │ ├── MRTK.Generated.sentinel │ ├── MRTK.Generated.sentinel.meta │ ├── ProjectPreferences.asset │ ├── ProjectPreferences.asset.meta │ ├── link.xml │ └── link.xml.meta ├── NuGet.config ├── NuGet.config.meta ├── NuGet.meta ├── NuGet │ ├── Editor.meta │ ├── Editor │ │ ├── DotNetZip.dll │ │ ├── DotNetZip.dll.meta │ │ ├── NugetForUnity.dll │ │ └── NugetForUnity.dll.meta │ ├── LICENSE │ ├── LICENSE.meta │ ├── NuGetForUnity.url │ ├── NuGetForUnity.url.meta │ ├── README.pdf │ ├── README.pdf.meta │ ├── Resources.meta │ └── Resources │ │ ├── defaultIcon.png │ │ └── defaultIcon.png.meta ├── OpenCVForUnity.meta ├── Packages.meta ├── Packages │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.meta │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049 │ │ ├── .signature.p7s │ │ ├── LICENSE.txt │ │ ├── LICENSE.txt.meta │ │ ├── MSBuildForUnity.meta │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.nupkg │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.nupkg.meta │ │ ├── Unity.meta │ │ ├── Unity │ │ │ ├── Editor.meta │ │ │ ├── Editor │ │ │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.Editor.asmdef │ │ │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.Editor.asmdef.meta │ │ │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.Init.cs │ │ │ │ └── Microsoft.Windows.MixedReality.DotNetWinRT.Init.cs.meta │ │ │ ├── x64.meta │ │ │ └── x64 │ │ │ │ ├── MonoSupport.dll │ │ │ │ └── MonoSupport.dll.meta │ │ ├── lib.meta │ │ └── lib │ │ │ ├── unity.meta │ │ │ └── unity │ │ │ ├── net46.meta │ │ │ ├── net46 │ │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.dll │ │ │ └── Microsoft.Windows.MixedReality.DotNetWinRT.dll.meta │ │ │ ├── netstandard2.0.meta │ │ │ └── netstandard2.0 │ │ │ ├── Microsoft.Windows.MixedReality.DotNetWinRT.dll │ │ │ └── Microsoft.Windows.MixedReality.DotNetWinRT.dll.meta │ ├── System.Drawing.Primitives.4.3.0.meta │ └── System.Drawing.Primitives.4.3.0 │ │ ├── .signature.p7s │ │ ├── System.Drawing.Primitives.4.3.0.nupkg │ │ ├── System.Drawing.Primitives.4.3.0.nupkg.meta │ │ ├── ThirdPartyNotices.txt │ │ ├── ThirdPartyNotices.txt.meta │ │ ├── dotnet_library_license.txt │ │ ├── dotnet_library_license.txt.meta │ │ ├── lib.meta │ │ └── lib │ │ ├── net45.meta │ │ └── net45 │ │ ├── System.Drawing.Primitives.dll │ │ └── System.Drawing.Primitives.dll.meta ├── Scenes.meta ├── Scenes │ ├── LabAssistVision.unity │ └── LabAssistVision.unity.meta ├── TextMesh Pro.meta ├── TextMesh Pro │ ├── Documentation.meta │ ├── Documentation │ │ ├── TextMesh Pro User Guide 2016.pdf │ │ └── TextMesh Pro User Guide 2016.pdf.meta │ ├── Fonts.meta │ ├── Fonts │ │ ├── LiberationSans - OFL.txt │ │ ├── LiberationSans - OFL.txt.meta │ │ ├── LiberationSans.ttf │ │ └── LiberationSans.ttf.meta │ ├── Resources.meta │ ├── Resources │ │ ├── Fonts & Materials.meta │ │ ├── Fonts & Materials │ │ │ ├── LiberationSans SDF - Drop Shadow.mat │ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta │ │ │ ├── LiberationSans SDF - Fallback.asset │ │ │ ├── LiberationSans SDF - Fallback.asset.meta │ │ │ ├── LiberationSans SDF - Outline.mat │ │ │ ├── LiberationSans SDF - Outline.mat.meta │ │ │ ├── LiberationSans SDF.asset │ │ │ └── LiberationSans SDF.asset.meta │ │ ├── LineBreaking Following Characters.txt │ │ ├── LineBreaking Following Characters.txt.meta │ │ ├── LineBreaking Leading Characters.txt │ │ ├── LineBreaking Leading Characters.txt.meta │ │ ├── Sprite Assets.meta │ │ ├── Sprite Assets │ │ │ ├── EmojiOne.asset │ │ │ └── EmojiOne.asset.meta │ │ ├── Style Sheets.meta │ │ ├── Style Sheets │ │ │ ├── Default Style Sheet.asset │ │ │ └── Default Style Sheet.asset.meta │ │ ├── TMP Settings.asset │ │ └── TMP Settings.asset.meta │ ├── Shaders.meta │ ├── Shaders │ │ ├── TMP_Bitmap-Custom-Atlas.shader │ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta │ │ ├── TMP_Bitmap-Mobile.shader │ │ ├── TMP_Bitmap-Mobile.shader.meta │ │ ├── TMP_Bitmap.shader │ │ ├── TMP_Bitmap.shader.meta │ │ ├── TMP_SDF Overlay.shader │ │ ├── TMP_SDF Overlay.shader.meta │ │ ├── TMP_SDF SSD.shader │ │ ├── TMP_SDF SSD.shader.meta │ │ ├── TMP_SDF-Mobile Masking.shader │ │ ├── TMP_SDF-Mobile Masking.shader.meta │ │ ├── TMP_SDF-Mobile Overlay.shader │ │ ├── TMP_SDF-Mobile Overlay.shader.meta │ │ ├── TMP_SDF-Mobile SSD.shader │ │ ├── TMP_SDF-Mobile SSD.shader.meta │ │ ├── TMP_SDF-Mobile.shader │ │ ├── TMP_SDF-Mobile.shader.meta │ │ ├── TMP_SDF-Surface-Mobile.shader │ │ ├── TMP_SDF-Surface-Mobile.shader.meta │ │ ├── TMP_SDF-Surface.shader │ │ ├── TMP_SDF-Surface.shader.meta │ │ ├── TMP_SDF.shader │ │ ├── TMP_SDF.shader.meta │ │ ├── TMP_Sprite.shader │ │ ├── TMP_Sprite.shader.meta │ │ ├── TMPro.cginc │ │ ├── TMPro.cginc.meta │ │ ├── TMPro_Mobile.cginc │ │ ├── TMPro_Mobile.cginc.meta │ │ ├── TMPro_Properties.cginc │ │ ├── TMPro_Properties.cginc.meta │ │ ├── TMPro_Surface.cginc │ │ └── TMPro_Surface.cginc.meta │ ├── Sprites.meta │ └── Sprites │ │ ├── EmojiOne Attribution.txt │ │ ├── EmojiOne Attribution.txt.meta │ │ ├── EmojiOne.json │ │ ├── EmojiOne.json.meta │ │ ├── EmojiOne.png │ │ └── EmojiOne.png.meta ├── WSATestCertificate.pfx ├── WSATestCertificate.pfx.meta ├── csc.rsp ├── csc.rsp.meta ├── gmcs.rsp ├── gmcs.rsp.meta ├── packages.config ├── packages.config.meta ├── smcs.rsp └── smcs.rsp.meta ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── BurstAotSettings_StandaloneWindows.json ├── BurstAotSettings_WSAPlayer.json ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset └── XRSettings.asset ├── README.md ├── developer-console.png └── teaser.gif /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Asset meta data should only be ignored when the corresponding asset is also ignored 14 | !/[Aa]ssets/**/*.meta 15 | 16 | # Uncomment this line if you wish to ignore the asset store tools plugin 17 | # /[Aa]ssets/AssetStoreTools* 18 | 19 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Gradle cache directory 26 | .gradle/ 27 | 28 | # Autogenerated VS/MD/Consulo solution and project files 29 | ExportedObj/ 30 | .consulo/ 31 | *.csproj 32 | *.unityproj 33 | *.sln 34 | *.suo 35 | *.tmp 36 | *.user 37 | *.userprefs 38 | *.pidb 39 | *.booproj 40 | *.svd 41 | *.pdb 42 | *.mdb 43 | *.opendb 44 | *.VC.db 45 | 46 | # Unity3D generated meta files 47 | *.pidb.meta 48 | *.pdb.meta 49 | *.mdb.meta 50 | 51 | # Unity3D generated file on crash reports 52 | sysinfo.txt 53 | 54 | # Builds 55 | *.apk 56 | *.unitypackage 57 | 58 | # Crashlytics generated file 59 | crashlytics-build.properties 60 | 61 | # OpenCVForUnity (https://assetstore.unity.com/packages/tools/integration/opencv-for-unity-21088) 62 | /[Aa]ssets/OpenCVForUnity/ 63 | 64 | -------------------------------------------------------------------------------- /Assets/LabAssistVision.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ebf7a5d9c82ee54cacccbab25c33d76 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4992b3b38a4e4df0975e4436fc8585f1 3 | timeCreated: 1608554779 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/CameraExtrinsic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d574b5cc9ab4b87ab5585473e94fdf9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/CameraFrame.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1570e3c6eb664070b55289b70fd39a6c 3 | timeCreated: 1608504063 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/CameraIntrinsic.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68bd267b6b78453b81b62579c7b3f811 3 | timeCreated: 1611609664 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/CameraParameters.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a31cf0f96bc4029a1b9ca424cf4f951 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/Device.cs: -------------------------------------------------------------------------------- 1 | namespace LabAssistVision 2 | { 3 | public enum Device 4 | { 5 | /// 6 | /// HoloLens 2 platform 7 | /// 8 | HoloLens2 = 2, 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/Device.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b95818b9df644169e1064c46d317bef 3 | timeCreated: 1608554811 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/DummyCamera.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | 4 | namespace LabAssistVision 5 | { 6 | /// 7 | /// Camera not providing any information. All tasks will always succeed. The and event are never invoked. 8 | /// 9 | public class DummyCamera : ICamera 10 | { 11 | public DummyCamera(int frameWidth, int frameHeight) 12 | { 13 | FrameWidth = frameWidth; 14 | this.FrameHeight = frameHeight; 15 | } 16 | 17 | public event EventHandler FrameArrived; 18 | public event EventHandler CameraInitialized; 19 | 20 | public int FrameWidth { get; } 21 | public int FrameHeight { get; } 22 | 23 | public async Task Initialize() 24 | { 25 | return await Task.FromResult(true); 26 | } 27 | 28 | public async Task StartCapture() 29 | { 30 | return await Task.FromResult(true); 31 | } 32 | 33 | public async Task StopCapture() 34 | { 35 | return await Task.FromResult(true); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/DummyCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1ad35873ef514244a70e4f341d6f009 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/ICamera.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using JetBrains.Annotations; 7 | 8 | namespace LabAssistVision 9 | { 10 | /// 11 | /// A camera providing video frames. The resolution (width and height) are not initialized until the camera is started. 12 | /// Listen to the event for resolution and color format changes. Ensure to call before 13 | /// . The event is invoked on each frame providing the . 14 | /// 15 | interface ICamera 16 | { 17 | /// 18 | /// The width of the initialized camera. Value is not set until is complete. 19 | /// 20 | int FrameWidth { get; } 21 | 22 | /// 23 | /// The height of the initialized camera. Value is not set until is complete. 24 | /// 25 | int FrameHeight { get; } 26 | 27 | /// 28 | /// Initializes the camera including and . 29 | /// 30 | Task Initialize(); 31 | 32 | /// 33 | /// Starts to capture frames, the frames can be received listening to the event. 34 | /// 35 | Task StartCapture(); 36 | 37 | /// 38 | /// Stops capturing frames. 39 | /// 40 | Task StopCapture(); 41 | 42 | /// 43 | /// Invoked on each frame that is captured. 44 | /// 45 | event EventHandler FrameArrived; 46 | 47 | /// 48 | /// Invoked after the camera is initialized using . 49 | /// 50 | event EventHandler CameraInitialized; 51 | } 52 | 53 | public class FrameArrivedEventArgs 54 | { 55 | [NotNull] public CameraFrame Frame; 56 | 57 | public FrameArrivedEventArgs([NotNull] CameraFrame frame) 58 | { 59 | Frame = frame; 60 | } 61 | } 62 | public class CameraInitializedEventArgs 63 | { 64 | public int FrameWidth; 65 | public int FrameHeight; 66 | public ColorFormat Format; 67 | 68 | public CameraInitializedEventArgs(int width, int height, ColorFormat format) 69 | { 70 | FrameWidth = width; 71 | FrameHeight = height; 72 | Format = format; 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/ICamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a907e5378e2747bb96a3a804287dad4a 3 | timeCreated: 1608554811 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/LocatableCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0001366330664b248cb9d547e80a8707 3 | timeCreated: 1608554826 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Camera/MonoCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df59a01b09ac02c4ea515adbeca8f4fa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Controller.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ceb8851afeb2d140b6431f88fd9bd1c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6e6c360a9004290b5a6f35384e1337c 3 | timeCreated: 1608554766 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07aac3075588402bbda65d60371aff74 3 | timeCreated: 1608554804 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a62026e56346d3a47affe66532d2fd7a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01867651a8765da40b16f1ab3469c1cf 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos/BoundingBox.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace LabAssistVision 8 | { 9 | [Serializable] 10 | public class BoundingBox 11 | { 12 | public BoundingBox(float left, float top, float width, float height) 13 | { 14 | this.left = left; 15 | this.top = top; 16 | this.width = width; 17 | this.height = height; 18 | } 19 | 20 | public double left; 21 | 22 | public double top; 23 | 24 | public double width; 25 | 26 | public double height; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos/BoundingBox.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b6a1ffde72746cb8c6d6d081c455a4c 3 | timeCreated: 1606431801 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos/ImagePredictionResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace LabAssistVision 4 | { 5 | [Serializable] 6 | public class ImagePredictionResult 7 | { 8 | public string id; 9 | 10 | public string project; 11 | 12 | public string iteration; 13 | 14 | public DateTimeOffset created; 15 | 16 | public Prediction[] predictions; 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos/ImagePredictionResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f0bb533a73011884b8b402a419cfbac8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos/Prediction.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace LabAssistVision 4 | { 5 | [Serializable] 6 | public class Prediction 7 | { 8 | public double probability; 9 | 10 | public string tagId; 11 | 12 | public string tagName; 13 | 14 | public BoundingBox boundingBox; 15 | 16 | public string tagType; 17 | 18 | public Prediction(float max, string label, BoundingBox extractedBoxesBox) 19 | { 20 | probability = max; 21 | tagName = label; 22 | boundingBox = extractedBoxesBox; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Dtos/Prediction.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 960b98f57cb225c4487f175dc2337400 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39845a8d8f2f1c444beb1e0d939dc31e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Models/labels.txt: -------------------------------------------------------------------------------- 1 | Aqua 2 | LiChrosolv 3 | Methanol 4 | NaCl 5 | Potassium 6 | Syringe 1ml 7 | Syringe 6ml 8 | TC-ELU-5 9 | Vial -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Models/labels.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 718dfae824a1efc4ab4f19d08b758654 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Models/model.onnx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/LabAssistVision/Detection/CustomVision/Models/model.onnx -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/CustomVision/Models/model.onnx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b217b72480fb274597f556d5e2ee290 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/IObjectDetector.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Threading.Tasks; 3 | using JetBrains.Annotations; 4 | 5 | namespace LabAssistVision 6 | { 7 | public interface IObjectDetector 8 | { 9 | [NotNull] 10 | Task> DetectAsync([NotNull] CameraFrame frame); 11 | } 12 | public enum DetectionStatus 13 | { 14 | Idle, 15 | Detecting 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Detection/IObjectDetector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 37a1796d2402429b8f614e754be13231 3 | timeCreated: 1608554818 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Experimental.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a735409dd27f457ebe283452259abf1b 3 | timeCreated: 1611611136 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Experimental/CamShiftTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eee8c450b3544b8aa55a535318d2604e 3 | timeCreated: 1610734192 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Experimental/CustomVisionLocal.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c1ab2c3324d64edd8ab7a8ad7a1b2166 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Experimental/WebcamTextureCamera.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bf23c16fa7e44fe8189e16f7091817f 3 | timeCreated: 1608585332 -------------------------------------------------------------------------------- /Assets/LabAssistVision/FPSDisplayManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 352f1a7fc94965b47adfe16bbc420930 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Label.cs: -------------------------------------------------------------------------------- 1 | using JetBrains.Annotations; 2 | using Microsoft.MixedReality.Toolkit.UI; 3 | using UnityEngine; 4 | using UnityEngine.Assertions; 5 | 6 | namespace LabAssistVision 7 | { 8 | public class Label : MonoBehaviour 9 | { 10 | /// 11 | /// The MRTK ToolTip to provide a label. 12 | /// 13 | // ReSharper disable once NotNullMemberIsNotInitialized 14 | [NotNull] public ToolTip tooltip; 15 | 16 | /// 17 | /// The used for the to change the color to blue. 18 | /// 19 | public Material blueMaterial; 20 | 21 | /// 22 | /// The used for the to change the color to green. 23 | /// 24 | public Material greenMaterial; 25 | 26 | /// 27 | /// The of the . 28 | /// 29 | public MeshRenderer meshRenderer; 30 | 31 | /// 32 | /// Indicates the current color. true indicates green, false blue. 33 | /// 34 | private bool _color; 35 | 36 | private void Start() 37 | { 38 | Assert.IsNotNull(tooltip); 39 | Assert.IsNotNull(blueMaterial); 40 | Assert.IsNotNull(greenMaterial); 41 | Assert.IsNotNull(meshRenderer); 42 | } 43 | 44 | public void UpdatePosition(Vector3 position) 45 | { 46 | transform.position = position; 47 | } 48 | 49 | public void UpdateText(string text) 50 | { 51 | tooltip.ToolTipText = text; 52 | } 53 | 54 | /// 55 | /// Change the color of the label between green and blue. 56 | /// 57 | public void ChangeColor() 58 | { 59 | _color = !_color; 60 | meshRenderer.sharedMaterial = _color ? greenMaterial : blueMaterial; 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Label.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ca08ca7496841758a1803442e8e6b2c 3 | timeCreated: 1609234221 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38d94cdcaa22af84b93ed145e2a01e85 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Materials/GrayscaleDisplay.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 360eb0dd8e113794995647e7096857ea 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Materials/HolographicBackPlate.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 21d5adf5e4f07004d957ae6e68564407 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Materials/HolographicBackPlateGreen.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96feca303c6418f478c15330906f2bcb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Materials/RGBDisplay.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5022e2074e6b39248a4d5b7bf858a391 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 07a2fe583b6a6794eb52a9fb514b1d99 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/CvTrackedObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using OpenCVForUnity.CoreModule; 4 | using OpenCVForUnity.TrackingModule; 5 | 6 | namespace LabAssistVision 7 | { 8 | /// 9 | /// Represents an object tracked using an OpenCV Tracker. 10 | /// Keeps track of the tracked object, tracker and checks if updating the tracker failed or the rectangle did not move. 11 | /// 12 | public class CvTrackedObject 13 | { 14 | [NotNull] private TrackedObject _trackedObject; 15 | [NotNull] private readonly Tracker _tracker; 16 | [NotNull] private Rect2d _lastRect; 17 | private int _stale; 18 | private readonly int staleThreshold = 200; 19 | private bool _update = true; 20 | 21 | public CvTrackedObject([NotNull] TrackedObject trackedObject, [NotNull] Tracker tracker) 22 | { 23 | if (trackedObject == null) throw new ArgumentNullException(nameof(trackedObject)); 24 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 25 | _lastRect = new Rect2d(); 26 | _trackedObject = trackedObject; 27 | _tracker = tracker; 28 | } 29 | 30 | public bool IsOutdated() 31 | { 32 | if (!_update) return true; 33 | //if (_stale >= staleThreshold) return true; // TODO: Reenable stale capability 34 | _stale++; 35 | if (_lastRect != _trackedObject.Rect) _stale = 0; 36 | _lastRect = _trackedObject.Rect.clone(); 37 | return false; 38 | } 39 | 40 | public void Update([NotNull] CameraFrame frame) 41 | { 42 | if (frame == null) throw new ArgumentNullException(nameof(frame)); 43 | Rect2d rect = UpdateTracker(frame); 44 | if (rect == null) 45 | { 46 | _update = false; 47 | return; 48 | } 49 | _update = true; 50 | _trackedObject = new TrackedObject(_trackedObject, rect, frame); 51 | } 52 | 53 | [CanBeNull] 54 | private Rect2d UpdateTracker([NotNull] CameraFrame frame) 55 | { 56 | Mat image = frame.Mat; 57 | Rect2d rect = new Rect2d(); 58 | bool update = _tracker.update(image, rect); 59 | return update ? rect : null; 60 | } 61 | 62 | [NotNull] 63 | public string GetLabel() 64 | { 65 | return _trackedObject.Label; 66 | } 67 | 68 | [NotNull] 69 | public TrackedObject GetTrackedObject() 70 | { 71 | return _trackedObject; 72 | } 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/CvTrackedObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8227e97d72c346648669a71603269eae 3 | timeCreated: 1608733643 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/DetectedObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using OpenCVForUnity.CoreModule; 4 | 5 | namespace LabAssistVision 6 | { 7 | /// 8 | /// Represents a detected object. 9 | /// 10 | public class DetectedObject 11 | { 12 | [NotNull] public Rect2d Rect; 13 | [NotNull] public string Label; 14 | public double Probability; 15 | [NotNull] public CameraFrame Frame; 16 | 17 | public DetectedObject([NotNull] Rect2d rect, [NotNull] string label, double probability, [NotNull] CameraFrame frame) 18 | { 19 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 20 | if (label == null) throw new ArgumentNullException(nameof(label)); 21 | if (frame == null) throw new ArgumentNullException(nameof(frame)); 22 | Rect = rect; 23 | Label = label; 24 | Probability = probability; 25 | Frame = frame; 26 | } 27 | 28 | public DetectedObject([NotNull] DetectedObject detectedObject) 29 | { 30 | Rect = detectedObject.Rect.clone(); 31 | Label = detectedObject.Label; 32 | Probability = detectedObject.Probability; 33 | Frame = detectedObject.Frame; 34 | } 35 | 36 | public override string ToString() 37 | { 38 | return $"{GetType().Name}: [Label: {Label}], [Probability: {Probability}], [Rect: x:{Rect.x}, y:{Rect.y}, width:{Rect.width}, height:{Rect.height}]"; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/DetectedObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0740173dc494640aee7e4829a77feff 3 | timeCreated: 1608751850 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/SpatialTrackedObject.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using UnityEngine; 4 | 5 | namespace LabAssistVision 6 | { 7 | /// 8 | /// Represents a tracked object reduced to its label and position in the world. 9 | /// 10 | public class SpatialTrackedObject 11 | { 12 | [NotNull] public string Label; 13 | public Vector3 Position; 14 | 15 | public SpatialTrackedObject([NotNull] string label, Vector3 position) 16 | { 17 | if (position == null) throw new ArgumentNullException(nameof(position)); 18 | if (label == null) throw new ArgumentNullException(nameof(label)); 19 | Label = label; 20 | Position = position; 21 | } 22 | 23 | public SpatialTrackedObject([NotNull] TrackedObject trackedObject, Vector3 position) 24 | { 25 | if (trackedObject == null) throw new ArgumentNullException(nameof(trackedObject)); 26 | if (position == null) throw new ArgumentNullException(nameof(position)); 27 | Label = trackedObject.Label; 28 | Position = position; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/SpatialTrackedObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc57fc308b024ebdaa4d2cf2d6eaccb5 3 | timeCreated: 1608733478 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Models/TrackedObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9779bf34ffd541b891f1d4a22bcb6baf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 25fa3890dfa4f6541a61713df451fc73 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Prefabs/Tooltip.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7491863cc84e6be4f938962344a1a3d7 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cdddbf4b91cbef849b094b3b2b3c1ced 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Shaders/Grayscale_MRTK.shader: -------------------------------------------------------------------------------- 1 | /* 2 | * Grayscale.shader 3 | * HoloLensARToolKit 4 | * 5 | * This file is a part of HoloLensARToolKit. 6 | * 7 | * HoloLensARToolKit is free software: you can redistribute it and/or modify 8 | * it under the terms of the GNU Lesser General Public License as published by 9 | * the Free Software Foundation, either version 3 of the License, or 10 | * (at your option) any later version. 11 | * 12 | * HoloLensARToolKit is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | * GNU Lesser General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public License 18 | * along with HoloLensARToolKit. If not, see . 19 | * 20 | * Copyright 2020 Long Qian 21 | * 22 | * Author: Long Qian 23 | * Contact: lqian8@jhu.edu 24 | * 25 | */ 26 | 27 | /* 28 | * Modified by cookieofcode (cookieofcode@gmail.com) 29 | * 30 | * - Update to support Single Pass Instanced Rendering 31 | */ 32 | 33 | 34 | Shader "Unlit/GreyScale_MRTK" { 35 | Properties { 36 | _MainTex ("Texture", 2D) = "black" { } 37 | } 38 | SubShader { 39 | Pass { 40 | 41 | CGPROGRAM 42 | #pragma vertex vert 43 | #pragma fragment frag 44 | #pragma multi_compile_instancing 45 | #include "UnityCG.cginc" 46 | 47 | struct appdata 48 | { 49 | float4 vertex : POSITION; 50 | float2 texcoord : TEXCOORD0; 51 | 52 | UNITY_VERTEX_INPUT_INSTANCE_ID 53 | }; 54 | 55 | sampler2D _MainTex; 56 | 57 | struct v2f { 58 | float4 pos : SV_POSITION; 59 | float2 uv : TEXCOORD0; 60 | 61 | UNITY_VERTEX_OUTPUT_STEREO 62 | }; 63 | 64 | float4 _MainTex_ST; 65 | 66 | v2f vert (appdata v) 67 | { 68 | v2f o; 69 | 70 | UNITY_SETUP_INSTANCE_ID(v); 71 | UNITY_INITIALIZE_OUTPUT(v2f, o); 72 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 73 | 74 | o.pos = UnityObjectToClipPos (v.vertex); 75 | o.uv = TRANSFORM_TEX (v.texcoord, _MainTex); 76 | return o; 77 | } 78 | 79 | fixed4 frag (v2f i) : COLOR 80 | { 81 | float texcol = tex2D(_MainTex, i.uv).a; 82 | return fixed4(texcol, texcol, texcol, 1.0f); 83 | } 84 | 85 | ENDCG 86 | 87 | } 88 | } 89 | Fallback "VertexLit" 90 | } 91 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Shaders/Grayscale_MRTK.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c95dded497f24a48b9ccbc6be66b190 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Shaders/YUV2RGB_NV12.shader: -------------------------------------------------------------------------------- 1 | // Adapted from https://github.com/microsoft/Windows-universal-samples/blob/1ad51db378ef34fb35078e3ddd4cf94cb717d6eb/Samples/HolographicFaceTracking/cpp/Content/Shaders/QuadPixelShaderNV12.hlsl 2 | Shader "Unlit/YUV2RGB_NV12" 3 | { 4 | Properties 5 | { 6 | luminanceChannel("Texture", 2D) = "black" {} 7 | chrominanceChannel("Texture", 2D) = "black" {} 8 | } 9 | SubShader 10 | { 11 | // No culling or depth 12 | Cull Off ZWrite Off ZTest Always 13 | 14 | Pass 15 | { 16 | CGPROGRAM 17 | #pragma vertex vert 18 | #pragma fragment frag 19 | 20 | #include "UnityCG.cginc" 21 | 22 | struct appdata 23 | { 24 | float4 vertex : POSITION; 25 | float2 uv : TEXCOORD0; 26 | 27 | UNITY_VERTEX_INPUT_INSTANCE_ID 28 | }; 29 | 30 | struct v2f 31 | { 32 | float4 pos : SV_POSITION; 33 | float2 texCoord : TEXCOORD0; 34 | 35 | UNITY_VERTEX_OUTPUT_STEREO 36 | }; 37 | 38 | v2f vert(appdata v) 39 | { 40 | v2f o; 41 | 42 | UNITY_SETUP_INSTANCE_ID(v); 43 | UNITY_INITIALIZE_OUTPUT(v2f, o); 44 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 45 | 46 | o.pos = UnityObjectToClipPos(v.vertex); 47 | o.texCoord = v.uv; 48 | return o; 49 | } 50 | struct PixelShaderInput 51 | { 52 | float4 pos : SV_POSITION; 53 | float2 texCoord : TEXCOORD0; 54 | }; 55 | sampler2D luminanceChannel : t0; 56 | sampler2D chrominanceChannel : t1; 57 | 58 | // from https://github.com/microsoft/Windows-universal-samples/blob/1ad51db378ef34fb35078e3ddd4cf94cb717d6eb/Samples/HolographicFaceTracking/cpp/Content/Shaders/QuadPixelShaderNV12.hlsl 59 | static const float3x3 YUVtoRGBCoeffMatrix = 60 | { 61 | 1.164383f, 1.164383f, 1.164383f, 62 | 0.000000f, -0.391762f, 2.017232f, 63 | 1.596027f, -0.812968f, 0.000000f 64 | }; 65 | 66 | // from https://github.com/microsoft/Windows-universal-samples/blob/1ad51db378ef34fb35078e3ddd4cf94cb717d6eb/Samples/HolographicFaceTracking/cpp/Content/Shaders/QuadPixelShaderNV12.hlsl 67 | float3 ConvertYUVtoRGB(float3 yuv) 68 | { 69 | // Derived from https://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx 70 | // Section: Converting 8-bit YUV to RGB888 71 | 72 | // These values are calculated from (16 / 255) and (128 / 255) 73 | yuv -= float3(0.062745f, 0.501960f, 0.501960f); 74 | yuv = mul(yuv, YUVtoRGBCoeffMatrix); 75 | 76 | return saturate(yuv); 77 | } 78 | 79 | float4 frag(v2f input) : SV_TARGET 80 | { 81 | float y = tex2D(luminanceChannel, input.texCoord); 82 | float2 uv = tex2D(chrominanceChannel, input.texCoord); 83 | 84 | return float4(ConvertYUVtoRGB(float3(y, uv)), 1.f); 85 | } 86 | ENDCG 87 | } 88 | } 89 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Shaders/YUV2RGB_NV12.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc0f9301db629694ea43debb1b84e28b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cf830fa789a26a4494b89744d8f7b75 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Textures/IridescentSpectrum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/LabAssistVision/Textures/IridescentSpectrum.png -------------------------------------------------------------------------------- /Assets/LabAssistVision/Textures/IridescentSpectrum.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63689d7f8e0dada45a2d3ed893a2c02f 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Textures/IridescentSpectrumGreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/LabAssistVision/Textures/IridescentSpectrumGreen.png -------------------------------------------------------------------------------- /Assets/LabAssistVision/Textures/IridescentSpectrumGreen.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f9a7218dc9edfbb48bc2ff8d08ae1e54 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 903906d1a07142d2bf05baf4ef3505f7 3 | timeCreated: 1608554771 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/BoostingTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | using UnityEngine; 5 | 6 | namespace LabAssistVision 7 | { 8 | /// 9 | /// 10 | /// 11 | public class BoostingTracker : CvTracker 12 | { 13 | public override TrackedObject Initialize(CameraFrame frame, Rect2d rect, string label) 14 | { 15 | if (frame.Format != ColorFormat.Grayscale) Debug.LogWarning("Boosting Tracker uses Grayscale"); 16 | return base.Initialize(frame, rect, label); 17 | } 18 | 19 | protected override Tracker CreateTracker() 20 | { 21 | TrackerBoosting tracker = TrackerBoosting.create(); 22 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 23 | return tracker; 24 | } 25 | 26 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 27 | { 28 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 29 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 30 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 31 | return tracker.init(mat, rect); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/BoostingTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e21c5345a3a940bab4064a6fc716333c 3 | timeCreated: 1609676872 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/CSRTTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | 5 | namespace LabAssistVision 6 | { 7 | /// 8 | /// 9 | /// 10 | public class CSRTTracker : CvTracker 11 | { 12 | public override TrackedObject Initialize(CameraFrame frame, Rect2d rect, string label) 13 | { 14 | if (frame.Format != ColorFormat.RGB) throw new ArgumentException("CSRT Tracker requires RGB format (OpenCVForUnity)"); 15 | return base.Initialize(frame, rect, label); 16 | } 17 | 18 | protected override Tracker CreateTracker() 19 | { 20 | TrackerCSRT tracker = TrackerCSRT.create(); 21 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 22 | return tracker; 23 | } 24 | 25 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 26 | { 27 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 28 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 29 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 30 | return tracker.init(mat, rect); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/CSRTTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85201d988dec8e74a899f17c2df2d46a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/CvTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df190d66e8a44fb5a3eccd88a6014021 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/IObjectTracker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using JetBrains.Annotations; 3 | using OpenCVForUnity.CoreModule; 4 | 5 | namespace LabAssistVision 6 | { 7 | public interface IObjectTracker 8 | { 9 | List Update([NotNull] CameraFrame frame); 10 | TrackedObject Initialize([NotNull] CameraFrame frame, [NotNull] Rect2d boundingBox, [NotNull] string label); 11 | void Reset(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/IObjectTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cd834af34f0e47f6984eb10560b9a73a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/KCFTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | 5 | namespace LabAssistVision 6 | { 7 | /// 8 | /// 9 | /// 10 | public class KCFTracker : CvTracker 11 | { 12 | public override TrackedObject Initialize(CameraFrame frame, Rect2d rect, string label) 13 | { 14 | if (frame.Format != ColorFormat.RGB) throw new ArgumentException("KCF Tracker requires RGB format (OpenCVForUnity)"); 15 | return base.Initialize(frame, rect, label); 16 | } 17 | 18 | protected override Tracker CreateTracker() 19 | { 20 | TrackerKCF tracker = TrackerKCF.create(); 21 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 22 | return tracker; 23 | } 24 | 25 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 26 | { 27 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 28 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 29 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 30 | return tracker.init(mat, rect); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/KCFTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8fadb9164914c8ab50422acb0091228 3 | timeCreated: 1609678528 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/MILTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | 5 | namespace LabAssistVision 6 | { 7 | /// 8 | /// 9 | /// 10 | public class MILTracker : CvTracker 11 | { 12 | protected override Tracker CreateTracker() 13 | { 14 | TrackerMIL tracker = TrackerMIL.create(); 15 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 16 | return tracker; 17 | } 18 | 19 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 20 | { 21 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 22 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 23 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 24 | bool initialized = tracker.init(mat, rect); 25 | return initialized; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/MILTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a313a284c73940e388640228a38adc85 3 | timeCreated: 1610726381 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/MedianFlowTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | using UnityEngine; 5 | 6 | namespace LabAssistVision 7 | { 8 | /// 9 | /// 10 | /// 11 | public class MedianFlowTracker : CvTracker 12 | { 13 | public override TrackedObject Initialize(CameraFrame frame, Rect2d rect, string label) 14 | { 15 | if (frame.Format != ColorFormat.Grayscale) Debug.LogWarning("Median Flow Tracker uses grayscale"); 16 | return base.Initialize(frame, rect, label); 17 | } 18 | protected override Tracker CreateTracker() 19 | { 20 | TrackerMedianFlow tracker = TrackerMedianFlow.create(); 21 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 22 | return tracker; 23 | } 24 | 25 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 26 | { 27 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 28 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 29 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 30 | return tracker.init(mat, rect); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/MedianFlowTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85d203dfa3b345999e746736d1c8a6c5 3 | timeCreated: 1609677423 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/MosseTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | using UnityEngine; 5 | 6 | namespace LabAssistVision 7 | { 8 | /// 9 | /// 10 | /// 11 | public class MosseTracker : CvTracker 12 | { 13 | 14 | public override TrackedObject Initialize(CameraFrame frame, Rect2d rect, string label) 15 | { 16 | if (frame.Format != ColorFormat.Grayscale) Debug.LogWarning("MOSSE tracker requires grayscale format"); 17 | return base.Initialize(frame, rect, label); 18 | } 19 | protected override Tracker CreateTracker() 20 | { 21 | TrackerMOSSE tracker = TrackerMOSSE.create(); 22 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 23 | return tracker; 24 | } 25 | 26 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 27 | { 28 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 29 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 30 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 31 | return tracker.init(mat, rect); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/MosseTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1d87a5012e01584e817177d37b02205 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/TLDTracker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using OpenCVForUnity.CoreModule; 3 | using OpenCVForUnity.TrackingModule; 4 | using UnityEngine; 5 | 6 | namespace LabAssistVision 7 | { 8 | /// 9 | /// 10 | /// 11 | public class TLDTracker : CvTracker 12 | { 13 | 14 | public override TrackedObject Initialize(CameraFrame frame, Rect2d rect, string label) 15 | { 16 | if (frame.Format != ColorFormat.Grayscale) Debug.LogWarning("TLD Tracker works with grayscale, but the configured color format is RGB"); 17 | return base.Initialize(frame, rect, label); 18 | } 19 | protected override Tracker CreateTracker() 20 | { 21 | TrackerTLD tracker = TrackerTLD.create(); 22 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 23 | return tracker; 24 | } 25 | 26 | protected override bool Initialize(Tracker tracker, Mat mat, Rect2d rect) 27 | { 28 | if (tracker == null) throw new ArgumentNullException(nameof(tracker)); 29 | if (mat == null) throw new ArgumentNullException(nameof(mat)); 30 | if (rect == null) throw new ArgumentNullException(nameof(rect)); 31 | return tracker.init(mat, rect); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Tracking/TLDTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58c11b3032ce3ef429a192cdf1671399 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48c41207cb42f004fbf040b61910cca9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/FPSUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e207cbb99344d9a499a0396229921d8d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/LogHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Threading; 4 | using UnityEngine; 5 | using Debug = UnityEngine.Debug; 6 | 7 | public class LogHandler : ILogHandler 8 | { 9 | public void LogFormat(LogType logType, UnityEngine.Object context, string format, params object[] args) 10 | { 11 | StackTrace stackTrace = new StackTrace(); 12 | StackFrame stackFrame = stackTrace.GetFrame(2); 13 | Type reflectedType = stackFrame.GetMethod().ReflectedType; 14 | if (reflectedType?.Name == "LoggerExtensions") // TODO: Check comparison 15 | { 16 | stackFrame = stackTrace.GetFrame(3); 17 | reflectedType = stackFrame.GetMethod().ReflectedType; 18 | } 19 | string className = reflectedType != null ? reflectedType.Name : "n/a"; 20 | int threadId = Thread.CurrentThread.ManagedThreadId; 21 | format = $"[{threadId}] ({className}) {format}"; 22 | 23 | Debug.unityLogger.logHandler.LogFormat(logType, context, format, args); 24 | } 25 | 26 | public void LogException(Exception exception, UnityEngine.Object context) 27 | { 28 | Debug.unityLogger.LogException(exception, context); 29 | } 30 | } 31 | 32 | public static class LoggerExtensions 33 | { 34 | public static void LogWarning(this Logger logger, string message) 35 | { 36 | logger.LogFormat(LogType.Warning, null, "{0}", message); 37 | } 38 | public static void LogError(this Logger logger, string message) 39 | { 40 | logger.LogFormat(LogType.Error, null, "{0}", message); 41 | } 42 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/LogHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccf11679f9904e6fb78d6ba8e2459133 3 | timeCreated: 1608633774 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/NumericsConversionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | // from https://docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/unity-xrdevice-advanced 8 | // Unity uses a left-handed coordinate system, while the Windows Perception APIs use right-handed coordinate systems. 9 | // To convert between these two conventions, you can use this helper. 10 | public static class NumericsConversionExtensions 11 | { 12 | public static UnityEngine.Vector2 ToUnity(this System.Numerics.Vector2 v) => new UnityEngine.Vector2(v.X, v.Y); 13 | public static UnityEngine.Vector3 ToUnity(this System.Numerics.Vector3 v) => new UnityEngine.Vector3(v.X, v.Y, -v.Z); 14 | public static UnityEngine.Quaternion ToUnity(this System.Numerics.Quaternion q) => new UnityEngine.Quaternion(-q.X, -q.Y, q.Z, q.W); 15 | public static UnityEngine.Matrix4x4 ToUnity(this System.Numerics.Matrix4x4 m) => new UnityEngine.Matrix4x4( 16 | new UnityEngine.Vector4(m.M11, m.M12, -m.M13, m.M14), 17 | new UnityEngine.Vector4(m.M21, m.M22, -m.M23, m.M24), 18 | new UnityEngine.Vector4(-m.M31, -m.M32, m.M33, -m.M34), 19 | new UnityEngine.Vector4(m.M41, m.M42, -m.M43, m.M44)); 20 | 21 | public static System.Numerics.Vector3 ToSystem(this UnityEngine.Vector3 v) => new System.Numerics.Vector3(v.x, v.y, -v.z); 22 | public static System.Numerics.Quaternion ToSystem(this UnityEngine.Quaternion q) => new System.Numerics.Quaternion(-q.x, -q.y, q.z, q.w); 23 | public static System.Numerics.Matrix4x4 ToSystem(this UnityEngine.Matrix4x4 m) => new System.Numerics.Matrix4x4( 24 | m.m00, m.m10, -m.m20, m.m30, 25 | m.m01, m.m11, -m.m21, m.m31, 26 | -m.m02, -m.m12, m.m22, -m.m32, 27 | m.m03, m.m13, -m.m23, m.m33); 28 | 29 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/NumericsConversionExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6f3c6e7d8d34cd18c5cf2f65f6107a5 3 | timeCreated: 1609689012 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 525041bad8f243109b877d4147a18dff 3 | timeCreated: 1611654787 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/AsyncUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 22ccd5bff8aa22946a8e3d3696bfa953 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/CoroutineRunner.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System; 5 | using System.Collections; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Text; 9 | using System.Threading.Tasks; 10 | using UnityEngine; 11 | 12 | namespace Microsoft.Unity 13 | { 14 | /// 15 | /// A helper class for running Unity Coroutines without having to inherit from . 16 | /// 17 | public class CoroutineRunner : MonoBehaviour 18 | { 19 | #region Member Variables 20 | static private CoroutineRunner instance; 21 | #endregion // Member Variables 22 | 23 | #region Internal Methods 24 | [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 25 | static private void Initialize() 26 | { 27 | if (instance == null) 28 | { 29 | instance = new GameObject(nameof(CoroutineRunner)).AddComponent(); 30 | DontDestroyOnLoad(instance.gameObject); 31 | } 32 | } 33 | #endregion // Internal Methods 34 | 35 | #region Public Methods 36 | /// 37 | /// Starts the coroutine stored in . 38 | /// 39 | /// 40 | /// The function to start. 41 | /// 42 | new static public void StartCoroutine(IEnumerator routine) 43 | { 44 | // Validate 45 | if (routine == null) throw new ArgumentNullException(nameof(routine)); 46 | 47 | // Pass to MonoBehaviour 48 | ((MonoBehaviour)instance).StartCoroutine(routine); 49 | } 50 | 51 | /// 52 | /// Stops the coroutine stored in . 53 | /// 54 | /// 55 | /// The function to stop. 56 | /// 57 | new static public void StopCoroutine(IEnumerator routine) 58 | { 59 | // Validate 60 | if (routine == null) throw new ArgumentNullException(nameof(routine)); 61 | 62 | // Pass to MonoBehaviour 63 | ((MonoBehaviour)instance).StopCoroutine(routine); 64 | } 65 | #endregion // Public Methods 66 | } 67 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/CoroutineRunner.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da2ac9f42d684972961a5de95a26d782 3 | timeCreated: 1608665371 -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Jared Bienz [MSFT] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e0ebc3d42828544b8bcc224ddfc07c8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/UnityDispatcher.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. All rights reserved. 2 | // Licensed under the MIT license. 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using UnityEngine; 7 | 8 | namespace LabAssistVision.ThreadUtils 9 | { 10 | /// 11 | /// A helper class for dispatching actions to run on various Unity threads. 12 | /// 13 | public class UnityDispatcher : MonoBehaviour 14 | { 15 | #region Member Variables 16 | static private UnityDispatcher instance; 17 | static private Queue queue = new Queue(8); 18 | static private volatile bool queued = false; 19 | #endregion // Member Variables 20 | 21 | #region Internal Methods 22 | [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 23 | static private void Initialize() 24 | { 25 | lock (queue) 26 | { 27 | if (instance == null) 28 | { 29 | instance = new GameObject("Dispatcher").AddComponent(); 30 | DontDestroyOnLoad(instance.gameObject); 31 | } 32 | } 33 | } 34 | #endregion // Internal Methods 35 | 36 | #region Unity Overrides 37 | protected virtual void Update() 38 | { 39 | // Action placeholder 40 | Action action = null; 41 | 42 | // Do this as long as there's something in the queue 43 | while (queued) 44 | { 45 | // Lock only long enough to take an item 46 | lock (queue) 47 | { 48 | // Get the next action 49 | action = queue.Dequeue(); 50 | 51 | // Have we exhausted the queue? 52 | if (queue.Count == 0) { queued = false; } 53 | } 54 | 55 | // Execute the action outside of the lock 56 | action(); 57 | } 58 | } 59 | #endregion // Unity Overrides 60 | 61 | #region Public Methods 62 | /// 63 | /// Schedules the specified action to be run on Unity's main thread. 64 | /// 65 | /// 66 | /// The action to run. 67 | /// 68 | static public void InvokeOnAppThread(Action action) 69 | { 70 | // Validate 71 | if (action == null) throw new ArgumentNullException(nameof(action)); 72 | 73 | // Lock to be thread-safe 74 | lock (queue) 75 | { 76 | // Initialize the action 77 | queue.Enqueue(action); 78 | 79 | // Action is in the queue 80 | queued = true; 81 | } 82 | } 83 | #endregion // Public Methods 84 | } 85 | 86 | // #endif // Not using UWP-specific version anymore 87 | } -------------------------------------------------------------------------------- /Assets/LabAssistVision/Utils/ThreadUtils/UnityDispatcher.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e8a2138c15830142919c5f8068b2d72 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/LabAssistVision/VideoDisplayManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3af2ddc2ae7d475c9dd1c06a3c9eb509 3 | timeCreated: 1607028684 -------------------------------------------------------------------------------- /Assets/LabAssistVision/VisualizationManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 718dce662dd4452087588a038279c096 3 | timeCreated: 1608482259 -------------------------------------------------------------------------------- /Assets/MRTK.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59b338b437d26ba4e81566179c8da655 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc0b112b929408345b9ec1d23cd3e1de 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/ChannelPacker.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 72ba6d7b37f51174bb3c7be2acc8fb0d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/DepthBufferPostProcess.shader: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. 2 | // Licensed under the MIT License. 3 | 4 | Shader "Mixed Reality Toolkit/Depth Buffer Viewer" 5 | { 6 | Properties 7 | { 8 | _DepthTex("Texture", 2D) = "black" {} 9 | _MainTex("Base (RGB)", 2D) = "green" {} 10 | } 11 | 12 | SubShader 13 | { 14 | Pass 15 | { 16 | CGPROGRAM 17 | #pragma vertex vert_img 18 | #pragma fragment frag 19 | 20 | #include "UnityCG.cginc" 21 | 22 | uniform sampler2D _MainTex; 23 | sampler2D _DepthTex; 24 | 25 | float4 frag(v2f_img i) : COLOR 26 | { 27 | return Linear01Depth(SAMPLE_DEPTH_TEXTURE(_DepthTex, i.uv)); 28 | } 29 | ENDCG 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/DepthBufferPostProcess.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e3074f33703cbb4186e9b6c2c958fda 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/InstancedColored.shader: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. 2 | // Licensed under the MIT License. 3 | 4 | Shader "Hidden/Instanced-Colored" 5 | { 6 | Properties 7 | { 8 | _Color("Color", Color) = (1.0, 1.0, 1.0, 1.0) 9 | _ZWrite("ZWrite", Int) = 1.0 // On 10 | [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest("ZTest", Int) = 4.0 // LEqual 11 | [Enum(UnityEngine.Rendering.CullMode)] _Cull("Cull", Int) = 0.0 // Off 12 | } 13 | 14 | SubShader 15 | { 16 | Pass 17 | { 18 | Name "Main" 19 | Tags{ "RenderType" = "Opaque" } 20 | ZWrite[_ZWrite] 21 | ZTest[_ZTest] 22 | Cull[_Cull] 23 | 24 | CGPROGRAM 25 | 26 | #pragma vertex vert 27 | #pragma fragment frag 28 | 29 | #pragma multi_compile_instancing 30 | 31 | #include "UnityCG.cginc" 32 | 33 | struct appdata_t 34 | { 35 | fixed4 vertex : POSITION; 36 | UNITY_VERTEX_INPUT_INSTANCE_ID 37 | }; 38 | 39 | struct v2f 40 | { 41 | fixed4 vertex : SV_POSITION; 42 | fixed4 color : COLOR0; 43 | UNITY_VERTEX_OUTPUT_STEREO 44 | }; 45 | 46 | float4x4 _ParentLocalToWorldMatrix; 47 | 48 | UNITY_INSTANCING_BUFFER_START(Props) 49 | UNITY_DEFINE_INSTANCED_PROP(float4, _Color) 50 | UNITY_INSTANCING_BUFFER_END(Props) 51 | 52 | v2f vert(appdata_t v) 53 | { 54 | v2f o; 55 | UNITY_SETUP_INSTANCE_ID(v); 56 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 57 | o.vertex = mul(UNITY_MATRIX_VP, mul(_ParentLocalToWorldMatrix, mul(unity_ObjectToWorld, float4(v.vertex.xyz, 1.0)))); 58 | o.color = UNITY_ACCESS_INSTANCED_PROP(Props, _Color); 59 | 60 | return o; 61 | } 62 | 63 | fixed4 frag(v2f i) : SV_Target 64 | { 65 | return i.color; 66 | } 67 | 68 | ENDCG 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/InstancedColored.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d199a2ca60343bb49ad9a41ddb45a083 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/InvisibleShader.shader: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. 2 | // Licensed under the MIT License. 3 | 4 | Shader "Mixed Reality Toolkit/InvisibleShader" { 5 | 6 | Subshader 7 | { 8 | Pass 9 | { 10 | GLSLPROGRAM 11 | #ifdef VERTEX 12 | void main() {} 13 | #endif 14 | 15 | #ifdef FRAGMENT 16 | void main() {} 17 | #endif 18 | ENDGLSL 19 | } 20 | } 21 | 22 | Subshader 23 | { 24 | Pass 25 | { 26 | CGPROGRAM 27 | #pragma vertex vert 28 | #pragma fragment frag 29 | 30 | #include "UnityCG.cginc" 31 | 32 | struct v2f 33 | { 34 | fixed4 position : SV_POSITION; 35 | UNITY_VERTEX_OUTPUT_STEREO 36 | }; 37 | 38 | v2f vert(appdata_base v) 39 | { 40 | v2f o; 41 | UNITY_SETUP_INSTANCE_ID(v); 42 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); 43 | o.position = fixed4(0,0,0,0); 44 | return o; 45 | } 46 | 47 | fixed4 frag() : COLOR 48 | { 49 | return fixed4(0,0,0,0); 50 | } 51 | ENDCG 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/InvisibleShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 54ea9f30be414d86a7260eceb330c449 3 | timeCreated: 1510009044 4 | licenseType: Free 5 | ShaderImporter: 6 | externalObjects: {} 7 | defaultTextures: [] 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MRTK.Shaders.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/MRTK/Shaders/MRTK.Shaders.sentinel -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MRTK.Shaders.sentinel.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05852dd420bb9ec4cb7318bfa529d37c 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MRTK_Wireframe.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c1653eb4e20b76499141de7bc57c063 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc: -------------------------------------------------------------------------------- 1 | // Copyright (c) Microsoft Corporation. 2 | // Licensed under the MIT License. 3 | 4 | #ifndef MRTK_SHADER_UTILS 5 | #define MRTK_SHADER_UTILS 6 | 7 | #if defined(_CLIPPING_PLANE) 8 | inline float PointVsPlane(float3 worldPosition, float4 plane) 9 | { 10 | float3 planePosition = plane.xyz * plane.w; 11 | return dot(worldPosition - planePosition, plane.xyz); 12 | } 13 | #endif 14 | 15 | #if defined(_CLIPPING_SPHERE) 16 | inline float PointVsSphere(float3 worldPosition, float4 sphere) 17 | { 18 | return distance(worldPosition, sphere.xyz) - sphere.w; 19 | } 20 | #endif 21 | 22 | #if defined(_CLIPPING_BOX) 23 | inline float PointVsBox(float3 worldPosition, float3 boxSize, float4x4 boxInverseTransform) 24 | { 25 | float3 distance = abs(mul(boxInverseTransform, float4(worldPosition, 1.0))) - boxSize; 26 | return length(max(distance, 0.0)) + min(max(distance.x, max(distance.y, distance.z)), 0.0); 27 | } 28 | #endif 29 | 30 | 31 | #endif -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MixedRealityShaderUtils.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfab24eea71ce3745be340d7a24fe8eb 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MixedRealityStandard.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5bdea20278144b11916d77503ba1467a 3 | timeCreated: 1519154700 4 | licenseType: Pro 5 | ShaderImporter: 6 | externalObjects: {} 7 | defaultTextures: [] 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/MixedRealityTextMeshPro.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c504b73bf66872479cd1215fb5ce0fe 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MRTK/Shaders/Text3DShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80c006b91733f1a4991c49af89321ecd 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2151ea150fd7faf48a7c8659d9c18cea 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2afc682101a261641801db2525fc85d9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityCameraProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a4a1c93114e9437cb75d8b3ee4e0e1ba, type: 3} 13 | m_Name: LabAssistVisionMixedRealityCameraProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | settingsConfigurations: 17 | - componentType: 18 | reference: Microsoft.MixedReality.Toolkit.WindowsMixedReality.WindowsMixedRealityCameraSettings, 19 | Microsoft.MixedReality.Toolkit.Providers.WindowsMixedReality 20 | componentName: Windows Mixed Reality Camera Settings 21 | priority: 0 22 | runtimePlatform: 8 23 | settingsProfile: {fileID: 11400000, guid: b8be5b71c8e0a254c83b691d62a79ff5, type: 2} 24 | nearClipPlaneOpaqueDisplay: 0.1 25 | farClipPlaneOpaqueDisplay: 1000 26 | cameraClearFlagsOpaqueDisplay: 2 27 | backgroundColorOpaqueDisplay: {r: 0, g: 0, b: 0, a: 1} 28 | opaqueQualityLevel: 0 29 | nearClipPlaneTransparentDisplay: 0.1 30 | farClipPlaneTransparentDisplay: 50 31 | cameraClearFlagsTransparentDisplay: 2 32 | backgroundColorTransparentDisplay: {r: 0, g: 0, b: 0, a: 0} 33 | transparentQualityLevel: 0 34 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityCameraProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a011c1793f625ea4194f25272a8a2b5f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityDiagnosticsProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 8c2d00f2d26cc124caed106ffbfe3f06, type: 3} 13 | m_Name: LabAssistVisionMixedRealityDiagnosticsProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | showDiagnostics: 1 17 | showProfiler: 1 18 | showFrameInfo: 1 19 | showMemoryStats: 1 20 | frameSampleRate: 0.1 21 | windowAnchor: 7 22 | windowOffset: {x: 0.1, y: 0.1} 23 | windowScale: 1 24 | windowFollowSpeed: 5 25 | defaultInstancedMaterial: {fileID: 2100000, guid: 5b6fc83077d74fd4ca4c675623942a3e, 26 | type: 2} 27 | showProfilerDuringMRC: 0 28 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityDiagnosticsProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3833de0bf328f50479611ef1f57d6559 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityHandTrackingProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 8275efdbe76bdff49a97a8e82fba118d, type: 3} 13 | m_Name: LabAssistVisionMixedRealityHandTrackingProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | jointPrefab: {fileID: 0} 17 | palmPrefab: {fileID: 0} 18 | fingertipPrefab: {fileID: 0} 19 | handMeshPrefab: {fileID: 0} 20 | handMeshVisualizationModes: 0 21 | handJointVisualizationModes: 0 22 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityHandTrackingProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45fc1910e2ae1e8449a02a3ac91734f7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityInputSystemProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 793e29b3ba1ea8843acf9ea2a643f6d1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityPointerProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: db393d206eab4604ab74278cb6cda355, type: 3} 13 | m_Name: LabAssistVisionMixedRealityPointerProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | pointingExtent: 10 17 | pointingRaycastLayerMasks: 18 | - serializedVersion: 2 19 | m_Bits: 4294967291 20 | debugDrawPointingRays: 1 21 | debugDrawPointingRayColors: 22 | - {r: 1, g: 0.58280706, b: 0, a: 1} 23 | - {r: 0.86426115, g: 1, b: 0, a: 1} 24 | - {r: 0, g: 1, b: 0.2163105, a: 1} 25 | - {r: 0, g: 0.3028021, b: 1, a: 1} 26 | - {r: 0.44855833, g: 0, b: 1, a: 1} 27 | gazeCursorPrefab: {fileID: 1000012072213228, guid: 5b3e2856904e43c680f84f326861032a, 28 | type: 3} 29 | gazeProviderType: 30 | reference: Microsoft.MixedReality.Toolkit.Input.GazeProvider, Microsoft.MixedReality.Toolkit.Services.InputSystem 31 | useHeadGazeOverride: 0 32 | isEyeTrackingEnabled: 1 33 | pointerOptions: 34 | - controllerType: 1071 35 | handedness: 7 36 | pointerPrefab: {fileID: 1247086986094436, guid: d5b94136462644c9873bb3347169ae7e, 37 | type: 3} 38 | - controllerType: 1071 39 | handedness: 7 40 | pointerPrefab: {fileID: 1196247974088106, guid: c4fd3c6fc7ff484eb434775066e7f327, 41 | type: 3} 42 | - controllerType: 256 43 | handedness: 7 44 | pointerPrefab: {fileID: 1247086986094436, guid: 51e60b8742bc47640923ac9e75ea74e9, 45 | type: 3} 46 | - controllerType: 512 47 | handedness: 7 48 | pointerPrefab: {fileID: 1247086986094436, guid: 31d81f88cf3f71d4b8392ded50df3f05, 49 | type: 3} 50 | - controllerType: 1024 51 | handedness: 7 52 | pointerPrefab: {fileID: 1507865967819406, guid: 38b548c6a2c270545a383296ad2bc4d5, 53 | type: 3} 54 | - controllerType: 1024 55 | handedness: 7 56 | pointerPrefab: {fileID: 1507865967819406, guid: c2fde7a8938065b459cff79b8ed89393, 57 | type: 3} 58 | - controllerType: 2048 59 | handedness: 7 60 | pointerPrefab: {fileID: 1247086986094436, guid: 039b325c9e8fd0545a0475fd4aa35b10, 61 | type: 3} 62 | pointerMediator: 63 | reference: Microsoft.MixedReality.Toolkit.Input.DefaultPointerMediator, Microsoft.MixedReality.Toolkit.SDK 64 | primaryPointerSelector: 65 | reference: Microsoft.MixedReality.Toolkit.Input.DefaultPrimaryPointerSelector, 66 | Microsoft.MixedReality.Toolkit.SDK 67 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityPointerProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19c709c5e6046224aa149dcdad31a29c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityRegisteredServiceProvidersProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: eebbca41bb0b40d298ef201735d08616, type: 3} 13 | m_Name: LabAssistVisionMixedRealityRegisteredServiceProvidersProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | configurations: 17 | - componentType: 18 | reference: Microsoft.MixedReality.Toolkit.Extensions.CustomVisionObjectDetectionService, 19 | Assembly-CSharp 20 | componentName: CustomVisionObjectDetectionService 21 | priority: 0 22 | runtimePlatform: 9 23 | configurationProfile: {fileID: 11400000, guid: 5524986fc92675145855c0906fd25dd5, 24 | type: 2} 25 | - componentType: 26 | reference: Microsoft.MixedReality.Toolkit.Extensions.LoggingService, Assembly-CSharp, 27 | Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 28 | componentName: Logging Service 29 | priority: 0 30 | runtimePlatform: 9 31 | configurationProfile: {fileID: 11400000, guid: 52c62452952eb264a87729cf80064f97, 32 | type: 2} 33 | - componentType: 34 | reference: Microsoft.MixedReality.Toolkit.Extensions.ObjectTrackingService, 35 | Assembly-CSharp 36 | componentName: ObjectTrackingService 37 | priority: 0 38 | runtimePlatform: 9 39 | configurationProfile: {fileID: 11400000, guid: c4f41658101301c4ea3dbccd38c47aed, 40 | type: 2} 41 | - componentType: 42 | reference: Microsoft.MixedReality.Toolkit.Extensions.CameraService, Assembly-CSharp 43 | componentName: CameraService 44 | priority: 10 45 | runtimePlatform: 9 46 | configurationProfile: {fileID: 11400000, guid: 6f4321422ee4211408c60b5f88e07b00, 47 | type: 2} 48 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityRegisteredServiceProvidersProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d13f605196766d45967cd94ca0600f1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealitySpatialAwarenessMeshObserverProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: d561f5f963b45674aa423435fb820879, type: 3} 13 | m_Name: LabAssistVisionMixedRealitySpatialAwarenessMeshObserverProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | startupBehavior: 0 17 | isStationaryObserver: 0 18 | observationExtents: {x: 3, y: 3, z: 3} 19 | observerVolumeType: 1 20 | updateInterval: 3.5 21 | meshPhysicsLayer: 31 22 | levelOfDetail: 0 23 | trianglesPerCubicMeter: 0 24 | recalculateNormals: 1 25 | displayOption: 0 26 | visibleMaterial: {fileID: 2100000, guid: 47c3d3b0d8143e3489351498fceed55d, type: 2} 27 | occlusionMaterial: {fileID: 2100000, guid: a809c7ea182b699409443d46d5b42435, type: 2} 28 | physicsMaterial: {fileID: 0} 29 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealitySpatialAwarenessMeshObserverProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9c28ea47fb43f04494fbcc3f5c832e7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealitySpatialAwarenessSystemProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 19f279aded72cb741b4de89a54359dd4, type: 3} 13 | m_Name: LabAssistVisionMixedRealitySpatialAwarenessSystemProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | observerConfigurations: 17 | - componentType: 18 | reference: Microsoft.MixedReality.Toolkit.WindowsMixedReality.SpatialAwareness.WindowsMixedRealitySpatialMeshObserver, 19 | Microsoft.MixedReality.Toolkit.Providers.WindowsMixedReality 20 | componentName: Windows Mixed Reality Spatial Mesh Observer 21 | priority: 0 22 | runtimePlatform: 8 23 | observerProfile: {fileID: 11400000, guid: c9c28ea47fb43f04494fbcc3f5c832e7, type: 2} 24 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealitySpatialAwarenessSystemProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71e4879aae49b334ca992d14c7207771 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealitySpeechCommandsProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 1f18fec9b55c4f818e284af454161962, type: 3} 13 | m_Name: LabAssistVisionMixedRealitySpeechCommandsProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | startBehavior: 0 17 | recognitionConfidenceLevel: 1 18 | speechCommands: 19 | - localizationKey: 20 | keyword: Menu 21 | keyCode: 51 22 | action: 23 | id: 2 24 | description: Menu 25 | axisConstraint: 2 26 | - localizationKey: 27 | keyword: Select 28 | keyCode: 49 29 | action: 30 | id: 1 31 | description: Select 32 | axisConstraint: 2 33 | - localizationKey: 34 | keyword: Toggle Diagnostics 35 | keyCode: 48 36 | action: 37 | id: 14 38 | description: Toggle Diagnostics 39 | axisConstraint: 0 40 | - localizationKey: 41 | keyword: Toggle Profiler 42 | keyCode: 57 43 | action: 44 | id: 15 45 | description: Toggle Profiler 46 | axisConstraint: 0 47 | - localizationKey: 48 | keyword: Okay 49 | keyCode: 0 50 | action: 51 | id: 0 52 | description: Toggle Profiler 53 | axisConstraint: 0 54 | - localizationKey: 55 | keyword: Detect 56 | keyCode: 0 57 | action: 58 | id: 0 59 | description: Toggle Profiler 60 | axisConstraint: 0 61 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealitySpeechCommandsProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 56c6cad50415bae4dbbd2ed208018bde 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityToolkitConfigurationProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 7612acbc1a4a4ed0afa5f4ccbe42bee4, type: 3} 13 | m_Name: LabAssistVisionMixedRealityToolkitConfigurationProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | targetExperienceScale: 3 17 | enableCameraSystem: 1 18 | cameraProfile: {fileID: 11400000, guid: a011c1793f625ea4194f25272a8a2b5f, type: 2} 19 | cameraSystemType: 20 | reference: Microsoft.MixedReality.Toolkit.CameraSystem.MixedRealityCameraSystem, 21 | Microsoft.MixedReality.Toolkit.Services.CameraSystem 22 | enableInputSystem: 1 23 | inputSystemProfile: {fileID: 11400000, guid: 793e29b3ba1ea8843acf9ea2a643f6d1, type: 2} 24 | inputSystemType: 25 | reference: Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem, Microsoft.MixedReality.Toolkit.Services.InputSystem 26 | enableBoundarySystem: 0 27 | boundarySystemType: 28 | reference: Microsoft.MixedReality.Toolkit.Boundary.MixedRealityBoundarySystem, 29 | Microsoft.MixedReality.Toolkit.Services.BoundarySystem 30 | boundaryVisualizationProfile: {fileID: 11400000, guid: 6d28cce596b44bd3897ca86f8b24e076, 31 | type: 2} 32 | enableTeleportSystem: 0 33 | teleportSystemType: 34 | reference: Microsoft.MixedReality.Toolkit.Teleport.MixedRealityTeleportSystem, 35 | Microsoft.MixedReality.Toolkit.Services.TeleportSystem 36 | enableSpatialAwarenessSystem: 1 37 | spatialAwarenessSystemType: 38 | reference: Microsoft.MixedReality.Toolkit.SpatialAwareness.MixedRealitySpatialAwarenessSystem, 39 | Microsoft.MixedReality.Toolkit.Services.SpatialAwarenessSystem 40 | spatialAwarenessSystemProfile: {fileID: 11400000, guid: 71e4879aae49b334ca992d14c7207771, 41 | type: 2} 42 | diagnosticsSystemProfile: {fileID: 11400000, guid: 3833de0bf328f50479611ef1f57d6559, 43 | type: 2} 44 | enableDiagnosticsSystem: 0 45 | diagnosticsSystemType: 46 | reference: Microsoft.MixedReality.Toolkit.Diagnostics.MixedRealityDiagnosticsSystem, 47 | Microsoft.MixedReality.Toolkit.Services.DiagnosticsSystem 48 | sceneSystemProfile: {fileID: 0} 49 | enableSceneSystem: 0 50 | sceneSystemType: 51 | reference: 52 | registeredServiceProvidersProfile: {fileID: 11400000, guid: 1d13f605196766d45967cd94ca0600f1, 53 | type: 2} 54 | useServiceInspectors: 0 55 | renderDepthBuffer: 0 56 | enableVerboseLogging: 0 57 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/CustomProfiles/LabAssistVisionMixedRealityToolkitConfigurationProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0ca609d21cda6d49af895bd4f7aa528 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 086e2d7c713ce874192517d365263f40 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27d0f9a16808a9942a88413f74188886 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/CameraService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c13638b19177c334391075450db830a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/CameraServiceProfile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using LabAssistVision; 3 | using UnityEngine; 4 | 5 | namespace Microsoft.MixedReality.Toolkit.Extensions 6 | { 7 | [MixedRealityServiceProfile(typeof(ICameraService))] 8 | [CreateAssetMenu(fileName = "CameraServiceProfile", menuName = "MixedRealityToolkit/CameraService Configuration Profile")] 9 | public class CameraServiceProfile : BaseMixedRealityProfile 10 | { 11 | /// 12 | /// VideoManager resolution and targeted frame rate (may not be achieved). 13 | /// 14 | [SerializeField] 15 | [Tooltip("The profile contains resolution and frame rate. This only affects the Locatable Camera of the HoloLens 2")] 16 | public LocatableCameraProfile locatableCameraProfile = LocatableCameraProfile.HL2_1504x846_60; 17 | 18 | /// 19 | /// The YUV2RGB_NV12 Shader. Is assigned here to enforce the inclusion in the build. 20 | /// If using Shader.Find("Unlit/NV12"), add the shader to Graphics > Always Included Shaders 21 | /// 22 | public Shader rgbShader; 23 | 24 | /// 25 | /// The Grayscale_MRTK Shader. Is assigned here to enforce the inclusion in the build. 26 | /// If using Shader.Find("Unlit/GrayScale_MRTK"), add the shader to Graphics > Always Included Shaders 27 | /// 28 | public Shader luminanceShader; 29 | 30 | public ColorFormat format; 31 | } 32 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/CameraServiceProfile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 76edeaa3f2042af4e85b1ff98831a865 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/DefaultCameraServiceProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 76edeaa3f2042af4e85b1ff98831a865, type: 3} 13 | m_Name: DefaultCameraServiceProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | locatableCameraProfile: 22 17 | rgbShader: {fileID: 4800000, guid: dc0f9301db629694ea43debb1b84e28b, type: 3} 18 | luminanceShader: {fileID: 4800000, guid: 6c95dded497f24a48b9ccbc6be66b190, type: 3} 19 | format: 0 20 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/DefaultCameraServiceProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f4321422ee4211408c60b5f88e07b00 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/ICameraService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading.Tasks; 3 | using JetBrains.Annotations; 4 | using LabAssistVision; 5 | 6 | namespace Microsoft.MixedReality.Toolkit.Extensions 7 | { 8 | public interface ICameraService : IMixedRealityExtensionService 9 | { 10 | event EventHandler FrameArrived; 11 | event EventHandler CameraInitialized; 12 | int FrameWidth { get; } 13 | int FrameHeight { get; } 14 | [CanBeNull] CameraFrame CameraFrame { get; } 15 | Task StartCapture(); 16 | Task StopCapture(); 17 | bool Initialized { get; } 18 | ColorFormat Format { get; } 19 | void ChangeVideoParameter(LocatableCameraProfile profile, ColorFormat format); 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Camera/ICameraService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 67ee0ac776e04b44a8696819bfbab096 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fabf1095443a3c94cbbd2e3d901324cd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/CustomVisionObjectDetectionService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e53907f341f75604e9272208ef6b286c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/DefaultObjectDetectionServiceProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 27b06124f0ea2a94391f8b73550f5885, type: 3} 13 | m_Name: DefaultObjectDetectionServiceProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | minimalPredictionProbability: 0.3199999928474426 17 | maxConcurrentRequestLimit: 1 18 | detectOnRepeat: 0 19 | useLocalModel: 0 20 | modelFile: {fileID: 5022602860645237092, guid: 2b217b72480fb274597f556d5e2ee290, 21 | type: 3} 22 | labels: {fileID: 4900000, guid: 718dfae824a1efc4ab4f19d08b758654, type: 3} 23 | predictionApi: 24 | predictionKey: 25 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/DefaultObjectDetectionServiceProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5524986fc92675145855c0906fd25dd5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/IObjectDetectionService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | using JetBrains.Annotations; 5 | using LabAssistVision; 6 | 7 | namespace Microsoft.MixedReality.Toolkit.Extensions 8 | { 9 | public interface IObjectDetectionService : IMixedRealityExtensionService 10 | { 11 | Task> DetectAsync([NotNull] CameraFrame frame); 12 | void ChangeMinimalPredictionProbability(double value); 13 | void ChangeMaxConcurrentRequestLimit(int value); 14 | double minimalPredictionProbability { get; } 15 | int maxConcurrentRequests { get; } 16 | bool detectOnRepeat { get; } 17 | void ToggleDetectOnRepeat(); 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/IObjectDetectionService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: debcfeb560ffa61438a99dd1bb211c4d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/ObjectDetectionServiceProfile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.MixedReality.Toolkit.UI; 3 | using UnityEngine; 4 | using Unity.Barracuda; 5 | 6 | namespace Microsoft.MixedReality.Toolkit.Extensions 7 | { 8 | [MixedRealityServiceProfile(typeof(IObjectDetectionService))] 9 | [CreateAssetMenu(fileName = "ObjectDetectionServiceProfile", menuName = "MixedRealityToolkit/ObjectDetectionService Configuration Profile")] 10 | public class ObjectDetectionServiceProfile : BaseMixedRealityProfile 11 | { 12 | /// 13 | /// The minimal probability on a prediction of an object to be tracked. 14 | /// 15 | [SerializeField] 16 | [Range(0, 1)] 17 | [Tooltip("The minimal probability on a prediction of an object to be tracked.")] 18 | public double minimalPredictionProbability = 0.5; 19 | 20 | /// 21 | /// The maximal amount of concurrent requests. 22 | /// 23 | [SerializeField] 24 | [Range(0, 20)] 25 | [Tooltip("The maximal amount of concurrent requests.")] 26 | public int maxConcurrentRequestLimit = 1; 27 | 28 | /// 29 | /// If enabled, object detection is executed on repeat instead of tracking. 30 | /// 31 | [HideInInspector] 32 | [Tooltip("If enabled, object detection is executed on repeat instead of tracking.")] 33 | public bool detectOnRepeat; 34 | 35 | /// 36 | /// If enabled, object detection is executed on the device instead of using a cloud service. 37 | /// This experimental feature impacts performance. 38 | /// 39 | [Tooltip("Use local object detection instead of Cloud Detection. Experimental Feature.")] 40 | public bool useLocalModel; 41 | 42 | /// 43 | /// The exported model file as ONNX obtained from Custom Vision. 44 | /// 45 | [Tooltip("Model file of the exported model as ONNX from Custom Vision.")] 46 | public NNModel modelFile; 47 | 48 | /// 49 | /// The exported labels to the model file obtained from Custom Vision. 50 | /// 51 | [Tooltip("The labels of the exported model obtained from Custom Vision")] 52 | public TextAsset labels; 53 | 54 | /// 55 | /// The Prediction URL of the Custom Vision Prediction API. 56 | /// 57 | [Tooltip("Prediction URL of Custom Vision Prediction API. To be found under Performance > Prediction URL > If you have an image file")] 58 | public string predictionApi = ""; 59 | 60 | /// 61 | /// The Prediction Key of the Custom Vision Prediction API. 62 | /// 63 | [Tooltip("Prediction key of Custom Vision Prediction API. To be found under Performance > Prediction URL > If you have an image file")] 64 | public string predictionKey = ""; 65 | } 66 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Detection/ObjectDetectionServiceProfile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 27b06124f0ea2a94391f8b73550f5885 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 90f4630b664c2694fb849a6259b493ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/DefaultLoggingServiceProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 946cb2c98d30b5a4bb2497c517c495fe, type: 3} 13 | m_Name: DefaultLoggingServiceProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/DefaultLoggingServiceProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 52c62452952eb264a87729cf80064f97 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/ILoggingService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.MixedReality.Toolkit; 3 | using UnityEngine; 4 | 5 | namespace Microsoft.MixedReality.Toolkit.Extensions 6 | { 7 | public interface ILoggingService : IMixedRealityExtensionService 8 | { 9 | Logger GetLogger(); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/ILoggingService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f17c28fb2347bfe4f8e538a8f864a766 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/LoggingService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using JetBrains.Annotations; 3 | using Microsoft.MixedReality.Toolkit.Utilities; 4 | using Microsoft.MixedReality.Toolkit; 5 | using UnityEngine; 6 | 7 | namespace Microsoft.MixedReality.Toolkit.Extensions 8 | { 9 | [MixedRealityExtensionService(SupportedPlatforms.WindowsStandalone|SupportedPlatforms.WindowsUniversal)] 10 | [Obsolete] 11 | public class LoggingService : BaseExtensionService, ILoggingService, IMixedRealityExtensionService 12 | { 13 | private LoggingServiceProfile loggingServiceProfile; 14 | // ReSharper disable once NotNullMemberIsNotInitialized 15 | [NotNull] private readonly Logger _logger; 16 | 17 | public LoggingService(string name, uint priority, BaseMixedRealityProfile profile) : base(name, priority, profile) 18 | { 19 | loggingServiceProfile = profile as LoggingServiceProfile; 20 | _logger = new Logger(new LogHandler()); 21 | } 22 | 23 | public Logger GetLogger() 24 | { 25 | return _logger; 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/LoggingService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d11f8c267fcc694fa5730513ff868ce 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/LoggingServiceProfile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using Microsoft.MixedReality.Toolkit; 4 | 5 | namespace Microsoft.MixedReality.Toolkit.Extensions 6 | { 7 | [MixedRealityServiceProfile(typeof(ILoggingService))] 8 | [CreateAssetMenu(fileName = "LoggingServiceProfile", menuName = "MixedRealityToolkit/LoggingService Configuration Profile")] 9 | public class LoggingServiceProfile : BaseMixedRealityProfile 10 | { 11 | // Store config data in serialized fields 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Logging/LoggingServiceProfile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 946cb2c98d30b5a4bb2497c517c495fe 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 12935acd8f6866245bf90f481acec0b2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/DefaultObjectTrackingServiceProfile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 2e96d8c372af3ea42bcb48a32ff0670e, type: 3} 13 | m_Name: DefaultObjectTrackingServiceProfile 14 | m_EditorClassIdentifier: 15 | isCustomProfile: 1 16 | unprojectionOffset: {x: 0, y: 0} 17 | tracker: 0 18 | forceFixedTrackerCount: 0 19 | fixedTrackerCount: 0 20 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/DefaultObjectTrackingServiceProfile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4f41658101301c4ea3dbccd38c47aed 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/IObjectTrackingService.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using JetBrains.Annotations; 4 | using LabAssistVision; 5 | using UnityEngine; 6 | 7 | namespace Microsoft.MixedReality.Toolkit.Extensions 8 | { 9 | public interface IObjectTrackingService : IMixedRealityExtensionService 10 | { 11 | List TrackedObjects { get; } 12 | Vector2 unprojectionOffset { get; } 13 | [NotNull, ItemNotNull] 14 | List TrackSync([NotNull] CameraFrame frame); 15 | [NotNull, ItemNotNull] 16 | List InitializeTrackers(List detectedObjects); 17 | 18 | void SwitchTracker(Tracker tracker); 19 | 20 | int FixedTrackerCount {get; } 21 | bool ForceFixedTrackerCount { get; } 22 | void ToggleFixedTrackerCount(); 23 | void ChangeFixedTrackerCount(int value); 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/IObjectTrackingService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5dd208457c733447b86da632f8afc92 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/ObjectTrackingService.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a867da60a0ea4f4fb3755fe702fea34 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/ObjectTrackingServiceProfile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using LabAssistVision; 3 | using UnityEngine; 4 | 5 | namespace Microsoft.MixedReality.Toolkit.Extensions 6 | { 7 | [MixedRealityServiceProfile(typeof(IObjectTrackingService))] 8 | [CreateAssetMenu(fileName = "ObjectTrackingServiceProfile", menuName = "MixedRealityToolkit/ObjectTrackingService Configuration Profile")] 9 | public class ObjectTrackingServiceProfile : BaseMixedRealityProfile 10 | { 11 | /// 12 | /// Offset of unprojected pixel coordinates. 13 | /// 14 | [Tooltip("Set offset of unprojected pixel coordinates. Offset unit is meter.")] 15 | public Vector2 unprojectionOffset = new Vector2(0, 0); 16 | 17 | /// 18 | /// The Tracker to use 19 | /// 20 | [Tooltip("Select the tracker to use. MOSSE performs best regarding to speed.")] 21 | public Tracker tracker; 22 | 23 | [Tooltip("Enforces a fixed amount of trackers. Used for performance measurement.")] 24 | public bool forceFixedTrackerCount; 25 | [Tooltip("Specifies the amount of fixed trackers. Only works in combination with forceFixedTrackerCount.")] 26 | public int fixedTrackerCount; 27 | } 28 | 29 | public enum Tracker 30 | { 31 | MosseTracker, 32 | BoostingTracker, 33 | CSRTTracker, 34 | KCFTracker, 35 | MedianFlowTracker, 36 | TLDTracker, 37 | MILTracker, 38 | TestTracker 39 | } 40 | } -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/Extensions/Tracking/ObjectTrackingServiceProfile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e96d8c372af3ea42bcb48a32ff0670e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/MRTK.Generated.sentinel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/MixedRealityToolkit.Generated/MRTK.Generated.sentinel -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/MRTK.Generated.sentinel.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b89dbb86a90349146a076d63c1924885 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/ProjectPreferences.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 9033865767959b749a2efd333e3edc9c, type: 3} 13 | m_Name: ProjectPreferences 14 | m_EditorClassIdentifier: 15 | boolPreferences: 16 | keys: 17 | - _MixedRealityToolkit_Editor_IgnoreSettingsPrompts 18 | - _MixedRealityToolkit_Editor_LockProfiles 19 | - MixedRealityToolkit_Editor_RunOptimalConfig 20 | - _MixedRealityToolkit_Editor_AutoEnableUWPCapabilities 21 | values: 00010101 22 | intPreferences: 23 | keys: 24 | - MixedRealityToolkit_Editor_AudioSpatializerCount 25 | values: 02000000 26 | floatPreferences: 27 | keys: [] 28 | values: [] 29 | stringPreferences: 30 | keys: [] 31 | values: [] 32 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/ProjectPreferences.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0d7bb3f4839fb8b42af8482c4e219281 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/link.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Assets/MixedRealityToolkit.Generated/link.xml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f8ad541c9d4fb44385dd1b68305d90f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/NuGet.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Assets/NuGet.config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d3e7913db2d8794f998dba92c4e7100 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Assets/NuGet.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 217cb7caed5f7fb49b339428b1d80974 3 | folderAsset: yes 4 | timeCreated: 1510280316 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NuGet/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3fad56c531ac5a4db190a745f589a8e 3 | folderAsset: yes 4 | timeCreated: 1510280304 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NuGet/Editor/DotNetZip.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/NuGet/Editor/DotNetZip.dll -------------------------------------------------------------------------------- /Assets/NuGet/Editor/DotNetZip.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8e8091a1f84e704a9f4d4abd2e15f8b 3 | timeCreated: 1517875082 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 1 16 | settings: 17 | DefaultValueInitialized: true 18 | userData: 19 | assetBundleName: 20 | assetBundleVariant: 21 | -------------------------------------------------------------------------------- /Assets/NuGet/Editor/NugetForUnity.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/NuGet/Editor/NugetForUnity.dll -------------------------------------------------------------------------------- /Assets/NuGet/Editor/NugetForUnity.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8dc1be91775c4bb469f6b74cef450eaa 3 | timeCreated: 1510280416 4 | licenseType: Free 5 | PluginImporter: 6 | serializedVersion: 1 7 | iconMap: {} 8 | executionOrder: {} 9 | isPreloaded: 0 10 | platformData: 11 | Any: 12 | enabled: 0 13 | settings: {} 14 | Editor: 15 | enabled: 1 16 | settings: 17 | DefaultValueInitialized: true 18 | userData: 19 | assetBundleName: 20 | assetBundleVariant: 21 | -------------------------------------------------------------------------------- /Assets/NuGet/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Patrick McCarthy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Assets/NuGet/LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d9014b99ad06af428514a5902d29ff3 3 | timeCreated: 1573248500 4 | licenseType: Pro 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NuGet/NuGetForUnity.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,11 3 | [InternetShortcut] 4 | IDList= 5 | URL=https://github.com/GlitchEnzo/NuGetForUnity 6 | -------------------------------------------------------------------------------- /Assets/NuGet/NuGetForUnity.url.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5fe68971f53ae54897d36f891764fb0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/NuGet/README.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/NuGet/README.pdf -------------------------------------------------------------------------------- /Assets/NuGet/README.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83c5d2001771f15429a88d67e81366d6 3 | timeCreated: 1517876157 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NuGet/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1738075a39a390447b7a620ca6962142 3 | folderAsset: yes 4 | timeCreated: 1510280362 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/NuGet/Resources/defaultIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/NuGet/Resources/defaultIcon.png -------------------------------------------------------------------------------- /Assets/NuGet/Resources/defaultIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eec19781926cd2248b7c9abfde8db555 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: -1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: 1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 1 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 5e97eb03825dee720800000000000000 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /Assets/OpenCVForUnity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd6ef9a9a9c80be459b9151254e0dbcd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6eed045c1ef4457438a2b66dc5c35c9a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 846699a8ff6e5db43af27a458e7f9c7d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/.signature.p7s -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/LICENSE.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01985a5e93bd04c4494e59b63ead227d 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/MSBuildForUnity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d628694fbdbffcb41822092c0ead1d7d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.nupkg -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049.nupkg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8930f095dd8c38846974794097a77c40 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e55ce49505e6e440883f76b98b3cb2d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8acfe0349d4b4064f997ff7aa72231b9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/Editor/Microsoft.Windows.MixedReality.DotNetWinRT.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Microsoft.Windows.MixedReality.DotNetWinRT.Editor", 3 | "references": [], 4 | "optionalUnityReferences": [], 5 | "includePlatforms": [ 6 | "Editor" 7 | ], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [] 15 | } -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/Editor/Microsoft.Windows.MixedReality.DotNetWinRT.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a86c479391ab3184d971a7205a037fd9 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/Editor/Microsoft.Windows.MixedReality.DotNetWinRT.Init.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Runtime.InteropServices; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace Microsoft.Windows.MixedReality.DotNetWinRT 8 | { 9 | [InitializeOnLoad] 10 | internal class Init : MonoBehaviour 11 | { 12 | [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)] 13 | [return: MarshalAs(UnmanagedType.Bool)] 14 | static extern int AddDllDirectory(string lpPathName); 15 | 16 | [DllImport("kernel32.dll", SetLastError = true)] 17 | static extern IntPtr LoadLibraryExW([MarshalAs(UnmanagedType.LPWStr)] string fileName, IntPtr fileHandle, uint flags); 18 | 19 | [DllImport("kernel32.dll", SetLastError = true)] 20 | [return: MarshalAs(UnmanagedType.Bool)] 21 | static extern bool FreeLibrary(IntPtr moduleHandle); 22 | 23 | 24 | const uint LOAD_LIBRARY_SEARCH_DEFAULT_DIRS = 0x00001000; 25 | 26 | static Init() 27 | { 28 | IntPtr modulePtr = LoadLibraryExW("MonoSupport.dll", IntPtr.Zero, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS); 29 | if (modulePtr != IntPtr.Zero) 30 | { 31 | // DLL search paths already configured in this process; nothing more to do. 32 | FreeLibrary(modulePtr); 33 | return; 34 | } 35 | 36 | // Find the path to this script 37 | string assetName = $"{typeof(Init).FullName}.cs"; 38 | var assets = AssetDatabase.FindAssets(Path.GetFileNameWithoutExtension(assetName)); 39 | if (assets.Length != 1) 40 | { 41 | Debug.LogError($"Failed to find single asset for {assetName}; found {assets.Length} instead!"); 42 | return; 43 | } 44 | 45 | char[] delims = { '/', '\\' }; 46 | var assetDirectoryPath = Application.dataPath; 47 | var lastDelim = assetDirectoryPath.TrimEnd(delims).LastIndexOfAny(delims); // trim off Assets folder since it's also included in asset path 48 | var dllDirectory = Path.Combine(assetDirectoryPath.Substring(0, lastDelim), Path.GetDirectoryName(AssetDatabase.GUIDToAssetPath(assets[0]))).Replace('/', '\\'); 49 | dllDirectory = Path.Combine(dllDirectory.Substring(0, dllDirectory.LastIndexOf("Editor")), @"x64"); 50 | if (AddDllDirectory(dllDirectory) == 0) 51 | { 52 | Debug.LogError($"Failed to set DLL directory {dllDirectory}: Win32 error {Marshal.GetLastWin32Error()}"); 53 | return; 54 | } 55 | 56 | Debug.Log(string.Format("Added DLL directory {0} to the user search path.", dllDirectory)); 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/Editor/Microsoft.Windows.MixedReality.DotNetWinRT.Init.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aadad98eba4b4616917c1411b7cd03ba 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/x64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5c7b804423987f489566f37a3a0f95b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/x64/MonoSupport.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/x64/MonoSupport.dll -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/Unity/x64/MonoSupport.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 50f0022992ccd9a4d8c820dae34801d5 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Editor: 1 20 | Exclude Linux: 1 21 | Exclude Linux64: 1 22 | Exclude LinuxUniversal: 1 23 | Exclude OSXUniversal: 1 24 | Exclude Win: 1 25 | Exclude Win64: 1 26 | Exclude WindowsStoreApps: 1 27 | - first: 28 | Any: 29 | second: 30 | enabled: 0 31 | settings: {} 32 | - first: 33 | Editor: Editor 34 | second: 35 | enabled: 0 36 | settings: 37 | CPU: x86_64 38 | DefaultValueInitialized: true 39 | OS: Windows 40 | - first: 41 | Facebook: Win 42 | second: 43 | enabled: 0 44 | settings: 45 | CPU: None 46 | - first: 47 | Facebook: Win64 48 | second: 49 | enabled: 0 50 | settings: 51 | CPU: AnyCPU 52 | - first: 53 | Standalone: Linux 54 | second: 55 | enabled: 0 56 | settings: 57 | CPU: x86 58 | - first: 59 | Standalone: Linux64 60 | second: 61 | enabled: 0 62 | settings: 63 | CPU: AnyCPU 64 | - first: 65 | Standalone: LinuxUniversal 66 | second: 67 | enabled: 0 68 | settings: 69 | CPU: None 70 | - first: 71 | Standalone: OSXUniversal 72 | second: 73 | enabled: 0 74 | settings: 75 | CPU: AnyCPU 76 | - first: 77 | Standalone: Win 78 | second: 79 | enabled: 0 80 | settings: 81 | CPU: None 82 | - first: 83 | Standalone: Win64 84 | second: 85 | enabled: 0 86 | settings: 87 | CPU: AnyCPU 88 | - first: 89 | Windows Store Apps: WindowsStoreApps 90 | second: 91 | enabled: 0 92 | settings: 93 | CPU: X86 94 | DontProcess: false 95 | PlaceholderPath: 96 | SDK: AnySDK 97 | ScriptingBackend: AnyScriptingBackend 98 | userData: 99 | assetBundleName: 100 | assetBundleVariant: 101 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9f67f85fa41fea949828820f802a856e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a3abb31b154064b4a906cb8dd7cd8520 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/net46.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51fa66c32fed18a418c5f5cb0404851e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/net46/Microsoft.Windows.MixedReality.DotNetWinRT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/net46/Microsoft.Windows.MixedReality.DotNetWinRT.dll -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/net46/Microsoft.Windows.MixedReality.DotNetWinRT.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3d3e4de3239fcd4fa303533e0ea893d 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | : Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Android: 1 20 | Exclude Editor: 1 21 | Exclude Linux: 1 22 | Exclude Linux64: 1 23 | Exclude LinuxUniversal: 1 24 | Exclude OSXUniversal: 1 25 | Exclude Win: 1 26 | Exclude Win64: 1 27 | Exclude WindowsStoreApps: 0 28 | Exclude iOS: 1 29 | - first: 30 | Any: 31 | second: 32 | enabled: 0 33 | settings: {} 34 | - first: 35 | Editor: Editor 36 | second: 37 | enabled: 0 38 | settings: 39 | CPU: AnyCPU 40 | DefaultValueInitialized: true 41 | OS: AnyOS 42 | - first: 43 | Facebook: Win 44 | second: 45 | enabled: 0 46 | settings: 47 | CPU: AnyCPU 48 | - first: 49 | Facebook: Win64 50 | second: 51 | enabled: 0 52 | settings: 53 | CPU: AnyCPU 54 | - first: 55 | Standalone: Linux 56 | second: 57 | enabled: 0 58 | settings: 59 | CPU: x86 60 | - first: 61 | Standalone: Linux64 62 | second: 63 | enabled: 0 64 | settings: 65 | CPU: AnyCPU 66 | - first: 67 | Standalone: LinuxUniversal 68 | second: 69 | enabled: 0 70 | settings: 71 | CPU: None 72 | - first: 73 | Standalone: OSXUniversal 74 | second: 75 | enabled: 0 76 | settings: 77 | CPU: AnyCPU 78 | - first: 79 | Standalone: Win 80 | second: 81 | enabled: 0 82 | settings: 83 | CPU: AnyCPU 84 | - first: 85 | Standalone: Win64 86 | second: 87 | enabled: 0 88 | settings: 89 | CPU: AnyCPU 90 | - first: 91 | Windows Store Apps: WindowsStoreApps 92 | second: 93 | enabled: 1 94 | settings: 95 | CPU: AnyCPU 96 | DontProcess: false 97 | PlaceholderPath: 98 | SDK: AnySDK 99 | ScriptingBackend: AnyScriptingBackend 100 | userData: 101 | assetBundleName: 102 | assetBundleVariant: 103 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/netstandard2.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf6de8cf341fa9d47a64653b4e775f35 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/netstandard2.0/Microsoft.Windows.MixedReality.DotNetWinRT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/netstandard2.0/Microsoft.Windows.MixedReality.DotNetWinRT.dll -------------------------------------------------------------------------------- /Assets/Packages/Microsoft.Windows.MixedReality.DotNetWinRT.0.5.1049/lib/unity/netstandard2.0/Microsoft.Windows.MixedReality.DotNetWinRT.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cddea8ea7c3809449b5ee0168f6724b 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | '': Any 16 | second: 17 | enabled: 0 18 | settings: 19 | Exclude Editor: 0 20 | Exclude Linux: 0 21 | Exclude Linux64: 0 22 | Exclude LinuxUniversal: 0 23 | Exclude OSXUniversal: 0 24 | Exclude Win: 0 25 | Exclude Win64: 0 26 | Exclude Android: 0 27 | Exclude iOS: 0 28 | Exclude WindowsStoreApps: 1 29 | - first: 30 | Any: 31 | second: 32 | enabled: 1 33 | settings: {} 34 | - first: 35 | Editor: Editor 36 | second: 37 | enabled: 1 38 | settings: 39 | CPU: AnyCPU 40 | DefaultValueInitialized: true 41 | OS: AnyOS 42 | - first: 43 | Facebook: Win 44 | second: 45 | enabled: 0 46 | settings: 47 | CPU: AnyCPU 48 | - first: 49 | Facebook: Win64 50 | second: 51 | enabled: 0 52 | settings: 53 | CPU: AnyCPU 54 | - first: 55 | Standalone: Linux 56 | second: 57 | enabled: 1 58 | settings: 59 | CPU: x86 60 | - first: 61 | Standalone: Linux64 62 | second: 63 | enabled: 1 64 | settings: 65 | CPU: x86_64 66 | - first: 67 | Standalone: LinuxUniversal 68 | second: 69 | enabled: 1 70 | settings: {} 71 | - first: 72 | Standalone: OSXUniversal 73 | second: 74 | enabled: 1 75 | settings: 76 | CPU: AnyCPU 77 | - first: 78 | Standalone: Win 79 | second: 80 | enabled: 1 81 | settings: 82 | CPU: AnyCPU 83 | - first: 84 | Standalone: Win64 85 | second: 86 | enabled: 1 87 | settings: 88 | CPU: AnyCPU 89 | - first: 90 | Windows Store Apps: WindowsStoreApps 91 | second: 92 | enabled: 0 93 | settings: 94 | CPU: AnyCPU 95 | DontProcess: false 96 | PlaceholderPath: 97 | SDK: AnySDK 98 | ScriptingBackend: AnyScriptingBackend 99 | userData: 100 | assetBundleName: 101 | assetBundleVariant: 102 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31c86a928025fb04f865ed14de03355a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/System.Drawing.Primitives.4.3.0/.signature.p7s -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/System.Drawing.Primitives.4.3.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/System.Drawing.Primitives.4.3.0/System.Drawing.Primitives.4.3.0.nupkg -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/System.Drawing.Primitives.4.3.0.nupkg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f453999354bea984298e58a88e1dff0a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/ThirdPartyNotices.txt: -------------------------------------------------------------------------------- 1 | This Microsoft .NET Library may incorporate components from the projects listed 2 | below. Microsoft licenses these components under the Microsoft .NET Library 3 | software license terms. The original copyright notices and the licenses under 4 | which Microsoft received such components are set forth below for informational 5 | purposes only. Microsoft reserves all rights not expressly granted herein, 6 | whether by implication, estoppel or otherwise. 7 | 8 | 1. .NET Core (https://github.com/dotnet/core/) 9 | 10 | .NET Core 11 | Copyright (c) .NET Foundation and Contributors 12 | 13 | The MIT License (MIT) 14 | 15 | Permission is hereby granted, free of charge, to any person obtaining a copy 16 | of this software and associated documentation files (the "Software"), to deal 17 | in the Software without restriction, including without limitation the rights 18 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 19 | copies of the Software, and to permit persons to whom the Software is 20 | furnished to do so, subject to the following conditions: 21 | 22 | The above copyright notice and this permission notice shall be included in all 23 | copies or substantial portions of the Software. 24 | 25 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 26 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 27 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 28 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 29 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 30 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 31 | SOFTWARE. -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/ThirdPartyNotices.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 656181cc3ae42bc44aeb80e5345a7ec5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/dotnet_library_license.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1abeedba8dfcdff4591b996fdc4b966d 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/lib.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 773ce198ea7681b4a8962ec584978cf8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/lib/net45.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 82470c996cd128347a24b3af74446994 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/lib/net45/System.Drawing.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/Packages/System.Drawing.Primitives.4.3.0/lib/net45/System.Drawing.Primitives.dll -------------------------------------------------------------------------------- /Assets/Packages/System.Drawing.Primitives.4.3.0/lib/net45/System.Drawing.Primitives.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b63d72aaeaf260429a33d633a775f1b 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 1 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: 30 | CPU: AnyCPU 31 | userData: 32 | assetBundleName: 33 | assetBundleVariant: 34 | -------------------------------------------------------------------------------- /Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6958a909f59ed2e469339d20b8682613 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Scenes/LabAssistVision.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89d168185020d1347a31d368fc3005b0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f54d1bd14bd3ca042bd867b519fee8cc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ab70aee4d56447429c680537fbf93ed 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c 3 | timeCreated: 1484171296 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/TextMesh Pro/Fonts/LiberationSans.ttf -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3265ab4bf004d28a9537516768c1c75 3 | timeCreated: 1484171297 4 | licenseType: Pro 5 | TrueTypeFontImporter: 6 | serializedVersion: 2 7 | fontSize: 16 8 | forceTextureCase: -2 9 | characterSpacing: 1 10 | characterPadding: 0 11 | includeFontData: 1 12 | use2xBehaviour: 0 13 | fontNames: [] 14 | fallbackFontReferences: [] 15 | customCharacters: 16 | fontRenderingMode: 0 17 | userData: 18 | assetBundleName: 19 | assetBundleVariant: 20 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 243e06394e614e5d99fab26083b707fa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 731f1baa9d144a9897cb1d341c2092b8 3 | folderAsset: yes 4 | timeCreated: 1442040525 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0 3 | timeCreated: 1484172806 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2e498d1c8094910479dc3e1b768306a4 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79459efec17a4d00a321bdcc27bbc385 3 | timeCreated: 1484172856 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f586378b4e144a9851e7b34d9b748ee 3 | timeCreated: 1484171803 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt: -------------------------------------------------------------------------------- 1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,. -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fade42e8bc714b018fac513c043d323b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt: -------------------------------------------------------------------------------- 1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ # -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d82c1b31c7e74239bff1220585707d2b 3 | timeCreated: 1425440388 4 | licenseType: Store 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 512a49d95c0c4332bdd98131869c23c9 3 | folderAsset: yes 4 | timeCreated: 1441876896 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c41005c129ba4d66911b75229fd70b45 3 | timeCreated: 1480316912 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4aecb92fff08436c8303b10eab8da368 3 | folderAsset: yes 4 | timeCreated: 1441876950 5 | licenseType: Pro 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f952c082cb03451daed3ee968ac6c63e 3 | timeCreated: 1432805430 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3} 13 | m_Name: TMP Settings 14 | m_EditorClassIdentifier: 15 | m_enableWordWrapping: 1 16 | m_enableKerning: 1 17 | m_enableExtraPadding: 0 18 | m_enableTintAllSprites: 0 19 | m_enableParseEscapeCharacters: 1 20 | m_EnableRaycastTarget: 1 21 | m_GetFontFeaturesAtRuntime: 1 22 | m_missingGlyphCharacter: 0 23 | m_warningsDisabled: 1 24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} 25 | m_defaultFontAssetPath: Fonts & Materials/ 26 | m_defaultFontSize: 36 27 | m_defaultAutoSizeMinRatio: 0.5 28 | m_defaultAutoSizeMaxRatio: 2 29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5} 30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50} 31 | m_autoSizeTextContainer: 0 32 | m_fallbackFontAssets: [] 33 | m_matchMaterialPreset: 1 34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45, 35 | type: 2} 36 | m_defaultSpriteAssetPath: Sprite Assets/ 37 | m_enableEmojiSupport: 1 38 | m_MissingCharacterSpriteUnicode: 0 39 | m_defaultColorGradientPresetsPath: Color Gradient Presets/ 40 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e, 41 | type: 2} 42 | m_StyleSheetsResourcePath: 43 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3} 44 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b, 45 | type: 3} 46 | m_UseModernHangulLineBreakingRules: 0 47 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Resources/TMP Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f5b5dff67a942289a9defa416b206f3 3 | timeCreated: 1436653997 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e9f693669af91aa45ad615fc681ed29f 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48bb5f55d8670e349b6e614913f9d910 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e3b057af24249748ff873be7fafee47 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 128e987d567d4e2c824d754223b3f3b0 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dd89cf5b9246416f84610a006f916af7 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14eb328de4b8eb245bb7cea29e4ac00b 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc1ede39bf3643ee8e493720e4259791 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a02a7d8c237544f1962732b55a9aebf1 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c8d12adcee749c344b8117cf7c7eb912 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe393ace9b354375a9cb14cdbbc28be4 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85187c2149c549c5b33f0cdb02836b17 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7ada0af4f174f0694ca6a487b8f543d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 68e6db2ebdc24f95958faec2be5558d6 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Sprite.shader: -------------------------------------------------------------------------------- 1 | Shader "TextMeshPro/Sprite" 2 | { 3 | Properties 4 | { 5 | _MainTex ("Sprite Texture", 2D) = "white" {} 6 | _Color ("Tint", Color) = (1,1,1,1) 7 | 8 | _StencilComp ("Stencil Comparison", Float) = 8 9 | _Stencil ("Stencil ID", Float) = 0 10 | _StencilOp ("Stencil Operation", Float) = 0 11 | _StencilWriteMask ("Stencil Write Mask", Float) = 255 12 | _StencilReadMask ("Stencil Read Mask", Float) = 255 13 | 14 | _CullMode ("Cull Mode", Float) = 0 15 | _ColorMask ("Color Mask", Float) = 15 16 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767) 17 | 18 | [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 19 | } 20 | 21 | SubShader 22 | { 23 | Tags 24 | { 25 | "Queue"="Transparent" 26 | "IgnoreProjector"="True" 27 | "RenderType"="Transparent" 28 | "PreviewType"="Plane" 29 | "CanUseSpriteAtlas"="True" 30 | } 31 | 32 | Stencil 33 | { 34 | Ref [_Stencil] 35 | Comp [_StencilComp] 36 | Pass [_StencilOp] 37 | ReadMask [_StencilReadMask] 38 | WriteMask [_StencilWriteMask] 39 | } 40 | 41 | Cull [_CullMode] 42 | Lighting Off 43 | ZWrite Off 44 | ZTest [unity_GUIZTestMode] 45 | Blend SrcAlpha OneMinusSrcAlpha 46 | ColorMask [_ColorMask] 47 | 48 | Pass 49 | { 50 | CGPROGRAM 51 | #pragma vertex vert 52 | #pragma fragment frag 53 | 54 | #include "UnityCG.cginc" 55 | #include "UnityUI.cginc" 56 | 57 | #pragma multi_compile __ UNITY_UI_CLIP_RECT 58 | #pragma multi_compile __ UNITY_UI_ALPHACLIP 59 | 60 | struct appdata_t 61 | { 62 | float4 vertex : POSITION; 63 | float4 color : COLOR; 64 | float2 texcoord : TEXCOORD0; 65 | }; 66 | 67 | struct v2f 68 | { 69 | float4 vertex : SV_POSITION; 70 | fixed4 color : COLOR; 71 | half2 texcoord : TEXCOORD0; 72 | float4 worldPosition : TEXCOORD1; 73 | }; 74 | 75 | fixed4 _Color; 76 | fixed4 _TextureSampleAdd; 77 | float4 _ClipRect; 78 | 79 | v2f vert(appdata_t IN) 80 | { 81 | v2f OUT; 82 | OUT.worldPosition = IN.vertex; 83 | OUT.vertex = UnityObjectToClipPos(OUT.worldPosition); 84 | 85 | OUT.texcoord = IN.texcoord; 86 | 87 | #ifdef UNITY_HALF_TEXEL_OFFSET 88 | OUT.vertex.xy += (_ScreenParams.zw-1.0)*float2(-1,1); 89 | #endif 90 | 91 | OUT.color = IN.color * _Color; 92 | return OUT; 93 | } 94 | 95 | sampler2D _MainTex; 96 | 97 | fixed4 frag(v2f IN) : SV_Target 98 | { 99 | half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color; 100 | 101 | #if UNITY_UI_CLIP_RECT 102 | color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect); 103 | #endif 104 | 105 | #ifdef UNITY_UI_ALPHACLIP 106 | clip (color.a - 0.001); 107 | #endif 108 | 109 | return color; 110 | } 111 | ENDCG 112 | } 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf81c85f95fe47e1a27f6ae460cf182c 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro.cginc: -------------------------------------------------------------------------------- 1 | float2 UnpackUV(float uv) 2 | { 3 | float2 output; 4 | output.x = floor(uv / 4096); 5 | output.y = uv - 4096 * output.x; 6 | 7 | return output * 0.001953125; 8 | } 9 | 10 | fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness) 11 | { 12 | half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness)); 13 | half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline)); 14 | 15 | faceColor.rgb *= faceColor.a; 16 | outlineColor.rgb *= outlineColor.a; 17 | 18 | faceColor = lerp(faceColor, outlineColor, outlineAlpha); 19 | 20 | faceColor *= faceAlpha; 21 | 22 | return faceColor; 23 | } 24 | 25 | float3 GetSurfaceNormal(float4 h, float bias) 26 | { 27 | bool raisedBevel = step(1, fmod(_ShaderFlags, 2)); 28 | 29 | h += bias+_BevelOffset; 30 | 31 | float bevelWidth = max(.01, _OutlineWidth+_BevelWidth); 32 | 33 | // Track outline 34 | h -= .5; 35 | h /= bevelWidth; 36 | h = saturate(h+.5); 37 | 38 | if(raisedBevel) h = 1 - abs(h*2.0 - 1.0); 39 | h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness); 40 | h = min(h, 1.0-_BevelClamp); 41 | h *= _Bevel * bevelWidth * _GradientScale * -2.0; 42 | 43 | float3 va = normalize(float3(1.0, 0.0, h.y - h.x)); 44 | float3 vb = normalize(float3(0.0, -1.0, h.w - h.z)); 45 | 46 | return cross(va, vb); 47 | } 48 | 49 | float3 GetSurfaceNormal(float2 uv, float bias, float3 delta) 50 | { 51 | // Read "height field" 52 | float4 h = {tex2D(_MainTex, uv - delta.xz).a, 53 | tex2D(_MainTex, uv + delta.xz).a, 54 | tex2D(_MainTex, uv - delta.zy).a, 55 | tex2D(_MainTex, uv + delta.zy).a}; 56 | 57 | return GetSurfaceNormal(h, bias); 58 | } 59 | 60 | float3 GetSpecular(float3 n, float3 l) 61 | { 62 | float spec = pow(max(0.0, dot(n, l)), _Reflectivity); 63 | return _SpecularColor.rgb * spec * _SpecularPower; 64 | } 65 | 66 | float4 GetGlowColor(float d, float scale) 67 | { 68 | float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale; 69 | float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale; 70 | glow = saturate(abs(glow/(1.0 + t))); 71 | glow = 1.0-pow(glow, _GlowPower); 72 | glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel 73 | return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2)); 74 | } 75 | 76 | float4 BlendARGB(float4 overlying, float4 underlying) 77 | { 78 | overlying.rgb *= overlying.a; 79 | underlying.rgb *= underlying.a; 80 | float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb); 81 | float alpha = underlying.a + (1-underlying.a)*overlying.a; 82 | return float4(blended, alpha); 83 | } 84 | 85 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407bc68d299748449bbf7f48ee690f8d 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c334973cef89a9840b0b0c507e0377ab 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3997e2241185407d80309a82f9148466 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d930090c0cd643c7b55f19a38538c162 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d0603b6d5186471b96c778c3949c7ce2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt: -------------------------------------------------------------------------------- 1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/ 2 | 3 | Please visit their website to view the complete set of their emojis and review their licensing terms. -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 381dcb09d5029d14897e55f98031fca5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8f05276190cf498a8153f6cbe761d4e6 3 | timeCreated: 1480316860 4 | licenseType: Pro 5 | TextScriptImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/TextMesh Pro/Sprites/EmojiOne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/TextMesh Pro/Sprites/EmojiOne.png -------------------------------------------------------------------------------- /Assets/WSATestCertificate.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/Assets/WSATestCertificate.pfx -------------------------------------------------------------------------------- /Assets/WSATestCertificate.pfx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca9d660d9b75b4b4daa78a6f1da0e171 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/csc.rsp: -------------------------------------------------------------------------------- 1 | -unsafe -------------------------------------------------------------------------------- /Assets/csc.rsp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 518d45130b564b848ab890cc2243c9ed 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/gmcs.rsp: -------------------------------------------------------------------------------- 1 | -unsafe -------------------------------------------------------------------------------- /Assets/gmcs.rsp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e737fd57af785df4980c1115b45b686d 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Assets/packages.config.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4f4b793c9f1e1d49888c1b4cfdbdf60 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | validateReferences: 1 13 | platformData: 14 | - first: 15 | Any: 16 | second: 17 | enabled: 0 18 | settings: {} 19 | - first: 20 | Editor: Editor 21 | second: 22 | enabled: 0 23 | settings: 24 | DefaultValueInitialized: true 25 | - first: 26 | Windows Store Apps: WindowsStoreApps 27 | second: 28 | enabled: 0 29 | settings: {} 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /Assets/smcs.rsp: -------------------------------------------------------------------------------- 1 | -unsafe -------------------------------------------------------------------------------- /Assets/smcs.rsp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 679af2bd46415124a828af51c6f844ca 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Severin Pereto 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopedRegistries": [ 3 | { 4 | "name": "Microsoft Mixed Reality", 5 | "url": "https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry/", 6 | "scopes": [ 7 | "com.microsoft.mixedreality", 8 | "com.microsoft.spatialaudio" 9 | ] 10 | } 11 | ], 12 | "dependencies": { 13 | "com.microsoft.mixedreality.toolkit.examples": "2.5.1", 14 | "com.microsoft.mixedreality.toolkit.foundation": "2.5.1", 15 | "com.microsoft.mixedreality.toolkit.tools": "2.5.1", 16 | "com.unity.barracuda": "1.0.4", 17 | "com.unity.collab-proxy": "1.2.16", 18 | "com.unity.ide.rider": "1.1.4", 19 | "com.unity.ide.vscode": "1.2.3", 20 | "com.unity.test-framework": "1.1.18", 21 | "com.unity.textmeshpro": "2.1.1", 22 | "com.unity.timeline": "1.2.17", 23 | "com.unity.ugui": "1.0.0", 24 | "com.unity.xr.oculus.standalone": "2.38.4", 25 | "com.unity.xr.openvr.standalone": "2.0.5", 26 | "com.unity.xr.windowsmr.metro": "4.2.3", 27 | "com.unity.modules.ai": "1.0.0", 28 | "com.unity.modules.androidjni": "1.0.0", 29 | "com.unity.modules.animation": "1.0.0", 30 | "com.unity.modules.assetbundle": "1.0.0", 31 | "com.unity.modules.audio": "1.0.0", 32 | "com.unity.modules.cloth": "1.0.0", 33 | "com.unity.modules.director": "1.0.0", 34 | "com.unity.modules.imageconversion": "1.0.0", 35 | "com.unity.modules.imgui": "1.0.0", 36 | "com.unity.modules.jsonserialize": "1.0.0", 37 | "com.unity.modules.particlesystem": "1.0.0", 38 | "com.unity.modules.physics": "1.0.0", 39 | "com.unity.modules.physics2d": "1.0.0", 40 | "com.unity.modules.screencapture": "1.0.0", 41 | "com.unity.modules.terrain": "1.0.0", 42 | "com.unity.modules.terrainphysics": "1.0.0", 43 | "com.unity.modules.tilemap": "1.0.0", 44 | "com.unity.modules.ui": "1.0.0", 45 | "com.unity.modules.uielements": "1.0.0", 46 | "com.unity.modules.umbra": "1.0.0", 47 | "com.unity.modules.unityanalytics": "1.0.0", 48 | "com.unity.modules.unitywebrequest": "1.0.0", 49 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 50 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 51 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 52 | "com.unity.modules.unitywebrequestwww": "1.0.0", 53 | "com.unity.modules.vehicles": "1.0.0", 54 | "com.unity.modules.video": "1.0.0", 55 | "com.unity.modules.vr": "1.0.0", 56 | "com.unity.modules.wind": "1.0.0", 57 | "com.unity.modules.xr": "1.0.0" 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: MS HRTF Spatializer 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_StandaloneWindows.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 3, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "UsePlatformSDKLinker": false, 9 | "CpuMinTargetX32": 0, 10 | "CpuMaxTargetX32": 0, 11 | "CpuMinTargetX64": 0, 12 | "CpuMaxTargetX64": 0, 13 | "CpuTargetsX32": 6, 14 | "CpuTargetsX64": 72 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_WSAPlayer.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 3, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | m_DefaultMaxAngluarSpeed: 7 35 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/LabAssistVision.unity 10 | guid: 89d168185020d1347a31d368fc3005b0 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 0 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | m_LogWhenShaderIsCompiled: 0 66 | m_AllowEnlightenSupportForUpgradedProject: 0 67 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13960, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_ScopedRegistriesSettingsExpanded: 1 16 | oneTimeWarningShown: 0 17 | m_Registries: 18 | - m_Id: main 19 | m_Name: 20 | m_Url: https://packages.unity.com 21 | m_Scopes: [] 22 | m_IsDefault: 1 23 | - m_Id: scoped:Microsoft Mixed Reality 24 | m_Name: Microsoft Mixed Reality 25 | m_Url: https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry 26 | m_Scopes: 27 | - com.microsoft.mixedreality 28 | - com.microsoft.spatialaudio 29 | m_IsDefault: 0 30 | m_UserSelectedRegistryName: 31 | m_UserAddingNewScopedRegistry: 0 32 | m_RegistryInfoDraft: 33 | m_ErrorMessage: 34 | m_Original: 35 | m_Id: scoped:Microsoft Mixed Reality 36 | m_Name: Microsoft Mixed Reality 37 | m_Url: https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry 38 | m_Scopes: 39 | - com.microsoft.mixedreality 40 | - com.microsoft.spatialaudio 41 | m_IsDefault: 0 42 | m_Modified: 0 43 | m_Name: Microsoft Mixed Reality 44 | m_Url: https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry 45 | m_Scopes: 46 | - com.microsoft.mixedreality 47 | - com.microsoft.spatialaudio 48 | m_SelectedScopeIndex: 0 49 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.4.15f1 2 | m_EditorVersionWithRevision: 2019.4.15f1 (fbf367ac14e9) 3 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - Spatial Awareness 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /developer-console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/developer-console.png -------------------------------------------------------------------------------- /teaser.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookieofcode/LabAssistVision/1eb988a629e442c07b62c03532bf893a168075c1/teaser.gif --------------------------------------------------------------------------------