User Tools

Site Tools


informatica:realidad_virtual:app:disparo

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

informatica/realidad_virtual/app/disparo.1603913909.txt.gz · Last modified: 2020/10/28 19:38 by jose