#Hololens – Solución al problema con TapToPlace agregando validación de planos (hasta que #HoloToolkit sea compatible)

Hola !

Cuando trabajas con productos en estado Beta puedes encontrarte con errores como el que se comenta en el siguiente post del foro:

VS2017/U5.6 Crash – WinRTScriptingObjectWrapper::InternalAddRef Reference Count cannot be zero (link)

TLTR la versión actual de HoloToolkit no está soportada por Visual Studio 2017 y Unity3D 5.6. 

En otras palabras hay funcionalidades como la de Tap To Place que al momento de lanzar una App hacen que la misma se cierre sin lanzar una excepción ni nada parecido. Parece que es por un problema de cálculo de Anchors, como comentan aquí (link).

Pues bien, tomando un poco de código deHoloToolkit y otro poco de Holographic Academy, he creado 2 clases que me permiten solucionar el problema. Por ahora soporta lo siguiente

  • Realizar un scanner inicial del ambiente basado en tiempo y en cantidad de frames encontrados para piso y pared
  • Se puede iniciar un proceso de Tap to Place sobre un holograma
  • El proceso valida además si la posición a la que se quiere mover el holograma es válida.
  • La validación es en primer lugar sobre mover a planos horizontales o verticales y luego si hay espacio para el holograma

Veamos el siguiente ejemplo. En el mismo trabajo sobre un holograma de tipo cylinder, cuando se activa el TapToPlace se crea un rigidBox para mostrar con colores si podemos posicionar o no el cilindro.

2017 04 26 Holo TapToPlace with Validation 01

El código completo del ejemplo se puede descargar desde aquí (link).

Saludos @ Toronto

El Bruno

References

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s