jueves, 8 de mayo de 2014

Unity3D Scripting: Como usar el giroscopio

Aquí vuelvo a dejar un pequeño script que tuve que usar en su momento y que es bastante sencillo de usar realmente.
¿Que es un Giroscopio?
Creo que Wikipedia da una muy buena definición del mismo, pero a nivel funcional dentro de nuestro smartphone podríamos resumirlo en que, es el que se encarga de saber cual es la rotación del mismo, en Unity3D a través del mismo componente nos facilita también detectar la gravedad que se está ejerciendo en el dispositivo al dejarlo caer o la aceleración al desplazarlo.

El principal uso del giroscopio que podemos encontrar en muchas aplicaciones móviles de manera nativa sin que tengamos que tratar con el mismo es saber si está en vertical, en horizontal, boca abajo...

Aquí un ejemplo muy básico sobre las propiedades del giroscópio en Unity3D:

using UnityEngine;
using System.Collections;

public class Giroscopio : MonoBehaviour
{
 void Start()
 {
  Input.gyro.enabled = true; //Habilitar el giroscopio
 }
 
 void FixedUpdate ()
 {
  Debug.Log("Rotacion: "+Input.gyro.attitude); //Rotación del giroscopio
  Debug.Log("Aceleracion: "+Input.gyro.userAcceleration); //Aceleración del dispositivo
  Debug.Log("Gravedad: "+Input.gyro.gravity); //Gravedad  del dispositivo
 }
}
Lo primero de todo es habilitar el giroscopio por si no estaba habilitado ya, así que en el inicio de nuestro script lo habilitamos de esta manera.

Input.gyro.enabled = true;
Una vez habilitado, cuando queramos ver la información es tan sencillo como estos tres ejemplos que he mostrado:

  Debug.Log("Rotacion: "+Input.gyro.attitude); //Rotación del giroscopio
  Debug.Log("Aceleracion: "+Input.gyro.userAcceleration); //Aceleración del dispositivo
  Debug.Log("Gravedad: "+Input.gyro.gravity); //Gravedad  del dispositivo
Algo que podríamos hacer para probar que funciona sería cambiar la rotación de un cubo delante de la cámara y usar la rotación dada en Input.gyro.attitude para entender un poco mejor el comportamiento y de ahí, aplicarlo como queramos en nuestro videojuego.

Utilidades para esto hay miles, solo hay que pensar un poco en que te gustaría hacer.

1 comentario: