Una vez hecho estos cambios vamos a crear ahora las paletas con las que vamos a pintar nuestro juego. Así que nos vamos a la ventana de TilePalette y pulsamos en la opción Create New Palette y la llamamos Ground y después pulsaremos el botón Create.
Nos preguntará en que carpeta queremos guardarla por lo que buscaremos la carpeta Tiles>- Ground y que lo guarde. Repetiremos este mismo proceso para las otras dos paletas que quedan Interior y Walkable.
Dentro de cada paleta tenemos que meterle los tiles que necesita para poder pintar en nuestro juego por lo que en Ground deberemos seleccionar el tile ground_atlas y arrastrarlo al interior de la paleta. Al hacerlo nos va indicar que donde queremos guardarlo. Deberemos guardarlo dentro de la carpeta Tiles>Ground al igual que hemos hecho con la paleta que creamos con nombre Ground.
Repetimos este mismo proceso para la Paleta Interior con el tile atlas_i6x que se encuentra en la subcarpeta interior-pack de la carpeta Environment y luego con el tile walkable-atlas que se encuentra en la misma subcarpeta que ground. Tendremos así tres paletas de tiles en total cada una con sus elementos listos para pintar en el escenario.
Para pintar nuestro escenario deberemos utilizar la herramienta rectangulo para señalar aquello que queremos copiar en nuestro mapa y con la herramienta pincel la añadiremos a nuestra escena y activando en la jerarquía el tilemap de Ground.
A la hora de pintar objetos con transparencias como por ejemplo el puente que se ve en este tilemap deberemos cambiar a GroundDecorations para que se dibujen dichas transparencias si no se verá con un borde negro que no queda estético. Alterna estos dos tilemap para todos los objetos con transparencias.
Pintamos el escenario con la herramienta pincel una vez que hemos seleccionado el área que queremos reproducir en nuestra pestaña Scene.
Una vez que hayas dejado tu tilemap y tu escenario como a ti te gusta. Tomáte tu tiempo para hacerlo. Tenemos que empezar a crear la zona Walkable o la zona donde el personaje va a interactuar con los objetos pasando por delante y por detrás
Seleccionamos el tile palette de walkable y el tile activo tiene que estar en walkable también
Ahora mismo si nosotros pintamos nuestro objeto en el mapa que hemos creado la configuración que tenemos actualmente no hará el efecto de que nuestro personaje pueda ponerse por delante o por detrás del elemento. Lo podemos comprobar si cogemos un personaje de la carpeta de characters si nosotros lo importamos a escena, es decir arrastramos un sprite, ahora se pondrá detrás del poste que acabamos de pintar. Y el efecto que buscamos es que pueda moverse tanto delante como detrás.
Para arreglarlo nos vamos a la configuración del proyecto desde la opción Edit>Project Settings y dentro de la ventana nos tenemos que venir a Graphics y cambiar el parámetro Transparency Sort Mode a Custom Axis
Esto quiere decir que los Sprites se van a ordenar según uno de los ejes que nosotros le indiquemos. Le vamos a decir a Unity que nos ordene nuestros sprites según la posición en Y en el eje vertical es decir que cuanto más arriba esté más al fondo estará. Un sprite que este por encima de otro estará por detrás de él. Por lo que cambiamos el eje de la Y a 1 así que cuando más alto esté se pondrá por detrás y la Z la dejamos en 0.
Una vez cambiado estos parámetros podremos ver que si movemos nuestro personaje hacía abajo este se pone delante de nuestro objeto mientras que si lo subimos pasa a estar detrás.
Pero todavía no es perfecto ya que el efecto sucede cuando pasamos con el personaje desde el centro del mismo sin ser los pies del personaje los que al pasar debería hacer que nuestro objeto quedará por detrás. Esto es debido a que el pivote de nuestro sprite se encuentra en el centro de la figura.
Para cambiar eso nos vamos a donde tenemos nuestro sprite de sensei dentro de la carpeta Characters y desde la ventana del Inspector abrimos el Sprite editor y desde ahí abrimos la ventana de Slice y donde pone Pivot lo cambiamos de Center a Bottom para que así el centro de la figura o pivote se encuentre en la base del mismo es decir sus pies
Y deberemos hacer lo mismo para el objeto que estamos pintando, el poste habrá que cambiar su pivote del centro a la parte inferior del mismo. Así que abrimos el archivo walkable-atlas que se encuentra dentro de la carpeta atlas dentro de Environment. Abrimos su sprite editor desde la ventana de Inspector y repetimos la misma operación que hemos hecho con sensei.
Para terminar deberemos seleccionar nuestro personaje en este caso sensei y cambiar desde el inspector el parametro Sprite Sort Point a Pivot para que coja como referencia dicho pivote del personaje y pueda hacer que el pivote esté en los pies del personaje.
Ahora si os habéis dado cuenta ocurre que la visualización de nuestro tile en la paleta está descuadrado hacía arriba en la malla, si nosotros seleccionamos un elemento veremos que este está unos puntos por encima. Esto se debe a que la paleta está pintando el tile en el centro en vez de la parte interior. Así que vamos a ver como arreglar esto.
Nos iremos a la carpeta Tiles>Walkable y dentro de esta abrimos el prefab tal y como aparece en la siguiente imágen:
Este prefab es la paleta, Unity la utiliza como un prefab y dentro tiene una serie de configuraciones.
Tenemos que abrirlo darle dos clics y así entraremos en modo edición del prefab que en este caso si nos fijamos es lo mismo que en la paleta.
Dentro de la ventana Jerarquía seleccionamos el objeto Layer 1 y en el Inspector le decimos en la opción Tile anchor que la Y esté en 0 para que así baje nuestro sprite al pie del grid o malla.
Ahora ya podemos pintar todos los objetos que queramos dentro del apartado walkable y que sean inte- ractuables con nuestro personaje.
Lo siguiente que vamos a crear son unos prefabs que utilizaremos como elementos decorativos individuales que son dos arboles y una casa. Se encuentran dentro de la carpeta de recursos Proyecto final> Assets> Prefabs>Environment. Los arrastraremos a nuestro proyecto a una carpeta que creemos llamada Prefabs dentro de ella Environment dentro de la carpeta Assets.
Ya tenemos listos los prefabs que colocaremos en la escena como objetos únicos. Aunque deberemos cambiar la configuración del propio sprite que hay dentro del prefab para que su pivote se encuentre en la parte baja y así cuando nuestro personaje pase por delante cuando sus pies estén por encima de la base de la casa ahí nuestro personaje pase a estar detrás.
Para ello vamos a seleccionar el sprite de cada prefab desde la carpeta props n decoration y buscar los archivos en la lista, seleccionarlos y desde el Inspector cambiar su pivot a Bottom
Ahora seguiremos construyendo a nuestro parecer el escenario con nuestro jugador hasta que quede a nuestro gusto. Importante a la hora de pintar cada tilemap tenemos que tener seleccionada la capa que corresponda, los objetos ground en su capa ground y lo mismo con el resto de objetos.
Dentro de nuestra escena podremos seguir construyendo nuestro tilemap hasta tener una escena similar a la que se ve a continuación
Diseñar escenarios en Unity implica crear entornos virtuales y niveles que sean visualmente atractivos, funcionales y que proporcionen una experiencia de juego inmersiva:
1. Planificación:
- Conceptualización: Define la temática y el estilo del escenario. Considera la historia, la ambientación y las mecánicas del juego.
- Diseño de Niveles: Esboza el diseño del nivel, identifica puntos de interés, rutas y áreas clave.
2. Modelado del Terreno:
- Utiliza herramientas como Terreno de Unity o software de modelado 3D para crear el terreno del escenario.
- Añade detalles como colinas, valles, ríos y cualquier característica geográfica necesaria.
3. Modelado de Objetos y Elementos del Escenario:
- Crea modelos 3D o utiliza activos de la Asset Store para representar objetos y elementos en el escenario.
- Agrupa objetos relacionados para facilitar su manipulación y optimizar el rendimiento.
4. Texturización:
- Aplica texturas a los modelos para darles color y detalle.
- Considera el uso de materiales y shaders para mejorar la apariencia visual.
5. Iluminación:
- Utiliza la iluminación adecuada para establecer la atmósfera del escenario.
- Experimenta con luces direccionales, puntos de luz y sombras para crear un ambiente visualmente atractivo.
6. Postprocesamiento:
- Utiliza efectos de postprocesamiento para mejorar la calidad visual, como antialiasing, profundidad de campo y efectos de color.
7. Diseño de Rutas y Espacios Jugables:
- Diseña rutas que guíen al jugador a través del nivel.
- Asegúrate de que los espacios sean lo suficientemente grandes para la jugabilidad y la exploración.
8. Detalles Ambientales:
- Añade detalles ambientales como vegetación, rocas, hierba, etc.
- Utiliza partículas para simular efectos como lluvia, nieve o polvo.
9. Sonido Ambiental:
- Asocia efectos de sonido al entorno para mejorar la inmersión.
- Considera el uso de música para establecer el tono del escenario.
10. Colisiones y Interactividad:
- Configura colisiones para evitar que el jugador atraviese objetos.
- Agrega interactividad con elementos del escenario, como puertas, interruptores o elementos destructibles.
11. Optimización:
- Optimiza el rendimiento del escenario utilizando niveles de detalle (LOD), eliminando activos innecesarios y ajustando la configuración de la cámara.
12. Pruebas y Ajustes:
- Juega y prueba el escenario para identificar posibles problemas de diseño, rendimiento o jugabilidad.
- Ajusta el diseño según el feedback obtenido.
13. Documentación:
- Documenta detalles importantes del diseño, como ubicaciones clave, mecánicas y cualquier información relevante.
14. Iteración:
- Realiza iteraciones según los comentarios y ajusta el diseño del escenario según sea necesario.