Creating a Material
Este tutorial es una guía paso a paso para crear un material completamente nuevo, incluida la creación de la texture del material.
Creando una Textura
Cualquier archivo de imagen se puede utilizar como textura, siempre que sus dos dimensiones (alto y ancho) sean una potencia de dos: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 y así sucesivamente. Para decidir cuál usar, examine las texturas existentes que cumplen la misma función que la suya. Las resoluciones más altas reducen el rendimiento pero hacen que la imagen sea más nítida cuando se ve de cerca.
Las diferentes clases de objetos tienen diferentes resoluciones estándar (por ejemplo, los modelos de personajes usan resoluciones muy altas). Compruebe las opciones de Valve en source materials.gcf
con GCFScape si alguna vez se confunde.
Convirtiendo la Textura
Las texturas deben convertirse al Valve Texture Format antes de que Source pueda usarlas. La herramienta que proporciona Valve para esto es VTEX . Es una herramienta de command line con bastantes limitaciones, por lo que es preferible la herramienta de terceros VTFEdit : proporciona una interfaz gráfica de usuario, le permite cambiar las propiedades de una textura sin volver a compilarla desde cero , acepta una amplia gama de formatos de imagen y no requiere la creación de archivos de script para todas y cada una de las texturas. Hay un puñado de situaciones en las que necesitará recurrir a VTEX... pero solo un puñado. Además, si tiene texturas que usan transparencia, se recomienda que las guarde en formato TIFF antes de importarlas a VTFedit, ya que la transparencia PNG suele tener problemas.
(Hay complementos VTF que le permiten guardar en el formato directamente desde Photoshop, GIMP y Paint.NET, pero este tutorial no los cubrirá ya que no todos usan esas herramientas).
Para importa tu Textura con VTFEdit, use File > Import
o presione Ctrl+I. Seleccione su imagen y se le presentará la pantalla de importación:
Opciones Generales
Estos ajustes son los más importantes. Hay tres:
- Formato Normal
- El formato de color/compresión que debe usarse si la textura es opaca.
- Formato Alfa
- El formato de color/compresión que debe usarse si la textura tiene un canal alfa.
- Tipo de Textura
- Si importó más de una imagen, esto determina cómo se usarán (fotogramas de animación/caras de un cubemap/cortes de profundidad).
Si está creando una textura de mundo simple y simple, no necesitará cambiar ninguno de estos. Sin embargo, si está creando una textura con un detalle de degradado fino, deberá elegir un modo de compresión sin pérdidas.
Opciones de Mipmap
Mipmaps son versiones de baja resolución de una textura que se intercambian cuando una superficie está lejos de la cámara. Reducen en gran medida la cantidad de cambios de tamaño de textura necesarios, mejorando tanto el rendimiento como la calidad de la imagen. Se requieren mips para que la textura LOD funcione.
Las siguientes imágenes demuestran los diversos filtros mipmap disponibles en VTFEdit:
Opciones de Mapa Normal
Estas opciones (mal etiquetadas) le permiten generar automáticamente un bump map a partir de su imagen de entrada. Querrá hacer esto correctamente con un editor de imágenes para el material que envía, pero la opción automática está ahí si desea resultados rápidos o una base desde la que trabajar.
Configurando y Guardando
Cuando presiona Aceptar, el archivo de entrada se convierte (puede haber una pausa bastante larga para imágenes grandes) y aparece el VTF de salida. Ahora todo lo que queda es configurar la textura con las opciones en la lista de casillas de verificación en el lado izquierdo de la pantalla. Consulte Valve Texture Format#Image_flags para ver las descripciones de cada uno.
Finalmente, guarde el archivo en algún lugar dentro de la carpeta \materials
de su juego o mod.
Creando un Material
Source no accede a las texturas directamente. Todo pasa por un material .
Los materiales son archivos de secuencias de comandos que se pueden crear en cualquier editor de texto, pero se recomienda que utilice Notepad++ junto con las reglas de resaltado de sintaxis de syntax highlighting rules . Para que su material sea detectado, debe guardarlo en la carpeta \materials
de su juego o mod con la extensión .vmt.
Sintaxis
Un archivo de material se ve así:
<shader > { <parámetro> <valor> ... }
LightmappedGeneric { $basetexture coast\shingle_01 $surfaceprop gravel }
Hay muchos shader s para elegir, pero la mayoría de los materiales usarán LightmappedGeneric
(brush es) o VertexLitGeneric
(model s) . El tercer shader más común es UnlitGeneric
, que se usa para materiales UI y la ocasionalmente texture tools .
Parámetros
- Para obtener una lista de todos los parámetros de shaders documentados, consulte Category:List of Shader Parameters .
Con un shader elegido, están los parámetros (también llamados comandos). Hay cientos de opciones sobre qué poner en un material, por lo que este artículo solo cubrirá las más comunes, que son aceptadas por más o menos todos los shaders. Ellos son:
mat_reloadallmaterials
, no se recomienda usarlo, ya que pueden aparecer varios artefactos. También se presenta mat_reloadtextures, pero parece tener muchos errores.
Por ejemplo:
mat_reloadmaterial combine_barricade_short01arecargará cada material en el sistema de archivos llamado combine_barricade_short01a, incluido todo el contenido personalizado. Por ejemplo: tanto materials/models/props_combine/combine_barricade_short01a.vmt como materials/models/props_metal_barricade/combine_barricade_short01a.vmt se volverán a cargar. Esto puede parecer muy útil al escribir proxies.