jairogarcíarincón
La Cámara
Una de las cosas que habrás podido apreciar es que la Main Camera no sigue al jugador, y además tampoco está muy bien posicionada.
Para empezar, selecciona Main Camera en la Hierarchy Window y, en la sección Transform de la Inspector window, ajusta la Position para que coincida con 0, 10, -10 y la Rotation para que coincida con 45, 0, 0. En la ventana Camera Preview deberías ahora ver el suelo y el jugador centrados.
Ahora, arrastra la Main Camera dentro del Jugador, de modo que se convierta en un GameObject hijo (Child). Has creado la típica configuración de juego en 3ª persona, en la cual al moverse o girar el jugador, la cámara siempre lo sigue a una determinada distancia, como observándolo. Si ahora movemos al jugador, veremos que la cámara se mueve con él.
No obstante, si ejecutamos el juego, vemos que dado que la cámara es hija del jugador, al rotar el jugador también rota la cámara, creando un efecto bastante descontrolado.
De este modo, la solución de que la cámara sea hija del jugador no nos vale, y lo que debemos hacer es crear un script que controle el movimiento de la cámara.
Vuelve a arrastrar la Main Camera de modo que ya no sea hija del Jugador y crea un nuevo C# script llamado CamaraController con el siguiente código (Pon atención a los comentarios autoexplicativos):
Asocia el script recién creado a la Main Cmaera y arrastra el Jugador a la caja GameObject del apartado Camara Controller del Inspector window de Main Camera. El resultado debería ser similar a éste y si ejecutas el juego, verás que funciona correctamente.
Publicado el 05 de Febrero de 2025
unityvideojuegos3d