Hola !
Durante estos ultimos meses HoloToolkit ha cambiado mucho. Estos cambios hacen que algunos de los ejemplos que he escrito ya no sean válidos. Por ejemplo, acciones básicas como detectar un AirTap. En el post de hoy, explicaré rápidamente como implementar el AirTap o Click.
Empezamos por lo básico con los siguientes pasos
- Create a 3D project in Unity3D
- Configure project to support HoloLens projects
- Clean Scene elements
- Import HoloToolkit package
- Add
- HololensCamera
- SpatialMapping
- CursorWithFeedback
- Add Empty element, Managers
- Add existing scripts
- Gaze Managers
- Gaze Stabilizer
- Input Manager
- Add existing scripts
- Add Empty element, HoloCollection
- Add 3D elements
- Cube
- Position, x:0 y:0 z:2
- Rotation, x:0 y:0 z:0
- Scale, x:0.3 y:0.3 z:0.3
- Cube
- Add 3D elements
Este es el proceso básico de creación de un proyecto de Hololens, lo que haremos ahora es asociar un script al cubo que detecte algunas acciones del usuario, como por ejemplo el AirTap. Para este ejemplo llamaré al script “CubeManager.cs“. El código del mismo es el siguiente
using HoloToolkit.Unity.InputModule; using UnityEngine; public class CubeManager : MonoBehaviour, IInputClickHandler, IInputHandler { public void OnInputClicked(InputClickedEventData eventData) { // AirTap code goes here } public void OnInputDown(InputEventData eventData) { } public void OnInputUp(InputEventData eventData) { } }
Como podemos ver la forma de capturar AirTaps, es implementando la interfaz “IInputClickHandler“. En el método OnInputClicked(InputClickedEventData eventData) podremos realizar acciones cuando el usuario haga AirTap sobre el cubo. De la misma forma si implementamos la interfaz “IInputHandler” podremos capturar los eventos “Click/Tap Down” y “Click/Tap Up” en un elemento de nuestra app.
Nota: Además de la acción AirTap, este ejemplo sirve para la acción de Click en el clicker de Hololens.
Personalmente me parece una forma mucho más “limpia” esta forma de trabajar con eventos utilizando interfaces. Aunque todavía hay camino para andar. En el siguiente post veremos como trabajar con las manos, ya que el enfoque no es orientado a interfaces.
El código de ejemplo se puede descargar desde GitHub (link)
Saludos @ Toronto
El Bruno
References
- GitHub, HoloToolkit
- GitHub, HoloToolkit Unity
- El Bruno, How to Import the HoloToolkit Unity
- El Bruno, How to place a Hologram using AirTap and HoloToolkit
- El Bruno, Creating a menu with options with HoloToolkit
- El Bruno, Using voice commands to display a menu with HoloToolkit
- El Bruno, How to create a 3D text always visible using HoloToolkit
- El Bruno, How to create a HUD (3D text always visible without HoloToolkit)
- El Bruno, How to detect hands using HoloToolkit
- El Bruno, Windows 10, Xbox One Controller, Bluetooth and some lessons learned
- El Bruno, How to use Fire Buttons actions with an XBoxOne Controller
- El Bruno, Moving and rotating holograms using an XBoxOne Controller