Introduction: Como Convertir Un Videojuego Para Dodocase

About: Fundador de The Inventor's House Hackerspace, Movimiento Maker y Hardware Libre, DIY, Workaholic

En esta ocasión vamos a mostrar como convertir un videojuego normal en uno para los Dodocase o CardBoard, una actividad que realizamos durante la BuildNight de Octubre en el hackerspace The Inventor's House

En esta ocasión usaremos el juego creado por Khevna

Requerimientos:

Queremos aclarar que este instructable esta basado en el de Khevna

https://www.instructables.com/id/Intro-to-Unity/?ALLSTEPS

Step 1: Añadir Plugin

Descargamos de la pagina oficial el plugin y damos doble clic en el archivo, se abrirá una ventana como la que aparece en las imágenes y presionamos el botón importar para tenerlo en nuestro IDE

Step 2: Añadir Las Dos Camaras

Ahora en la sección de Assets aparece una carpeta llamada Dive lo seleccionamos y arrastramos al personaje

Step 3: Código Para Detección Del Iman

En esta ocasión el imán de nuestros dodocase nos servirá como botón de acción para que nuestro personaje pueda disparar, les dejamos el código usado

* “Globals” script *
static var initialrv : int = 0; // Raw compass vector to test the magnet against static var prevrv : int = 0; // Raw compass vector to verify that initialrv is valid static var initialrot : ScreenOrientation;

function Start ()
{ initialrot = Screen.orientation; Input.compass.enabled = true; }

function Update () {

// Catch if the initialrv is completely wrong
// (sometimes the magnitude can jump from // 15 to 400, depending on how the player // rotates the device). // if (prevrv > initialrv * 23) { initialrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude); }

// Catch if the user flips the screen to change the orientation
// if (initialrot != Screen.orientation || initialrv == 0) { initialrot = Screen.orientation; initialrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude); }

// Catch if the magnitude has fallen by a
// huge amount since the last update // var vectest = Mathf.RoundToInt(Input.compass.rawVector.magnitude); if (initialrv > vectest * 23) { initialrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude); }

// Refresh prevrv to test against at the start of the next update
// prevrv = Mathf.RoundToInt(Input.compass.rawVector.magnitude); }

* “GameLogic” script *

// assuming the initialrv from the global script is roughly
// consistent with the current magnitude before a button // is pressed, we can test against it. If the magnitude raises // two-fold, it indicates that the magnetic button has been // pressed. If the magnitude raises by 23 times or more, it // indicates a false-positive, at which point the initialrv is reset. // var vectest = Mathf.RoundToInt(Input.compass.rawVector.magnitude); if (vectest > Globals.initialrv * 2)

{ // Magnet button down

fire();

}

Este código esta tomado de http://www.sc0ttgames.com/?p=293

Step 4: Hora De Probar

Ahora solo es generar el APK y probar en nuestro smartphone con nuestros Dodocase

Les dejo el repositorio de proyecto para que lo puedan descargar y hacer la modificaciones necesarias

GitHub: https://github.com/sabas1080/DodocaseGame

Gracias a Jesús Ignacio por compartir este proyecto en la BuildNight

Saludos