![Page 1: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/1.jpg)
![Page 2: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/2.jpg)
![Page 3: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/3.jpg)
Visual Studio Technologies & Windows Platform Development MVP
Xamarin MVP
Software Developer at Plain Concepts
• Blog: http://geeks.ms/blogs/jsuarez
• Email: [email protected]
• Twitter: @jsuarezruiz
![Page 4: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/4.jpg)
![Page 5: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/5.jpg)
Si, váis a
poder
probar!
![Page 6: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/6.jpg)
VR vs AR
![Page 7: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/7.jpg)
![Page 8: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/8.jpg)
dotNetMálaga 2017
Virtual Reality
![Page 9: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/9.jpg)
![Page 10: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/10.jpg)
dotNetMálaga 2017
Agumented Reality
![Page 11: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/11.jpg)
Las HoloLens en detalle
![Page 12: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/12.jpg)
Un holograma es un objeto como cualquier otro del mundo
real, con una gran diferencia, no es físico, esta
enteramente realizado por luz.
Los objetos holográficos se pueden ver desde diferentes
ángulos, distancias, como un objeto físico real.
Los hologramas no ofrecen ningun tipo de Resistencia al ser
presionados o tocados porque en realidad, no tienen
cuerpo físico ni masa.
![Page 13: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/13.jpg)
¿Qué son?
Microsoft HoloLens es el primer ordenador
holográfico con Windows 10.
Es totalmente independiente, no necesita ninguna
conexión a PC, teléfono, etc.
Microsoft HoloLens permite anclar hologramas en el
espacio real físico ofreciendo una nueva forma de
interacción
Microsoft Hololens soporta realidad aumentada.
![Page 14: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/14.jpg)
Principales características
1. Cámara
2. PC
3. Lentes
4. Audio
5. Sensores
6. Botones
![Page 15: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/15.jpg)
Características
Intel Atom x5-Z8100
2 GB RAM
64 GB HDD (54GB espacio libre)
4 cámaras de entorno (“Kinect”)
4 Micrófonos (2 laterales cancelación ruido)
GPU/HPU
2-3h duración batería (uso intenso entorno a 2h)
Windows 10 32 bits
Apps oscilan entre 20MB 200MB.
![Page 16: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/16.jpg)
dotNetMálaga 2017
![Page 17: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/17.jpg)
DEMODEMODEMO
Un vistazo a las HoloLens
![Page 18: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/18.jpg)
Desarrollo
![Page 19: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/19.jpg)
El SDK:
• Plantillas Visual Studio
• Emulador
• Unity 5.4 o superior para HoloLens
![Page 20: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/20.jpg)
![Page 21: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/21.jpg)
Requisitos:
• Hyper-V
• 64Bits
• Soporte para DirectX 10
Podemos interactuar usando el ratón para emular el movimiento de la cabeza,
el gaze y la acción.
También podemos usar el teclado para ejecutar acciones.
![Page 22: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/22.jpg)
Holographic DirectX 11 App
App UWP que usa SharpDX y C#.
![Page 23: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/23.jpg)
dotNetMálaga 2017
![Page 24: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/24.jpg)
DEMODEMODEMO
Vemos plantillas y emulador
![Page 25: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/25.jpg)
dotNetMálaga 2017
• Unity es un motor de
videojuego
multiplataforma.
• Añade soporte a
HoloLens.
• Toolkit con
herramientas para
tener acceso a
características.
![Page 26: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/26.jpg)
![Page 27: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/27.jpg)
dotNetMálaga 2017
![Page 28: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/28.jpg)
1. Mirada (Gaze)
2. Gestos
3. Voz
4. Sonido especial
5. Spatial mapping
![Page 29: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/29.jpg)
dotNetMálaga 2017
Gaze input
![Page 30: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/30.jpg)
dotNetMálaga 2017
HD color camera
![Page 31: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/31.jpg)
dotNetMálaga 2017
Spatial Mapping
![Page 32: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/32.jpg)
dotNetMálaga 2017
Spatial Mapping
![Page 33: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/33.jpg)
dotNetMálaga 2017
Gesture input
Air Tap Bloom
![Page 34: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/34.jpg)
dotNetMálaga 2017
Voice input
![Page 35: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/35.jpg)
dotNetMálaga 2017
Spatial Sound
![Page 36: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/36.jpg)
dotNetMálaga 2017
Bluetooth connectivity
![Page 37: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/37.jpg)
dotNetMálaga 2017
Compartir Holograma por Wifi
![Page 38: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/38.jpg)
dotNetMálaga 2017
![Page 39: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/39.jpg)
dotNetMálaga 2017
¿Qué vamos a ver?• Crear App 3D con el sistema solar.
• Uso de modelos 3D.
• Crear proyectos para HoloLens.
• Gestión de cámara y posicionamiento.
• Spatial Sound.
• Air Tap.
• Comandos de voz.
![Page 40: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/40.jpg)
dotNetMálaga 2017
https://goo.gl/xXB73aConjunto de Assets (texturas, modelos, etc.) a utilizar.
![Page 41: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/41.jpg)
![Page 42: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/42.jpg)
File > New Project
1. Introduce el nombre del proyecto
2. Selecciona la localización del proyecto.
3. OK.
![Page 43: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/43.jpg)
Los proyectos Wave Engine cuentan con la siguiente
estructura:
• El archivo .weproj, archivo de solución Wave Engine.
• Carpeta Content, contiene todos los assets de la app,
puedes importar directamente desde herramientas como
Photoshop, 3dsMax, Blender, etc.
• Una solución Visual Studio por profile(Cada profile o
perfil se asocia con una plataforma como UWP, Windows,
Android, etc..)
![Page 44: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/44.jpg)
WaveEngine cuenta con una serie de componentes que permiten utilizar una
cámara estéreo de acuerdo a diferentes tecnologías de AR / VR (Oculus, Google
Cardboard, HoloLens…).
![Page 45: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/45.jpg)
Tras crear una entidad básica,
contaremos con lo básiso.
Añadimos el componente
VRCameraRig a la entidad anterior.
![Page 46: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/46.jpg)
El componente anterior ya se encarga de crear una jerarquía como la siguiente:
Esta jerarquía se utiliza para mantener un sistema 3D de cámara estéreo, que permite “dibujar”
en cada ojo por separado y ayuda a los desarrolladores a saber dónde se encuentra cada
característica especial (ojos, posicionador de posición, etc ...).
![Page 47: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/47.jpg)
• TrackingSpace: Permite ajustar el espacio de seguimiento a los
requisitos de la aplicación. Por ejemplo, por defecto, todas las unidades de
posición de seguimiento proporcionadas por Microsoft HoloLens se miden
en metros, por lo que si desea utilizar centímetros en lugar de metros, sólo
necesita escalar la entidad TrackingSpace 100 veces.
• LeftEyeAnchor: Esta es la entidad de la cámara del ojo izquierdo.
Siempre coincide con la posición del ojo izquierdo.
• RightEyeAnchor: Esta es la entidad de la cámara del ojo
derecho. Siempre coincide con la posición del ojo derecho.
• CenterEyeAnchor: Esta entidad se coloca en la posición media
entre la posición de los ojos izquierdo y derecho. Esta entidad se utiliza
comúnmente para conocer la posición "cabeza".
• TrackerAnchor: Cámara de seguimiento de posición.
![Page 48: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/48.jpg)
También se añade el componente HololensProvider a la entidad cámara (la entidad que tiene
el componente VRCameraRig). Este componente es responsable de actualizar las entidades de
jerarquía VRCameraRig con la información de las HoloLens y configura las cámaras adaptarlas
a las gafas HoloLens.
![Page 49: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/49.jpg)
Una aplicación HoloLens es básicamente una aplicación
Universal Windows Platform (UWP) con alguna
inicialización especial.
Edit > Project Properties
![Page 50: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/50.jpg)
A nivel visual el usuario DEBE tener feedback.
Normalmente esto se consigue con
indicadores visuales. En Wave Engine
contamos con el behavior GazeBehavior para
este objetivo junto a GazeCollider.
Estados:
• Undetected
• Ready
• AirTap
![Page 51: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/51.jpg)
Todos los gestos de HoloLens están disponibles a través del
servicio SpatialInputService. Por lo tanto, para empezar a
interactuar con los gestos, es necesario registrar ese
servicio. Esto se suele hacer en Game.cs
WaveServices.RegisterService(new SpatialInputService());
![Page 52: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/52.jpg)
var spatialInput = WaveServices.GetService<SpatialInputService>();
if (spatialInput.IsConnected){var state = spatialInputService.SpatialState;if (state.IsSelected){// Do an action while the Select gesture is active
}}
![Page 53: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/53.jpg)
La voz es una forma importante de entrada en HoloLens.
Le permite dirigir directamente un holograma sin depender
de los gestos. Sólo necesitas…hablar.
Estas funciones se exponen en
KeywordRecognizerService. Para comenzar a interactuar
con comandos de voz, se debe registrar el servicio. Esto se
suele hacer en Game.cs:WaveServices.RegisterService(new KeywordRecognizerService());
![Page 54: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/54.jpg)
var keywordService = WaveServices.GetService<KeywordRecognizerService>();
if (keywordService.IsConnected){// 1. Sets the keywordsthis.keywordService.Keywords = new string[] { "Begin Action", "End Action" };
// 2. Start voice recognitionthis.keywordService.Start();
// 3. That event is fired when a specified keyword is recognizedthis.keywordService.OnKeywordRecognized += this.OnKeywordRecognized;
}
![Page 55: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/55.jpg)
// This method is fired when a keyword is recognizedprivate void OnKeywordRecognized (KeywordRecognizerResult result){switch (result.Text){case “Test":// Begin the actionbreak;
}}
![Page 56: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/56.jpg)
DEMODEMODEMO
App desde cero paso a paso
![Page 57: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/57.jpg)
Preguntas y respuestas.
¿Dudas?
&
![Page 58: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/58.jpg)
Gracias!
![Page 59: dotNetMálaga 2017 - Taller Hololens con Wave Engine](https://reader034.vdocuments.us/reader034/viewer/2022050613/5a64b3e67f8b9a88148b47a5/html5/thumbnails/59.jpg)