#Event – Materials used on “Lessons learned building #Hololens 3D apps from a 2D app developer”

 

Hi !

Yesterday I was lucky to get invited to participate in an event, and I shared my experiences learning on how to develop Apps for Hololens. (link). I was still kind of sick, so my voice was not as good as I want, however, I think the ideas were there :D.

As always, here are the materials for the event

The UrhoSharp samples apps is available here (link)

And this are the links I talked about during the event

Greetings @ Toronto

El Bruno

Advertisements

#Event – Materiales del evento “Lessons learned building #Hololens 3D apps from a 2D app developer”

 

Hola !

Ayer tuve la suerte de participar en un evento sobre Hololens, donde comenté mis experiencias creando apps para Hololens (link). Mi voz no me acompañó durante el evento, sin embargo creo que pude transmitir la idea y al final pasamos un buen rato.

Como siempre aquí estan los materiales

Y el código fuente de las apps basadas en UrhoSharp se pueden descargar desde aquí (link)

Y los links que comenté durante el evento

Saludos @ Toronto

El Bruno

#HoloLens – #URHOSharp Project Template for Visual Studio 2015

Hello!

Quick post on Sunday after I finished in a a very bad shape the Niagara Falls Half Marathon. Thanks to Egor Bogatob (@egorbo) we have a specific project template to create projects UWP for Hololens with URHOSharp.

 

holo-urhosharp-vs-template-02

Even if the project type is Universal Windows Platform, the way an App starts is kind of different from the one we have in the Visual Studio UWP template. In this one, we have to create a class of type HoloApplication and instantiating it from the Main() of our app..

clipboard02

There are more details to have in has, as the model that is used to to initialize them elements 3D or animations that will use in the App for Hololens. But well, it is not time to talk about this… fast post!

Greetings @ 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

#Event – Materiales del evento #Hololens para programadores 2D

Hola !

Después de una sesión bastante interesante con la comunidad C# desde México, llega el momento de compartir los materiales de la charla. Como siempre empiezo por las slides

El código fuente de las apps se puede descargar desde GitHub (link).

Y finalmente dejo un par de links interesantes que comenté durante la sesión.

Saludos @ Toronto

El Bruno

#Hololens – Simple Gaze tracking using #UrhoSharp

Hello!

Another Friday quick post. In today’s post I’ll share an easy way to enable or disable the Gaze (Hololens mouse style pointer) using UrhoSharp. In the following video (2X speed) we can see how the gaze follows the point of gaze. And I can activate or disable the Gaze tracking with an AirTap gesture.

holo-hideshow-gaze-03

It interesting of this example, is that you can implement with 10 lines of code. See the code of the class leading. Details important

  • In the Start() overrides
    • Active the cursor in the line 23
    • Active capture gestures of type AirTap on line 22
    • I initialize the SpatialMapping, that it is necessary to show the Gaze, lines 25 to 27
  • When it detects a gesture of type AirTap, change a flag and enable or disable the cursor. This could be done without the flag, but then use it in a more complete example.
  • Routines in lines 37 to 80 are those that are responsible for the SpatialMapping.

clipboard02

The source code for the app is shared in my github account

Greetings @ Toronto

El Bruno

References

#Hololens – Simple Gaze tracking con #UrhoSharp

Hola !

Otro post rápido de viernes, en este caso para mostrar lo simple que es activar o desactivar el Gaze (puntero en Hololens) utilizando UrhoSharp. En el siguiente vídeo (velocidad 200X) podemos ver como el gaze sigue el punto de la mirada. El tracking del Gaze lo activamos o desactivamos con un AirTap.

holo-hideshow-gaze-03

Lo interesante de este ejemplo, es que se puede implementar con 10 líneas de código. Veamos el código de la clase principal. Detalles importantes

  • En Start()
    • Activo el cursor en la línea 23
    • Activo la captura de gestos de tipo AirTap en la línea 22
    • Inicializo el SpatialMapping, que es necesario para poder mostrar el Gaze, líneas 25 a 27
  • Cuando se detecta un gesto de tipo AirTap, cambio un flag y Habilito o Deshabilito el cursor. Esto lo podría hacer sin el flag, pero luego uso el mismo en un ejemplo más completo.
  • Las rutinas en las líneas 37 a 80 son las que se encargan del SpatialMapping.

