Adding new tiles/es

From PZwiki
Category:Modding/esAdding new tiles/es
Translation icon.png
Este artículo/sección necesita ser traducido.
Se alienta a los editores a traducir esta página lo mejor que puedan.

Esta página intenta repasar los procesos y métodos clave necesarios tanto para crear nuevos sprites para modificar PZ como para el acto físico de hacerlos jugables en el juego.

Tutoriales en vídeo

Agregar tiles al juego

Tilesheet Workflow b40.png

Arriba hay un diagrama de flujo con una descripción general del proceso del Proyecto Zomboid.

Tenga en cuenta que debemos realizar todos los procesos necesarios (empaquetado de sprites, definición de mapas, definición de sprite) para poder utilizar los tiles en el juego.

Esta guía asume que ya tienes las herramientas de mapeo instaladas y configuradas desde Steam, y que estás familiarizado con el aspecto de las hojas de sprites de los juegos.

Dibujar nuevos tiles

Software

Hay una serie de herramientas y flujos de trabajo disponibles; a continuación se muestran algunas opciones de software populares:

Además, es posible que desee comenzar con 3D, renderizando imágenes utilizando software como:

Trabajar con una hoja de sprites

Esta guía no pretende cubrir el aspecto creativo de dibujar nuevos tiles, pero se incluyen algunos consejos y trucos al final de la página.

Este enlace apunta a un archivo PSD de muestra (en la subcarpeta 2d Stuff) que tiene el tamaño de una hoja de sprites típica. Contiene las subceldas individuales de la hoja de sprites separadas por bloques sombreados, así como marcadores de piso, máscaras y referencias para los diferentes tipos de paredes.

Las hojas de mosaico suelen ser de 1024x2048 o 1024x4096. El uso de otras dimensiones causará problemas al crear el paquete de texturas. Con 1024x2048, esto te da 64 sprites en total (8 de ancho y 8 de alto), el juego se refiere a cada ubicación de sprite por número, lighting_outdoor_01_0, por ejemplo. La numeración comienza en 0 en la parte superior izquierda y aumenta hacia la derecha antes de pasar a la siguiente fila.

Cada sprite tiene un tamaño máximo de 128x256. (Tenga en cuenta que el juego tiene los llamados tamaños de textura 1x y 2x. 2x es el valor predeterminado y tiene el doble de tamaño que las texturas 1x, destinadas a computadoras de gama baja).

Los nombres de los archivos deben estar completamente en minúsculas y en formato png, por ejemplo: lighting_outdoor_01.png

Debes guardar dos copias de tu png:

  • En Tiles\2x\
  • En una carpeta separada que contenga solo sus nuevas hojas de tiles.

Cuando instaló y configuró TileZed, definió una carpeta donde puede encontrar las hojas de tiles, contiene una carpeta 2x. Las copias de sus nuevas hojas de tiles deben colocarse aquí para usarlas en los editores. Tenga en cuenta que esta ubicación variará para usted. Si instaló las herramientas a través de Steam, los tiles estarán en esa ubicación.

Esta carpeta separada puede estar en cualquier lugar que le convenga, la usará más adelante al crear el paquete de texturas y es más fácil configurar la herramienta para usar el contenido de la carpeta.

Agregar tiles a Tiled/Tilezed

New tileset.png

Agregar Tiles a TileZed es bastante sencillo. Para agregarlos a su proyecto de mapa TileZed, use Tools > Tilesets y haga clic en el ícono new. Esto abre una pequeña ventana que le permite seleccionar las hojas no utilizadas. Después de confirmar esto, su nueva hoja de mosaico estará disponible en TileZed/BuldingEd/WorldEd para su uso. Verifique la paleta de la hoja de tile. Consulte Mapping para obtener más información sobre la creación de mapas.

NOTA: Las nuevas hojas de mosaicos deben colocarse en la carpeta 2x correcta para que puedan importarse y usarse en el editor, de lo contrario, recibirá un error.

Puedes continuar editando tus sprites, TileZed se actualizará automáticamente cuando lo hagas. ¡No es necesario reiniciar ni volver a agregar su hoja!

Datos XML TileZed

En la parte inferior de la paleta Tilesheets, un icono de cuadrícula azul está habilitado de forma predeterminada: Layer Switch Enabled. Esta función seleccionará automáticamente la capa correcta (si existe) al seleccionar un tile determinado. Hacer clic derecho en un tile le permite elegir qué capa será.

La siguiente es la versión abreviada de TileOffice.tilelayers.xml, utilizada para definir las capas predeterminadas para los sprites contenidos en el conjunto de tiles básicos TileOffice. Para sus propios conjuntos de tiles, simplemente cree un nuevo archivo .xml llamado TileSheetName.tilelayers.xml y siga el mismo formato. Para conocer las capas predeterminadas, consulte los archivos .xml de Tilelayers existentes contenidos en la descarga de MapTools.

<?xml version="1.0" encoding="UTF-8"?>
  <tileset columns="16" rows="8">
    <tile id="0" layername="Walls"/>
    <tile id="1" layername="Walls"/>
    ....
    <tile id="96" layername="Furniture2"/>
    <tile id="97" layername="Furniture2"/>
  </tileset>,

Tenga en cuenta que el número de índice se relaciona con la celda específica dentro del conjunto de tiles, leyendo desde cero (el primer tile superior izquierdo) hasta el índice siete (el último tile de la primera fila) y luego hacia abajo a través de los tiles de manera similar.

