NOVEDADES IMPORTANTES

Acceso a todos los contenidos

Hace unos meses decidimos suspender nuestra actividad de formación online en Digital Learning SL (propietaria de esta web).

Desde entones hemos mantenido operativos nuestra plataforma de teleformación y webs de contenidos Academia Android y Digital Learning, habilitando un acceso libre y gratuito a todos estos recursos, incluyendo cursos y contenidos Premium que antes requerían un registro y pago previo, lo que ha propiciado un volumen de visitas constante de usuarios que consultan esta formación.

Venta-traspaso de los contenidos

Creemos que estas webs por sus contenidos, posicionamiento SEO y atracción de tráfico (junto a sus cuentas en redes sociales asociadas, incluyendo Twitter y Facebook de nuestro curso de Community Manager) pueden ser una oportunidad para emprendedores o compañías de diversos ámbitos (formación, marketing y publicación online, desarrollo software,…) que quieran:

  • Captar usuarios, alumnos o clientes para sus proyectos, productos y servicios.
  • Comercializar los contenidos bajo múltiples fórmulas: venta de publicidad, modelos freemium o de pago, suscripciones…
  • Crear un nuevo proyecto a partir de esta infraestructura de recursos.

Si tú o tú empresa estáis interesados en adquirirlos, ofrecemos su traspaso en propiedad exclusiva. Puedes contactar conmigo en «contacto@digitallearning.es» (por favor entiende que los correos que no vengan suficientemente identificados no vamos a atenderlos). Gracias.

Manuel Cabello (Socio-Director de Digital Learning/Academia Android)

Este es el número de tutoriales publicados:

Pincha en los textos de los contadores de Tutoriales publicados, Premium o Series de tutoriales para tener un detalle de las publicaciones que comprenden.

Desde hace unos meses, todos los contenidos, incluidos los Premium, son accesibles libre y gratuitamente.

  • Premium
  • Acceso libre
130
Acceso libre
126
Premium

Algunos datos sobre los contenidos que hemos publicado hasta la fecha:

74
Videos
61
Proyectos descargables
contacto[arroba]digitallearning.es
Video Implementar Dos Camaras En Unity3D

Ejemplo en Unity 3D: activar segunda cámara en una escena

Post Series: Conociendo Unity 3D (III)

Siguiendo con el GameObject Camera de Unity 3D, explicaremos un ejemplo donde se activará una segunda cámara en un escena del videojuego.

Al final de este tutorial incluimos un video (acceso para usuarios Premium) donde explicamos en detalle el desarrollo de este ejemplo y mostrando el resultado que tendría en nuestra escena del juego en la ventana Game.

Además, en la próxima serie de tutoriales seguiremos presentando GameObjects de Unity 3D

La escena tendrá dos cámaras: una de ellas será la cámara principal, que se sitúa desde el punto de vista del jugador, y otra secundaria que inicialmente estará desactivada y que se activará cuando se produzca una acción concreta en el desarrollo del juego (en este caso será una colisión de un objeto con el jugador). Esta cámara estará situada más alejada y perpendicular al escenario, mostrando así un punto de vista diferente del juego en acción.

Vamos por tanto a establecer la lógica, creando un script para que en el momento en que se produzca una colisión de un objeto primitivo (Sphere) con el personaje del jugador, se cambie la cámara desde la que visualizamos el videojuego.

