All Projects → microsoft → Mixedrealitytoolkit

microsoft / Mixedrealitytoolkit

Licence: mit
The MixedRealityToolkit is a collection of scripts and components intended to accelerate the development of mixed reality applications targeting Windows Mixed Reality.

Projects that are alternatives of or similar to Mixedrealitytoolkit

HoloLensWithDlibFaceLandmarkDetectorExample
HoloLens With DlibFaceLandmarkDetector Example
Stars: ✭ 19 (-97.49%)
Mutual labels:  hololens, mixed-reality
Ar Vrcourse
VR,AR,MR 开发入门教程
Stars: ✭ 298 (-60.63%)
Mutual labels:  hololens, mixed-reality
Mrlightingtools Unity
A Unity library and MRTK extension for estimating and replicating the current environment's lighting on Mixed Reality devices.
Stars: ✭ 142 (-81.24%)
Mutual labels:  hololens, mixed-reality
Mr Realtime Translator
Real-time translation services in Mixed Reality. Core pieces to get audio from the mic in Unity and stream over a websocket to the Azure Translator API and process the responses - as you speak!
Stars: ✭ 22 (-97.09%)
Mutual labels:  hololens, mixed-reality
Mixedrealitytoolkit Unity
Mixed Reality Toolkit (MRTK) provides a set of components and features to accelerate cross-platform MR app development in Unity.
Stars: ✭ 4,817 (+536.33%)
Mutual labels:  hololens, mixed-reality
Dxr
DXR is a Unity package for rapid prototyping of immersive data visualizations in augmented, mixed, and virtual reality (AR, MR, VR) or XR for short.
Stars: ✭ 134 (-82.3%)
Mutual labels:  hololens, mixed-reality
Openxr Mixedreality
OpenXR samples and preview headers for HoloLens and Windows Mixed Reality developers familiar with Visual Studio
Stars: ✭ 143 (-81.11%)
Mutual labels:  hololens, mixed-reality
Holoviveobserver
Shared Reality: Observe a VR session from the same room using a HoloLens!
Stars: ✭ 126 (-83.36%)
Mutual labels:  hololens, mixed-reality
MixedRealityToolkit
Evergine.MRTK provides a set of components and features to accelerate cross-platform XR application development in Evergine.
Stars: ✭ 32 (-95.77%)
Mutual labels:  hololens, mixed-reality
KEYSDK-WH
Simplified mapping with KEY SDK.
Stars: ✭ 12 (-98.41%)
Mutual labels:  hololens, mixed-reality
MixedRealityResources
Mixed Reality related resources
Stars: ✭ 190 (-74.9%)
Mutual labels:  hololens, mixed-reality
hololens-terrain-viewer
Holographic mapping powered by ArcGIS
Stars: ✭ 36 (-95.24%)
Mutual labels:  hololens, mixed-reality
Hololenswithopencvforunityexample
HoloLens With OpenCVforUnity Example
Stars: ✭ 142 (-81.24%)
Mutual labels:  hololens, mixed-reality
Stereokit
An easy-to-use mixed reality library for building HoloLens and VR applications with C# and OpenXR!
Stars: ✭ 195 (-74.24%)
Mutual labels:  hololens, mixed-reality
SpatialAlignment
Helpful components for aligning and keeping virtual objects aligned with the physical world.
Stars: ✭ 29 (-96.17%)
Mutual labels:  hololens, mixed-reality
Mixedrealitycompanionkit
This is a MixedRealityToolkit style repository for code bits and components that may not run directly on Microsoft HoloLens or immersive headsets but instead pair with them to build experiences.
Stars: ✭ 522 (-31.04%)
Mutual labels:  hololens, mixed-reality
Nerf pl
NeRF (Neural Radiance Fields) and NeRF in the Wild using pytorch-lightning
Stars: ✭ 362 (-52.18%)
Mutual labels:  mixed-reality
HandInteraction
Using HoloLens with Hand input --- some Scripts for Unity
Stars: ✭ 17 (-97.75%)
Mutual labels:  hololens
Realitymixer
Mixed Reality app for iOS
Stars: ✭ 520 (-31.31%)
Mutual labels:  mixed-reality
Puremvc Csharp Standard Framework
PureMVC Standard Framework for C#
Stars: ✭ 335 (-55.75%)
Mutual labels:  hololens

MixedRealityToolkit (MRTK)

The mixed reality toolkit is a collection of scripts and components intended to accelerate the development of applications targeting Windows Mixed Reality.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

MixedRealityToolkit for Unity

If you are developing your app using Unity - please visit MixedRealityToolkit-Unity.

MixedRealityToolkit for Unreal

If you are developing your app using Unreal - please visit MixedRealityToolkit-Unreal.


Spatial Mapping

Plane Finding

Standalone Visual Studio solution containing the source code for the PlaneFinding DLL. Building this solution produces two variants of the DLL (one for use in the Unity Editor, and another for use at runtime on a HoloLens), along with a few simple tests for sanity testing changes to the code.


