Unity 2D: videojuego de plataformas

Manejar la cámara por código con referencia al personaje

¡Prueba gratis durante 10 días

nuestros 1144 cursos !

Prueba gratis Mostrar modalidades de suscripción
Aprenderemos a crear nuestra propia clase C# que nos permitirá controlar la cámara de nuestro videojuego. Esta clase C# será enlazada a nuestro objeto del escenario llamado main camera, y seguirá al personaje 2D.

Transcripción

Ahora que nuestro personaje se mueve por el escenario, en este caso por la plataforma, nos va a empezar a quedar pequeño el espacio. Así que vamos a crear una plataforma. Voy a duplicarla, la voy a llevar a la derecha y quizás una más a la derecha. Vamos a hacer lo siguiente: voy a tener que mover al personaje y que la cámara nos siga. Para eso vamos a 'scripts' y le damos clic derecho, crear un nuevo script, le pondremos 'CameraController'. Vamos a la cámara, le asignamos la clase a la cámara, suelto y abro mi clase. Aquí lo que haremos es crear una variable pública para los datos de transformación de nuestro 'Player' y otro valor, también público, para poder modificarlo si es que queremos hacerlo desde el editor de Unity. Lo vamos a llamar 'offset', que va a ser igual a '6f'. El 'Start' no es necesario porque no vamos a modificar nada y nos vamos a quedar solamente con el 'Update'. Aquí lo que le diremos a nuestra actual transformación, quiere decir, a la cámara: .position, que va a ser igual a un nuevo 'Vector 3D'. Y le diremos que vamos a decirle que el eje X va a ser igual al 'Player' . position.x' más nuestro 'offset', coma, y aquí solamente quiero mover... Va a depender de nosotros, en realidad. Si yo quiero mover mi personaje de forma horizontal con la cámara fija, aquí en el valor del eje Y y el eje Z, le pasamos la posición de la cámara. Pero si queremos que al momento de saltar nuestro personaje, la cámara también nos siga en los saltos, tendríamos que pasar la propiedad del 'Player' en la posición del eje Y. Va a depender de lo que queramos hacer. Por lo pronto, yo quiero que solamente se muestre de forma horizontal en el eje Y: coma, 'transform .position.z' Grabo y vamos a Unity. Esperamos que actualice el Inspector de la cámara y vemos que nos pide la referencia del 'Player'. ¿Cómo hacemos eso? Selecciono el 'Player' y rápidamente voy y pongo la referencia dentro del Inspector. Recuerden que si lo hacen lento, por ejemplo, si le hacen clic, se va a ir. Es muy usual que cuando uno recién está aprendiendo, Unity piense que hace clic y lo puede mover. No, tiene que ser clic y arrastrar de forma inmediata. O, como saben, pueden darle clic a este botón y buscar el 'Player' dentro de todos los elementos que tenemos en el 'selectTransform' de la escena. Grabamos, le damos Play y la cámara está un poco movida, pero no se preocupen que eso lo vamos a arreglar en este momento. Vamos a seleccionar la cámara y lo vamos a poner un poco más acá. Le damos Play y vemos que nuestro personaje está un poco movido hacia la izquierda. Muy bien, lo que vamos a hacer es, a la cámara le voy a resetear los valores. La cámara nos va a permitir ver un área. Vamos a aprovechar que tenemos acá la vista Game y bueno, está un poco cerca, porque he reseteado los valores. Y ahí, por ejemplo, yo puedo empezar a ver más o menos lo que yo quiero. Voy a ir a esta opción, que dice que el aspecto es libre, lo vamos a poner en 16:9 Aquí, ahora sí, puedo calcular más o menos lo que yo voy a ver. Vuelvo a la vista en 2D. Sin embargo, no es lo que yo quiero, yo quiero que esté el personaje más pegado a la izquierda, así que seleccionando la cámara, voy a mover mi cámara más o menos hasta acá. Este valor que tiene la posición del eje X es este de aquí. Si yo lo cambio, dependiendo de lo que quiera hacer, lo puedo copiar, por ejemplo ahí, lo copio y se lo puedo pasar como parámetro, por eso le pusimos público. Le doy Enter, ejecuto y ahí está la cámara tal como la acomodamos. Voy a avanzar y estoy avanzando con mi cámara en el escenario. Voy a retroceder y lo mismo, como que aquí no queda bien que esté pegado a la izquierda, así que voy a mover un poco mi cámara al centro, ahí, creo que en 0 estaría bien, a ver... Sí, en 0, entonces lo voy a poner en 0 acá también. Entonces, avanzo a la derecha o regreso, miren como la cámara sigue. Hay un pequeño 'ease in' ¿no? Por ejemplo si paro ahí, me puedo caer. ¿Cómo puedo arreglar eso? Selecciono el 'Player' y acá donde dice Linear Drag, vamos a cambiarle el valor y le vamos a poner por ejemplo, 2. Probamos, me voy a acercar un poco para ver. Aún tiene un 'ease in', así que le vamos a cambiar a 5. Con esto evito que haya una especie de arrastre. Es mucho, así que le vamos a poner 3, vamos a probar cómo se ve, aquí, ya no se arrastra. Y ahora habría que cambiar el valor del salto, pero ya estamos cumpliendo con el objetivo. La cámara, vamos a ver aquí abajo, ya está funcionando sobre las plataformas, se mueve. Y recuerden que, cualquier cosa, podríamos cambiar los valores de la fuerza del salto del 'Rigidbody' aquí o de la cámara acá, dentro del Inspector.

Unity 2D: videojuego de plataformas

Crea un clásico juego de plataformas en 2D, dando a tu personaje todas las características de su desplazamiento, genera enemigos y distintos niveles y pantallas.

2:44 horas (33 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.