Elementos imprescindibles para el desarrollo del ejemplo:

  • GameObject Terrain para definir el escenario del juego.
    (Nota: se recomienda revisar los tutoriales que publicamos sobre creación y configuración de un terreno)
  • GameObject Sphere, que además de los componentes que adjunta por defecto, deberá añadirse un componente «Rigidbody» (componente que añade a un GameObject algunas características que tendría un cuerpo en la realidad, como podrían ser masa, gravedad, fricción, etc.).
  • GameObject First Person Controller para mover un jugador por la escena.
    Este GameObject será padre de los objetos Graphics (formado por los componentes Mesh Filter y Mesh Renderer descritos en tutoriales anteriores) y Main Camera (cámara principal del juego que se establece desde el punto de vista del jugador).

    Recordemos que este prefab First Person Controller proporciona una vista subjetiva para manejar un personaje a lo largo del escenario y es un tipo de asset personalizado, formado por un GameObject que define sus componentes y propiedades.
    Se describirá más en profundidad cuando se trate el componente Character Controller, pero para facilitar la comprensión y puesta en marcha del ejemplo se comentará que para añadir este objeto a la escena bastará con seleccionarlo dentro de los recursos disponibles, a partir de la ruta: Assets > Standard Asset > Character Controllers y arrastrar el prefab First Person Controller a la escena.
    (Nota: para tenerlo disponible, es necesario importar el recurso al crear el proyecto o bien desde el menú Assets > Import Package > Character Controller)

  • Script «CambioCamara» para controlar la colisión del personaje que maneja el usuario con el objeto Sphere.
  • Cámara secundaria, inicialmente no activa, desde la que visualizar una perspectiva diferente al producirse la colisión entre el objeto Sphere y el GameObject First Person Controller.

Cámara principal

Imagen que muestra la Cámara principal

Cámara secundaria

Imagen que muestra Cámara secundaria

Scripts

Aunque hablaremos más en detalle de los scripts en Unity 3D en publicaciones posteriores, necesitamos ya crear uno para este ejemplo, así que vamos a dar unas nociones básicas para que puedas utilizarlo.

¿Qué son los scripts en Unity 3D?

Un script ó guión es un pequeño programa que podemos asociar a uno o varios GameObjects como si se tratara de un componente más. Su objetivo es proporcionar una funcionalidad concreta a ese GameObject a través de la ejecución de los procedimientos y órdenes que contenga dicho script.

Unity admite de forma nativa tres lenguajes de programación: C# (muy similar a Java), UnityScript (variación de Javascript) y Boo (derivado de Python).
Nosotros emplearemos C# en todos nuestros ejemplos y proyectos por ser el que prima Unity (le da un soporte especial y la documentación está basada en él) y por ser el más utilizado, con mucha diferencia, por la comunidad de usuarios de Unity, lo que facilita luego el aprovechamiento de scripts ya creados por dicha comunidad en nuestros propios videojuegos.

En cuanto al formato y la forma de añadiros, los scripts no son más que archivos de texto plano, y podemos crearlos de la forma siguiente:

  • Con el botón derecho del ratón sobre cualquier carpeta de la ventana «Project», y seleccionando la ruta Create > Javascript, C# Script o Boo Script (también es posible acceder a esta opción a través de la ruta Assets > Create).
  • Otra posibilidad, es seleccionando el botón «Add Component» situado al final de la ventana «Inspector» del GameObject seleccionado, y pulsando sobre la opción New Script (a continuación se deberá indicar el nombre del script y el lenguaje de programación en el que se desea programar):

Pantalla creación script en Unity

 

A continuación, se describirá el Script encargado de activar la cámara secundaria y cambiar la vista del videojuego al colisionar el objeto Sphere y el GameObject First Person Controller. Tanto este script como el desarrollo del ejemplo en general,  lo verás también explicado en el video que presentamos al final, mostrando el resultado en la escena del juego.

En el script se puede apreciar cómo se hace uso de un método predefinido denominado OnCollisionEnter , que será invocado cada vez que el objeto que lleva este Script colisiona con otro objeto de la escena. Dentro de este método, se establece la condición de que si la colisión se establece con un objeto llamado «Sphere», la cámara secundaria será activada y se visualizará el videojuego desde esta nueva perspectiva. Los GameObjects declarados a nivel de clase, se inicializan desde el editor de Unity (se deben establecer las variables GameObject en public para acceder a ellas):

Una vez se ha descrito e implementado el script CambioCamara dentro del GameObject FirstPersonController, será necesario asignar a cada una de las variables de ámbito public y de tipo GameObject ( camaraVisionExterna  y firstPerson), las diferentes cámaras que intervienen en el proyecto.

A continuación, te mostramos el desarrollo y resultado de este ejemplo en el siguiente video:

 

This Post Has One Comment

Comments are closed.