Spatial Understanding

Standalone Visual Studio solution containing the source code for the SpatialUnderstanding DLL.

SpatialUnderstanding library encapsulates the world understanding technology by for Conker and Fragments. It allows you to quickly find empty spaces on the walls, place objects on the ceiling, identify placed for character to sit, and a myriad of other spatial understanding queries.

There are three primary interfaces exposed by the module: topology for simple surface and spatial queries, shape for object detection, and the object placement solver for constraint based placement of object sets. Each of these is described below.

In addition to the three primary module interfaces, a ray casting interface can be used to retrieve tagged surface types and a custom watertight playspace mesh can be copied out.


Sharing

The HoloToolkit.Sharing library allows applications to span multiple devices, and enables collaboration between users in the same room or working remotely. Features include:

  • Runs on any platform, and can work with any programming language
  • Lobby & Session system
  • Synchronization System
  • Visual Pairing
  • Anchor Sharing
  • Profiler

Learn More...


Microphone Stream Selector

The MicStreamSelector library allows applications to easily access the different Microphone Stream Categories of any windows 10 device. On HoloLens, those capture types can be optimized for either: high-quality speech capture, VOIP transmission, or general room captures. The library can record wav files of indeterminate length, and it also allows realtime access to the mic data. The microphone audio data can be polled as desired (which works well for game engines that are running on a framerate, like Unity), or can be provided via an embedded callback in your app to deliver realtime data as it is available (in a state driven app, like flat XAML).

The provided XAML demo app is a uses the embedded callback method. It shows how to use the raw data from the microphone and also how to record wav files. https://github.com/microsoft/MixedRealityToolkit-Unity/blob/htk_release/Assets/HoloToolkit-Examples/Input/Scripts/MicStreamDemo.cs has an alternate example showing how to use this library inside of Unity.

To use, you want to call the proper MicInitialize function for your app, whether you will poll the data yourself every frame, like in Unity, or whether you want the plugin to provide the data to the app whenever it is ready, like in the provided XAML example. After initialization, you can call any of the functions in any order. When you are closing your application, you want to call MicDestroy() to properly deconstruct. If you have called MicDestroy() already in your app, you need to call MicInitialize before using again.

This plugin assumes categories where { SPEECH=0, COMMUNICATIONS=1, MEDIA=2 }. On HoloLens: SPEECH is low-quality, beam-formed voice. COMMUNICATIONS is high-quality, beam-formed voice. MEDIA is a general room capture.

Initialize & poll audio for Game Engines (e.g. Unity)

Initialize with callback for passive, state-driven apps (e.g. XAML)

  • MicInitializeDefaultWithGraph(int category, AudioGraph appGraph); Same as default, but in this case you must declare the AudioGraph in the app before passing to the plugin.

  • MicInitializeCustomRateWithGraph(int category, int samplerate, AudioGraph appGraph); Same as above, but uses custom samplerate.

When using this method, you should almost definitely be providing a micsignal callback delegate function when calling MicStartStream, as defined below and is as shown in the provided example. This delegate function is called every time a frame of audio is ready from the device.

Universal APIs

  • MicStartStream(bool keepData, bool previewOnDevice, LiveMicCallback micsignal); Starts streaming raw audio data from microphone. keepData will never drop data while recording and could cause huge memory use if used incorrectly -- defaults to false. previewOnDevice, if true, will playback the audio in realtime for monitoring/listening -- doesn't affect the actual acquisition of data. micsignal is a delegate function called by the plugin whenever audio data is ready -- should generally be used by state-driven apps (XAML) and not game engines (Unity).

  • MicStopStream(); Stops the raw audio streaming. Won't stop a recording, if in progress.

  • MicStartRecording(string filename, bool previewOnDevice); filename expects extension, e.g. "MySound.wav". previewOnDevice will play the audio stream in speakers exactly as MicStartStream would -- call MicStopStream to mute after using.

  • MicStopRecording(StringBuilder sb); sb returns the full path on disk to the wav file you just recorded.

  • MicDestroy(); Releases everything -- call when closing application or not using Microphone for long period of time.

  • MicPause(); Literally pauses everything happening -- useful for minimizing or backgrounding.

  • MicResume(); Resumes from paused state.

  • MicSetGain(float gain); Can call anytime. Default is 1, 0 is muted, and can go to +inifinity although that would be painful.

  • MicGetDefaultBufferSize(); If you did a default setup, you might want to know how much data to expect from the audio device in one chunk.

  • MicGetDefaultNumChannels(); If you did a default setup, you might want to know how many channels are in your microphone stream.


Useful resources on Microsoft Windows Dev Center

Discover Discover Design Design Develop Develop Distribute) Distribute
Learn to build mixed reality experiences for HoloLens and immersive headsets (VR). Get design guides. Build user interface. Learn interactions and input. Get development guides. Learn the technology. Understand the science. Get your app ready for others and consider creating a 3D launcher.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].