This is an old revision of the document!
Juego de disparo
Oculus GO
Abrimos Unity
./UnityHub.AppImage
Seleccionamos NEW y la versión 2020.1.10f1
Ponemos nombre disparo y seleccionamos 3D
Configuramos el proyecto para Android, vamos a File, Build Settings y pulsamos Switch platform. Tarda 30 segundos.
Pulsamos player Settings y ponemos el nombre de nuestra compañia y de la aplicación y la versión si queremos
Mas abajo, en Minium API Level seleccionamos Android 6.0 api level 23 en el desplegable
Instalamos el plugin de XR
Tarda unos segundos y seleccionamos oculus que tarda otros pocos segundos:
Ahora instalamos el paquete de Oculus. Aquí explico como descargar: XXXXXXXXXXXXXXXXXXXXX
Para instalarlo, en la barra del menú, vamos a Assets > Import Package > Custom Package y seleccionamos el paquete de la versión 18 al ser las GO OculusIntegration_v18.unitypackage
Nos aparece ventana para importar. Pulsamos import. Tarda bastante, como unos 10 minutos Sale un aviso que la api es obsoleta, le damos a Go Ahead!. Pide también instalar una nueva versión de OVRPlugin, decimos que si y nos pedirá reiniciar
Vamos a usar una escena ya creda para reutilizar los componentes. Vamos a Assets > Oculus > VR > Scenes y añadimos GearVrControllerTest, bien haciendo doble click o arrastrando a la ventana de arriba Hierarchy
Eliminamos elementos que no usaremos como cube y un Canvas
Lo grabamos en file > Save as dentro de el directorio Scenes
Vamos a File > Build Settings y pulsamos Add Open Scenes y seleccionamos la que acabamos de grabar
Creamos elementos para la escena. Un suelo y unos cubos con un cilindro encima. Debajo
Que quede algo así:
Para crear la bala, creamos una capsula y giramos las x 90º y le ponemos tamaño 0.1
Sobre Assets, botón derecho, create folder Scripts donde guardaremos nuestros scripts.
Dentro de la carpeta, botón derecho Create > C# Script. Lo llamamos bala y con este contenido:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Bala : MonoBehaviour { public float speed = 20.0f; private Rigidbody rb; // Start is called before the first frame update void Start() { rb = gameObject.GetComponent<Rigidbody>(); Destroy(gameObject, 10); } // Update is called once per frame void Update() { rb.AddForce(transform.forward * speed); } private void OnCollissionEnter(Collision collision) { Destroy(gameObject); } }
Ahora asignamos el script al elemento. Lo podemos hacer arrastrando sobre el elemento en Hierarchy o seleccionando el elemento y arrastrarlo en las propiedades de la derecha. Tiene que quedar así. Podemos modificar la variable velocidad de la bala porque la hemos hecho pública:
Creamos una carpeta Prefabs en Assets y arrastramos el elemento que hemos creado como bala ahí. Ya podemos borrar el elemento de hierarchy.
Para probar que funciona, pulsamos