#HoloLens – Cómo crear un 3D text siempre visible usando #HoloToolkit

Hola !

Hoy dejaré los pasos para un escenario casi obligatorio cuando creamos apps con Hololens:

Cómo mostrar un mensaje de texto que siempre esté visible en el punto de vista del usuario de Hololens

Algo similar al siguiente video

holo-status-text-02

Como siempre los pasos para crear un proyecto, son los que he explicado en post anteriores.

  • Eliminar los assets por defect Main camera y Directional light
  • Grabar la escena
  • Ajustar los valores necesarios para que proyecto de Unity funcione como UWP en Hololens
    • Project Settings / Player
    • Project Settings / Quality
    • File / Build Settings
  • Importar HoloToolkit
  • Agregar los Assets
    • Main Camera
    • Spatial Mapping
    • Cursor With Feedback
  • Create Empty and Rename > Managers
    • Add Components
      • Gaze Managers
      • Gaze Stabilizer
      • Gesture Managers
      • Hands Manager
      • Text Manager (script below)
    • Add Assets
  • Create Empty and Rename > HoloCollection
    • Add Assets
      • Add 3D Text, name “TextSample”, add text “Holo World”
      • Add 3D Text, name “TextSample2”, add text “Holo Debug”

El resultado es similar al siguiente:

clipboard02

En este caso este ejemplo se encarga de

  • Mostrar el elemento TextSample siempre en el centro del POV del usuario
  • Mostrar el elemento TextSample2 en una esquina del POV del usuario

El script que posiciona los elementos es un CustomScript con el siguiente código

clipboard02

Todavía estoy aprendiendo a comprender la mejor forma de trabajar con elementos 3D, es muy probable que la función Update() se pueda optimizar mucho. Por ahora, tutoriales como este (Vector Maths) de Unity3D me han servido para comprender como trabajar con vectores en Unity3D.

El código en GitHub en este link.

Saludos @ Toronto

El Bruno

References

Advertisements

#VSTS – Ahora también con #MicrosoftTeams

Hola !

Ahora ya es público: Microsoft Teams ha sido anunciando. Hace unas horas se realizó la presentación oficial de esta herramienta, que básicamente viene a competir contra un grande como Slack. Personalmente tengo que decir que utilizo Slack, fuera del trabajo y he estado probando Microsoft Teams desde hace un tiempo at work. Cada uno tiene sus pros y sus contras. Microsoft Teams en em modelo de empresas, gana mucho en cuanto a la integración que tiene comn toda la familia de Office 365.

Y hoy también se ha hecho público el modelo de integración que tendrá con Visual Studio Team Services. Además del típico servicio de chat en equipos, tendrmos acceso a notificaciones de eventos importantes: por ejemplo cuando se crea un Bug y se nos asigna como responsable del mismo.

clipboard01

Otro detalle interesante es la capacidad de poder trabajar con los tableros Kanban dentro de Microsoft Team. Esto es un PLUS INCREIBLE en lo que se refiere a collaboración.

clipboard02

Todo el modelo de integración y soporte para Microsoft Teams se puede leer desde su entrada en el Marketplace; y el mismo estará disponible a partir del 9 de Noviembre.

Nota: Team Foundation Server on premises no estará soportado por ahora.

Saludos @ Toronto

El Bruno

References

#Minecraft – Education Edition ya a la venta ! (y algunos lo han entendido mal)

Clipboard01.png

Hola !

Después de un par de meses de espera, Microsoft ha liberado la versión para Profesores y Estudiantes de Minecraft : Minecraft Education Edition. Inicialmente esto estaba pensado para ser lanzado al comienzo del ciclo lectivo en el hemisferio norte (Septiembre), y nos llega un par de meses después.

No hay ninguna novedad importante en la forma de juego básica de Minecraft, las principales diferencias radican en los roles que se soportan. Los profesores podrán crear nuevos mundos, invitar a sus alumnos y ver el trabajo de los mismos en estos mundos. La base de esta idea es la colaboración entre padres, alumnos y profesores.

Importante: Si no conoces Minecraft, te recomiendo recorrer los materiales del site oficial de Minecraft Education Edition.

Si bien ha tenido una buena recepción en general, hay una idea que ha sido mal interpretada y creo que tal vez es porque está mal explicada. Algunos profesores comentan que:

Les parece una idea excelente, pero ellos no tienen tiempo para crear mundos y contenidos nuevos para las lecciones que imparten en sus clases.

Esto me parece correcto, si un profesor no quiere, tiene porqué crear materiales en Minecraft. Es casi seguro que un profesor no dedicará horas y horas en un mundo de Minecraft … pero sus alumnos SI. Y este es el punto importante, ayudar e incentivar a los alumnos a que creen elementos relacionados con los tópicos de clase dentro de Minecraft.

La generación que hoy está cumpliendo el papel de “alumnos” son los que dedican mucho tiempo dentro de los mundos de Minecraft, y son los que seguramente podrán asombrarnos con sus ideas.

