Saltar al contenido principal

AR+VR HTC Proyector Shooter

Descripción General

En esta investigación se desarrolló una interacción en la que se utilizan los controles del HTC, pero sin el casco, usando como puente visual un proyector o pantalla. Con ayuda del control se marcan las cuatro esquinas de la pantalla y un ultimo en el centro pero un poco alejado, de esta manera se puede colocar un plano justo en la posición y  orientación (virtual) de la pantalla en el mundo real. La cámara se coloca a una distancia especifica de la pantalla para que el plano ocupe todo el espacio de la pantalla, de esta manera la pantalla sirve como una ventana del mundo virtual. Se creó un pequeño shooter para probar esta tecnología.

Proceso de Desarrollo

  1. Se crea un Plano, colocado en la Layers "Plane" y lo haces hijo de un objeto vacío (PlaneParent). Este plano tiene que tener una rotación local de (-90, 0, 180), para que a la hora de aplicar la función LookAt al padre del plano, el plano apunte desde el frente.
  2. Crea una cámara (MainCamera) que sea hijo del Plano, esta cámara tiene que tener una rotación local de (90,0,0), para que la cámara este apuntando al plano.
  3. Crea un objeto que sea hijo del controller(right ) del [CamaraRig], posicionarlo en el punto desde donde quieras que se calibre la pantalla. agrégale el Tag CalibrationPoint
  4. Agregale el script CameraView al plano.
    1. En este script cuando presionas la tecla c, se coloca en modo de calibración.
    2. Cuando esta en modo de calibración, tienes que posicionar el control en una esquina y presionar el gatillo, después repetir este proceso con las tres esquinas faltantes en secuencia circular. Al final posiciona el control en el centro del plano, aléjalo un poco y presiona una ultima vez el gatillo.
    3. Una vez que se guardaron los 5 puntos, se quita automáticamente el modo calibración y se coloca el plano en el punto de la pantalla.
  5. A los controller agrégale un objeto (FirePosition) que tenga una rotación de (60,0,0) para que el disparo salga desde una posición mas cómoda. A este objeto agrégale el script Gun.
  6. Script Gun:
    1. Bullet: prefab de las balas que se estaban instanciando
    2. Bulletspeed: La velocidad con la que se disparan las balas
    3. LayerMask: Tienes que selecionar Plane solamente
    4. CollisionObject: Es un objeto que funciona como mira, ya que se posiciona desde donde estas apuntando en el plano
    5. MainCamera: La camara que es hija del plano.
    6. Mando: cual sera el comando que haga que dispare, RightHand o LeftHand
  7. Este script crea un rayo que cuando colisiona con el plano mueve la posición del CollisionObject y habilita la opción de disparo.
  8. A la hora de presionar el gatillo para disparar, la bala sale desde la posición de la MainCamera y con dirección a la collision del plano con el rayo (o la posición del Collision Object), de esta manera el punto al que disparas es a donde se dirigirá la bala.

Enlaces de descarga

Los enlaces de descarga ya sean plugins o Assets.

Archivos Adjuntos

Comentarios

Comentarios generales o extras de la investigación.

Ventajas

  • Varios individuos pueden estar jugando al mismo tiempo

  • Pueden ser mas juegos no solo Shooter

Desventajas

Ubicación Proyecto

\INMERSYSSERVER\Dirección Desarrollo Tecnológico\Investigación\Proyectos de investigacion\Investigación HTC proyector Shooter

Elaboró

Juan Carlos Cuevas Flores