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, seleccionamos Android 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 esfera y le ponemos tamaño 0.3
En la parte de abajo añadimos componente Rigidbody pulsando Add Component
Una vez añadido deeselccionamos el check en “Use Gravity”
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