En lo personal, me quedo asombrado con las cosas que crean mis niños en Minecraft. Cuando me cuentan los porqué de sus diseños o las ideas que tienen para esos mundos, me imagino lo bueno que puede ser toda esa creatividad guiada bajo los conceptos de los profesores.

Así que, es momento de ver si la idea es lo suficientemente buena para tener un impacto importante en la comunidad de educadores. Yo espero que si 😀

Saludos @ Toronto

El Bruno

References

#Podcast – A little #Azure history and of course, we ended up with #MicroServices (Spanish)

little-pony-and-clouds

Hello!

New episode, I with a little fever and pleasantly offset by the great JuanLu (@JuanLuElGuerre). This time we did a review of Azure history up to our days. When had last more than 60 minutes we played cut, and the road play themes as for example:

  • The history of the Azure portal
  • Some experiences with the subscriptions and the limits of payment in the principles of Azure
  • Is it possible to know ALL services possessing Azure today?, NOT
  • Who dictates the path that follows Azure?
  • Lawyers at a meeting of Cloud? oh yeah …
  • My experience with the Data Centers of Azure in Canada
  • Azure IoT and the moment of connecting the Lego to the Cloud
  • Micro services in Azure

This time there are no many official references that can share in format of links. We have spent a long time talking about our experiences and like other times, it has sounded the alarm for cutting, but we would have doubled the time of the podcast.

I hope you enjoy it. Podcast Link

Greetings @ Toronto

El Bruno

References

#Podcast – NTN 20 – Un poco de historia sobre #Azure y claro, terminamos hablando hablando de #MicroServicios

little-pony-and-clouds

Hola !

Nuevo episodio, yo con un poco de fiebre y gratamente compensado por el gran JuanLu (@JuanLuElGuerre). En esta ocasión hicimos un repaso por la historia de Azure hasta nuestros días. Cuando habían pasado más de 60 minutos nos tocó cortar, y el camino tocamos temas como por ejemplo:

  • La historia del portal de Azure
  • Algunas experiencias con las suscripciones y los límites de pago en los principios de Azure
  • ¿Es posible conocer TODOS los servicios que posee Azure hoy?, NO
  • ¿Quién dicta el camino que sigue Azure?
  • ¿Abogados en una reunión de Cloud? Si claro
  • Mi experiencia con los Data Centers de Azure en Canadá
  • Azure IoT y el momento de conectar el Lego al Cloud
  • Micro Servicios en Azure

Esta vez no hay muchas referencias oficiales que pueda compartir en formato de links. Nos hemos pasado un buen rato hablando de nuestras experiencias y como otra veces, ha sonado la alarma para cortar sino hubiésemos duplicado el tiempo del podcast.

Espero que lo disfruten. Podcast Link

Saludos @ Toronto

El Bruno

References

#HoloLens – #URHOSharp Template para proyectos en Visual Studio 2015

Hola !

Post rápido de domingo que hoy he terminado muerto después de la media maratón de las cataratas del Niágara. Gracias a Egor Bogatob (@egorbo)  ya tenemos un template específico para crear proyectos UWP para Hololens con URHOSharp.

holo-urhosharp-vs-template-02

Si bien el tipo de proyecto es Universal Windows Platform, la forma en la que se inicia el mismo es diferente a la que tenemos en la plantilla de Visual Studio. En este caso, tenemos que crear una clase de tipo HoloApplication e instanciar la misma desde el Main() de nuestra app.

clipboard02

Hay más detalles a tener en cuenta, como el modelo que se usar para poder inicializar los elementos 3D o animaciones que usaremos en la App para Hololens. Pero bueno, no es momento de hablar de esto … post rápido !

Saludos @ Toronto

El Bruno

References

#Windows10 – Nuevas APIs, ejemplos y guías de usuario para #SurfaceDial

microsoft_surface_dial

Hola !

Uno de los elementos que también me llamó la atención en la presentación de Microsoft hace 2 días, fué el Surface Dial. Si bien lo mostraron utilizandolo siempre con una Surface Studio, también es compatible con Surface Pro 4, así que probaré uno en cuanto pueda.

Aunque claro, la versión Windows 10 Creators Update ya está disponible en el Fast Ring de Windows Insiders. Esto me llevó a pensar que tal vez teníamos nuevas APIs para este device, y ahí estaban: MSDN Radial Controller Class.

Lo que también me llamo la atención es que en GitHub podíamos encontrar ejemplos de utilización de estas APIs en UWP y en apps Win32. Y una excelente guía de interacción, que seguramente ayudará a las mentes más simples (como la mía) a comprender la mejor forma de utilizar este device.

Clipboard01.png

Pues bien, dejo todo esto apuntado aquí y en cuanto esté a la venta el device y pueda conseguir uno, retomaré este tema!

Saludos @ Toronto

El Bruno

References

#Windows10 – Creators Edition: #Paint3D diversion asegurada y con una #SurfaceStudio mucho más!

Hola !