Una vez que hayamos hecho esto, TileZed puede intentar ubicar los mosaicos en la capa correcta automáticamente, aumentando la eficiencia de la creación de mapas.

Edición de definiciones tiledefinitions.tiles

En TileZed, Tools > Tile Properties abre el editor para configurar las propiedades de sus tiles. Aquí es donde configuras cómo se comportan tus fichas en el juego, por ejemplo, si actúan como un piso, un contenedor o algo que se puede recoger.

Consulte Tile properties para obtener más información sobre lo que hacen las propiedades individuales.

Tome el archivo newtiledefinitions.tiles, ubicado dentro de Project Zomboid \media\. directorio y coloque una copia en su 'Directorio de mapeo maestro'. Debe realizar copias de seguridad de archivos importantes como este con regularidad para asegurarse de que cualquier error grave e inexplicable pueda solucionarse rápidamente y con el mínimo dolor de cabeza. Es probable que consulte este archivo con frecuencia como referencia o para copiarlo.

Para comenzar, cree un nuevo archivo .tiles y use el ícono "más azul" en la parte inferior para agregar su(s) hoja(s) de mosaicos a la lista.

Se pueden seleccionar y copiar/pegar varios tiles entre archivos .tiles, y al realizar ediciones en una selección se establecerán las propiedades de toda la selección. Guarde el archivo cuando esté satisfecho.

Como práctica recomendada, guarde una copia del archivo .tiles como copia de seguridad. Su carpeta mod también debería tener algo como esto: C:\Users\me\Zomboid\mods\myTiles\media\myTiles.tiles

Creando el paquete de texturas

Las hojas de mosaicos que hemos estado usando están diseñadas para usarse en el editor, pero tienen mucho espacio vacío, lo cual no es bueno para usar en juegos. El creador del paquete de texturas recorta las imágenes hasta su cuadro delimitador más pequeño y las coloca en el formato esperado por el juego.

En TileZed, Tools > .pack files > create .pack file, elija un destino para guardar el archivo .texturepack, por ejemplo: C:\Users\me\Zomboid\mods\myTiles\media\texturepacks\myTiles.pack

Por ahora, deje el tamaño de la textura de salida en 1024x1024 y la opción Escalar a 1x sin marcar.

Al hacer clic en el botón más, debe seleccionar la carpeta mencionada anteriormente; el que contiene solo tus hojas de tiles. Esto crea el paquete usando solo tus nuevos sprites después de haber hecho clic en Aceptar. Hay un visor de paquetes si desea obtener una vista previa de los resultados.

Terminando

Ahora que tu mod contiene un .pack de texturas, .tiles de definiciones y, presumiblemente, un mapa exportado, también necesitas configurar tu mod.info para leer el paquete de texturas con estas dos líneas:

pack=myTiles

donde myTiles es el nombre de tu .pack

tiledef=myTiles xxx

Debe ser un número único a partir de 100.

Donde myTiles es el nombre de sus .tiles. El xxx es un número entre 0 y 999. El juego utiliza este número como ID internamente para evitar conflictos en nombres de hojas de tiles similares entre diferentes archivos .tiles.

Opcional: para usar mosaicos que provienen de otro mod sin necesidad de agruparlos en tu mod, usa la etiqueta require en su lugar.

require=myTiles

Configuraciones adicionales

Agregar traducción para el tile
def: CustomName = Antique_Oven
Moveables_EN: Antique_Oven = "Antique Oven"
Add translation for the container
def: ContainerType = crate
IGUI_ContainerTitle_crate = "Crate"
Add texture for the container button in inventory page
ContainerButtonIcons.campfire = getTexture("media/ui/Container_Campfire.png")
Add Overlays using TileZed to generate an overlay map, or copy paste one and change the sprite names.
If you add both overlays, one is used for 1-6 items, the other for 7+. If you add only the first it's used whenever the container is not empty.
You can change the scrap items by editing the item's modData (it's what some built furniture do) or you can add / edit scrap definitions
def: Material & Scrap options
ISMoveableDefinitions.lua: set tools, materials, xp, etc for in-game use
Item script is optional
examples found in newMoveables.txt, but usually moveables don't require scripts to function. One use of the item script is to appear it item lists for debug.
unless you set a CustomItem for pickup, the tile will be converted into a Moveable item, e.g: Moveable.carpentry_01_0.

Tips and tricks

Paint.NET

If you are using Paint.NET, this bit is a doddle.

Animation Helper – plugin for Paint.NET

The above tool allows for easy slicing up of the tilesheet .png file in to the constituent parts with the click of a button. Follow the instructions in the link to install the helper, and then use it to export all your relevant files in to a dedicated directory where you wish to work with all your tiles.

If you intend on putting together a few seperate tilesheets, feel free to put them all together in the same folder. (e.g. say you have built some new walls, some new furniture, some new objects etc.).

If using the Paint.NET Animation Helper, always remember to suffix the filename with an underscore (e.g. TileObjectsFiat500_). This then gives each tile an index that the game is happy to work with. The filename is important, and should match that used elsewhere.

I'm sure there are other easy ways to do this with other programs, or alternatively for those with a masochistic streak simply crop the tilesheet a few hundred times and individually save a load of 64x128 .png files.

With this, we have a whole load of files, ready for bunching up in to a nice, compact, memory saving sprite sheet, getting rid of all the blank spaces.

Photoshop

Sometimes it is easier to draw something "flat" or straight, then skew it into the dimetric perspective later. Using the Free Transform input boxes, an angle of about 27.6 works nicely.

See also

Links