diff --git a/Assets/HoloToolkit/Input/README.md b/Assets/HoloToolkit/Input/README.md index 1167186baee..abc685a18d7 100644 --- a/Assets/HoloToolkit/Input/README.md +++ b/Assets/HoloToolkit/Input/README.md @@ -1,5 +1,9 @@ ## [Input]() -Scripts that leverage the HoloLens input features namely Gaze, Gesture and Voice. +Input System Diagrams: +![alt text](/External/ReadMeImages/InputSystemDiagram.png) +![alt text](/External/ReadMeImages/CursorSystemDiagram.PNG) + +##Scripts that leverage HoloLens input features namely Gaze, Gesture and Voice. This contains a fully-featured **input module**, which allows you to handle various types of input and send them to any game object being currently gazed at, or any fallback object. It also includes a **cursor** similar to the HoloLens shell cursor that fully leverages the Unity's animation system. @@ -142,18 +146,6 @@ Event data for an event coming from the navigation gesture. ##### SourceStateEventData.cs Event data for an event that represents an input source being detected or lost. -#### GestureManipulator.cs -A component for moving an object via the GestureManager manipulation gesture. - -When an active GestureManipulator component is attached to a GameObject it will subscribe -to GestureManager's manipulation gestures, and move the GameObject when a ManipulationGesture occurs. -If the GestureManipulator is disabled it will not respond to any manipulation gestures. - -This means that if multiple GestureManipulators are active in a given scene when a manipulation -gesture is performed, all the relevant GameObjects will be moved. If the desired behavior is that only -a single object be moved at a time, it is recommended that objects which should not be moved disable -their GestureManipulators, then re-enable them when necessary (e.g. the object is focused). - #### InputSources ##### BaseInputSource.cs @@ -318,4 +310,4 @@ When you start the scene, your keywords will automatically be registered on a Ke --- ##### [Go back up to the table of contents.](../../../README.md) ---- \ No newline at end of file +--- diff --git a/Assets/HoloToolkit/Utilities/README.md b/Assets/HoloToolkit/Utilities/README.md index 9f2de7f1876..1214ac58a79 100644 --- a/Assets/HoloToolkit/Utilities/README.md +++ b/Assets/HoloToolkit/Utilities/README.md @@ -11,14 +11,7 @@ Simple Tagalong billboard displaying application's frames per second. A drop in direction indicator that stays in the users view at all times. #### HeadsUpDirectionIndicatorPointer.prefab -A quad based pointer to be used with the HeadsUpDirectionIndicator prefab to create an out of box direction indicator.k - -#### Main Camera.prefab -Unity camera that has been customized for Holographic development. -1. Camera.Transform set to 0,0,0 -2. 'Clear Flags' changed to 'Solid Color' -3. Color set to R:0, G:0, B:0, A:0 as black renders transparent in HoloLens. -4. Set the recommended near clipping plane. +A quad based pointer to be used with the HeadsUpDirectionIndicator prefab to create an out of box direction indicator. ### [Scripts](Scripts) @@ -122,4 +115,4 @@ This scene demonstrates how to use WindowOcclusion.shader. It positions a virtu --- ##### [Go back up to the table of contents.](../../../README.md) ---- \ No newline at end of file +--- diff --git a/External/ReadMeImages/CursorSystemDiagram.PNG b/External/ReadMeImages/CursorSystemDiagram.PNG new file mode 100644 index 00000000000..45fd423a23e Binary files /dev/null and b/External/ReadMeImages/CursorSystemDiagram.PNG differ diff --git a/External/ReadMeImages/InputSystemDiagram.png b/External/ReadMeImages/InputSystemDiagram.png new file mode 100644 index 00000000000..49f22ae9753 Binary files /dev/null and b/External/ReadMeImages/InputSystemDiagram.png differ diff --git a/GettingStarted.md b/GettingStarted.md index 6b7239c5628..347f4997997 100644 --- a/GettingStarted.md +++ b/GettingStarted.md @@ -1,16 +1,21 @@ This document describes how to prepare the HoloToolkit sourcecode for use in your project. -# Preparing the HoloToolkit-Unity Code +To get started either download the HoloToolkit-Unity Asset Package or grab a copy of this repository and download the entire project. -We'll build the HoloToolkit from source since it's a reasonable assumption -that you want the latest and greatest if you are reading this document. To -do this you need to clone the GitHUb repository at +# 1a. Download a HoloToolkit-Unity Asset Package +You can download the latest unity package from [Releases](https://github.com/Microsoft/HoloToolkit-Unity/releases) folder + +[Continue to step 2](/GettingStarted.md#2-using-holotoolkit-unity-in-your-project) + +# 1b. Preparing the HoloToolkit-Unity Code + +If you'd like to build the HoloToolkit from the source, you'll need to clone the GitHub repository at https://github.com/Microsoft/HoloToolkit-Unity.git. If you've never cloned a repo before then you should consider using the GitHub desktop client, see https://desktop.github.com/. -# Preparing to use the HoloToolkit-Unity package +# 1c. Preparing to use the HoloToolkit-Unity package Open the folder you just cloned in Unity. @@ -18,32 +23,36 @@ Now, inside of Unity ensure you have the Assets folder selected in the project v `Assets -> Export Packageā€¦` -# Using HoloToolkit-Unity in Your Project +# 2. Using HoloToolkit-Unity in Your Project Open or create your project in Unity. `Assets -> Import Package -> Custom Packageā€¦` [Navigate to the package -you exported above]. **NOTE**: The HoloToolkit-Examples folder (and all its content and subfolders) is optional when you import the custom package. You can uncheck it in the **Import Unity Package** window that shows all the contents of the package before performing the import. +you have either downloaded or exported above]. **NOTE**: The HoloToolkit-Examples folder (and all its content and subfolders) is optional when you import the custom package. You can uncheck it in the **Import Unity Package** window that shows all the contents of the package before performing the import. You should now have a `HoloToolkit` menu item. -# Preparing a Scene for Holographic Content +`HoloToolkit -> Configure -> Apply HoloLens Scene Settings` -Remove the default camera in the project (the next step creates a camera - customized for holographic development). +# 3. Preparing a Scene for Holographic Content +Create a new Scene: `File -> New Scene` -Add the `Main Camera.prefab` (found under HoloToolkit/Utilities/Prefabs). +Remove the default `Main Camera` and `Directional Light` objects in the scene. -You will probably want to add `ManualCameraControl.cs` (found under - HoloToolkit/Utilities/Scripts) to the -`Main Camera`. This allows the user to manually control - the camera when in the Unity player. +Add the `HoloLensCamera.prefab` (found under HoloToolkit/Input/Prefabs). -`HoloToolkit -> Configure -> Apply HoloLens Scene Settings` +Add the `DefaultCursor.prefab` (found under HoloToolkit/Input/Prefabs/Cursor). + +Create an empty object in your scene and make sure its transform is zeroed on the origin. +Rename it 'Managers'. -`HoloToolkit -> Configure -> Apply HoloLens Project Settings` +Add the `InputManager.prefab` (found under HoloToolkit/Input/Prefabs) as a child to your new 'Managers' Object. -# Building Your Project for HoloLens +Add an `Event System` to your scene by right click on 'Managers' object in your scene Hierarchy: `UI -> Event System`. + +Optionally, if you wish to enable spatial mapping in your scene, you can add the `SpatialMapping.prefab` (found under HoloToolkit/SpatialMapping/Prefabs) to your 'Managers' object. Be aware that you must also enable `Spatial Perception` Capabilities: `Edit/Project Settings/Player -> Inspector -> Publishing Settings/Capabilities`. + +# 4. Building Your Project for HoloLens `HoloToolkit -> Build Window -> Build Visual Studio SLN` @@ -51,10 +60,7 @@ You will probably want to add `ManualCameraControl.cs` (found under Deploy to the emulator or device. -# Deploying your HoloLens app using Visual Studio +# 5. Deploying your HoloLens app using Visual Studio 1. Select **x86** in your build configuration 2. Select emulator or the device that you're using 3. Run the app - - -