Hoy fue día de anuncios por parte de Microsoft. El principal y más comentado seguramente fue la nueva Surface Studio, que la verdad que deja el listón bastante alto para los devices de escritorio.

En realidad más allá de la Surface Studio, lo más notable (IMHO) es la incorporación de muchas funcionalidades para dar soporte al mundo 3D, en una nueva versión de Windows llamada

Windows 10 Creators Edition

Se presentaron algunos headsets de realidad virtual compatibles con esta versión (con precios razonables a partir de los $300); una app que permite escanear en 3D con una precisión asombrosa (esto olía a fake que no veas!). Y lo que más me llamó la atención: Paint 3D Preview.

Lo bueno de Paint 3D es que, si eres parte del programa de Windows Insiders, lo puedes probar ya. Yo, en honor a Halloween he creado mi propia versión del logo de Avanade en modo “creepy”.

ava-halloween-3d-03

Vuelvo al Paint 3D. La herramienta me pareció genial. Los que me conocen saben que yo soy muy fan de las herramientas simples (yo soy bastante cortito de mente), y después de probar varias herramientas de modelado 3D, Paint se destaca como algo simple pero muy poderoso. Si la puedes usar además con un stylus, la combinación nos da unas capacidades creativas muy impresionantes.

Otro detalle que me llamó la atención, es la capacidad de integrar elementos 3D a presentaciones PowerPoint. Ahora que todo lo 3D es atractivo, creo que podemos darle un punto más de happiness a nuestras presentaciones.

Obviamente, estos diseños también pueden ser utilizados desde Hololens, este punto es el que estoy intentando comprender ahora aunque me he encontrado con la fabulosa sorpresa de que el portal para compartir modelos 3D no funciona en Edge (pero si en Chrome!)

clipboard02

Os recomiendo dar un vistazo al listado completo de novedades, y lo mejor son 90 segundos de video

Saludos @ Toronto

El Bruno

PD: Recuerdas mis posts sobre el futuro en 3D?

#Hololens – Utilizando comandos de voz para mostrar un menú

Hola !

Después del post de ayer, donde comenté como seleccionar opciones en un menú con Hololens, Unity3D y HoloToolkit; hoy comentaré como mostrar el menú en una ubicación específica utilizando un comando de voz.

Lo ideal es que el menú se muestre en la dirección en la que estamos viendo con las Hololens.

Holo view Hide Menu 03.gif

En la colección Managers, agregaremos un nuevo Script con el siguiente código.

Clipboard02.png

El mismo es bastante autodescriptivo, aunque un par de puntos a comentar

  • El comando para mostrar / ocultar el menú es la palabra “Menu”
  • Las líneas 26 a 28 son en las que muestro u oculto el grupo Menu
  • Las líneas 30 a 32 son en las que muestro el menú a un 30% de su tamaño normal y lo posiciono delante de la vista de la cámara de las Hololens

Como alguien me lo ha pedido, dejo el ejemplo completo en GitHub para descargar aquí (link)

Saludos @ Toronto

El Bruno

References

#Hololens – Creando un menú con opciones con #HoloToolkit

Hola !

Llega el momento de realizar un backup de lo aprendido sobre Hololens y HoloToolkit. En este caso es relacionado a una funcionalidad de las básicas en una app

Seleccionar un elemento de un menú.

La idea es que frente a un tablero con diferentes opciones, la opción seleccionada se mostrará en un texto superior a las mismas

Holo Select Menu 04.gif

En posts anteriores ya he comentado como crear un proyecto en Unity3D y como importar el HoloToolkit. A partir de aquí, los siguientes pasos serían

  • Eliminar los assets por defect Main camera y Directional light
  • Grabar la escena
  • Ajustar los valores necesarios para que proyecto de Unity funcione como UWP en Hololens
    • Project Settings / Player
    • Project Settings / Quality
    • File / Build Settings
  • Importar HoloToolkit
  • Agregar los Assets
    • Main Camera
    • Spatial Mapping
    • Cursor With Feedback
  • Create Empty and Rename > Managers
    • Add Components
      • Gaze Managers
      • Gaze Stabilizer
      • Gesture Managers
      • Hands Manager
    • Add Assets
  • Create Empty and Rename > HoloCollection
    • Add Assets
      • Add Cube, add SAD image to cube
      • Add Cube, add HAPPY image to cube
      • Add Sphere, add SAD image to sphere
      • Add Sphere, add HAPPY image to sphere
      • Add 3D Text, name “TextResult”

En este punto la jerarquía de componentes debería quedar similar a la siguiente

clipboard02

Y llega el momento de la interacción, para esto creamos un script llamado “EmojiSelector”

clipboard05

En este script agrego un par de líneas en la operación OnSelect. Esta operación es la que se llama desde el GestureManager cuando se realiza un AirTap sobre un elemento seleccionado. El Script obtiene el elemento seleccionado desde el GazeManager y si el mismo es válido, muestra el nombre en el Text 3D llamado “ResultText”.

Saludos @ Toronto

El Bruno

References