clipboard02

El código fuente del ejemplo se puede descargar desde aqui

Saludos @ Toronto

El Bruno

References

#Hololens – Adding 3D text hologram in our Holo World using AirTap

Hello!

In today’s sample I’ll show how we can take advantage of some of the capabilities included in URHO for Hololens. I’ll do a Spatial Mapping of a room and with an AirTap gesture I’ll create and position a text hologram in the real world.. This element is created in the position where it is looking at the camera and remains anchored in the world of holograms until it is destroyed.

 

project-01

Before sharing the code of the full sample, I need to improve the the way I’m defining position of the element. I’m doing calculations using the RightCamera as source position, and I have to finish adjusting to that element is more centered.

The PositionText() function is the responsible of create them elements of text and add the same in a collection of the scene. It also performs a validation to check there are no more than 5 elements, to not consume all the memory with useless objects.

clipboard02

Line 67, I define the position of the element, this is the part which requires quite a bit of improvement. As soon as understand it best way of make it, will share the project and explain others details of the same.

Greetings @ Toronto

El Bruno

References

#Hololens – Creando 3D text layers con AirTap

Hola !

En el ejemplo de hoy veremos como usando URHO, podemos aprovechar las capacidades de Spatial Mapping y con un gesto AirTap crear un elemento de texto. Este elemento se crea en la posición donde está mirando la cámara y queda anclado en el mundo de hologramas hasta que el mismo se destruya.

project-01

Antes de compartir el código del ejemplo completo, voy a terminar de depurar la posición final del elemento. Como estoy haciendo cálculos con RightCamera, tengo que terminar de ajustar que el elemento quede más centrado.

La función PositionText() es la encargada de crear los elementos de texto y agregar los mismos en una colección de la escena. Luego se valida que no haya más de 5 elementos para no consumir toda la memoria con objetos inútiles.

clipboard02

La linea 67, que es donde defino la posición del elemento, es la que requiere un poco de mejora. En cuanto comprenda la mejor forma de hacerlo, compartiré el proyecto y explicaré otros detalles del mismo.

Saludos @ Toronto

El Bruno

References

#Hololens – #Xamarin, #URHO and an Spatial Mapping sample (with 2 more lines of code it became a Shooting Game)

Hello!

A few days ago I wrote on how we can now use Xamarin and URHO to create Hololens apps. As always, it’s great to have a 3rd option as well as Unity and Wave Engine, and in this case, URHO is fairly simple to understand.

A few days ago, in addition original samples, the URHO team have added a sample on how to work with SpatialMapping and Hololens. This means, we can now have a “real time spatial mapping of objects detected with the Hololens”, and get them to act with our holograms.

In the following video we can see how we can move a red cube, until the app detects that it can “settle” on a flat surface. At that time with an AirTap cube settles in the flat surface and the cube changes it color to gray.

holo-urho-spatial-mapping-02

From this moment on, we can shoot colored balls using an AirTap gesture and we can see how they act with the cube and the elements detected such as a bank or a wall.

The OnUpdate() function, is used to process each Frame. Here I verify if a SpatialMapping context has been obtained. If we have a valid SpatialMapping, I check if the surface where the camera is looking (RayCast) is flat enough to settle the bucket (lines 77 to 80).

clipboard02

Once I position the bucket, I change the color to gray and update the bucket position. Another interesting function is ThrowBall(). Here we create a sphere in the scene with a Random color; and then fires it toward the position that the right camera is pointing.

clipboard04

Note: I use the Right Camera, but also is possible to use LeftCamera.

Finally the function OnSurfaceAddedOrUpdated() is where I perform the process for the SpatialMapping. Within this function detected items are added or deleted in _environmentNode which is a node created from the main scene.

clipboard06

The code you can download from: https://github.com/elbruno/Blog/tree/master/Hololens/URHOPhysics

Greetings @ Toronto

El Bruno

References