Es/Creating a Material: Difference between revisions

From Valve Developer Community
< Es
Jump to navigation Jump to search
(Created page with "{{langsp}} {{toc-right}} Este tutorial es una guía paso a paso para crear un material completamente nuevo, incluida la creación de la texture del material. == Crea...")
 
m (Multipage removal)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{langsp}}
{{LanguageBar}}
 
{{toc-right}}
{{toc-right}}


Este tutorial es una guía paso a paso para crear un [[material]] completamente nuevo, incluida la creación de la [[texture]] del material.
Este tutorial es una guía paso a paso para crear un {{L|material}} completamente nuevo, incluida la creación de la {{L|texture}} del material.


== Creando una Textura ==
== 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 pronto.  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.
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 <code>source materials.gcf</code> con [[GCFScape]] si alguna vez se confunde.
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 <code>source materials.gcf</code> con {{L|GCFScape}} si alguna vez se confunde.


{{note|Los archivos fuente de textura deben guardarse en un formato sin pérdidas como [[Wikipedia:Truevision TGA|TGA]] precompilado, para evitar pérdidas innecesarias en la calidad.}}
{{note|Los archivos fuente de textura deben guardarse en un formato sin pérdidas como [[Wikipedia:Truevision TGA|TGA]] precompilado, para evitar pérdidas innecesarias en la calidad.}}
Line 15: Line 16:
=== Convirtiendo la Textura ===
=== 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 (Source 1)|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.
Las texturas deben convertirse al {{L|Valve Texture Format}} antes de que Source pueda usarlas.  La herramienta que proporciona Valve para esto es {{L|Vtex (Source 1)|VTEX}}.  Es una herramienta de {{L|command line}} con bastantes limitaciones, por lo que es preferible la herramienta de terceros {{L|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 [http://nemesis.thewavelength.net/index.php?p=39 Photoshop], [http://code.google.com/p/gimp-vtf/ GIMP] y [http://nemesis.thewavelength.net/index.php?p=50 Paint.NET], pero este tutorial no los cubrirá ya que no todos usan esas herramientas).
(Hay complementos VTF que le permiten guardar en el formato directamente desde [http://nemesis.thewavelength.net/index.php?p=39 Photoshop], [http://code.google.com/p/gimp-vtf/ GIMP] y [http://nemesis.thewavelength.net/index.php?p=50 Paint.NET], pero este tutorial no los cubrirá ya que no todos usan esas herramientas).
Line 21: Line 22:
'''Para importa tu Textura con VTFEdit''', use <code>File > Import</code> o presione {{key|Ctrl+I}}. Seleccione su imagen y se le presentará la pantalla de importación:
'''Para importa tu Textura con VTFEdit''', use <code>File > Import</code> o presione {{key|Ctrl+I}}. Seleccione su imagen y se le presentará la pantalla de importación:


[[Image:Vtfedit importoptions.png|center|VTFEdit's import screen]]
[[File:Vtfedit importoptions.png|center|VTFEdit's import screen]]


==== Opciones Generales ====
==== Opciones Generales ====
Line 38: Line 39:
==== Opciones de Mipmap ====
==== Opciones de Mipmap ====


[[MIP Mapping|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.
{{L|MIP Mapping|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.


{{tip|Las texturas que aparecerán en el mundo 3D deben tener mipmaps.  Para conservar memoria, las texturas que solo se usarán en una interfaz 2D no deberían hacerlo.}}
{{tip|Las texturas que aparecerán en el mundo 3D deben tener mipmaps.  Para conservar memoria, las texturas que solo se usarán en una interfaz 2D no deberían hacerlo.}}
Line 54: Line 55:
==== Opciones de Mapa Normal ====
==== 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.
Estas opciones (mal etiquetadas) le permiten generar automáticamente un {{L|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 ===
=== Configurando y Guardando ===
Line 63: Line 64:


==Creando un Material==
==Creando un Material==
Source no accede a las texturas directamente.  Todo pasa por un '''[[material]]'''.
Source no accede a las texturas directamente.  Todo pasa por un '''{{L|material}}'''.


Los materiales son archivos de secuencias de comandos que se pueden crear en cualquier editor de texto, pero se recomienda que utilice [http://notepad-plus.sourceforge.net/ Notepad++] junto con las reglas de resaltado de sintaxis de [[Notepad++ VDF languages|syntax highlighting rules]]. Para que su material sea detectado, '''debe guardarlo en la carpeta <code>\materials</code> de su juego o mod con la extensión <tt>.vmt</tt>'''.
Los materiales son archivos de secuencias de comandos que se pueden crear en cualquier editor de texto, pero se recomienda que utilice [http://notepad-plus.sourceforge.net/ Notepad++] junto con las reglas de resaltado de sintaxis de {{L|Notepad++ VDF languages|syntax highlighting rules}}. Para que su material sea detectado, '''debe guardarlo en la carpeta <code>\materials</code> de su juego o mod con la extensión <tt>.vmt</tt>'''.
{{note|Si está creando materiales y texturas exclusivamente para un mapa para un mod existente, considere usar [[BSPZIP]]\[[Packbsp]]\[[Pakrat]]\[[Compile Pal]] para empaquetar los archivos de material y textura dentro  el archivo de mapa en sí.  Esto evitará que se pierdan.}}
{{note|Si está creando materiales y texturas exclusivamente para un mapa para un mod existente, considere usar {{L|BSPZIP}}\{{L|Packbsp}}\{{L|Pakrat}}\{{L|Compile Pal}} para empaquetar los archivos de material y textura dentro  el archivo de mapa en sí.  Esto evitará que se pierdan.}}
{{warning|Aunque su computadora le permitirá guardar un nombre de archivo que contenga el carácter <tt>%</tt>, y los [[VTF]] funcionan bien con el carácter en el nombre, Hammer no puede manejar  [[VMT]]s cuyos nombres contienen el carácter <tt>%</tt>.}}
{{warning|Aunque su computadora le permitirá guardar un nombre de archivo que contenga el carácter <tt>%</tt>, y los {{L|VTF}} funcionan bien con el carácter en el nombre, Hammer no puede manejar  {{L|VMT}}s cuyos nombres contienen el carácter <tt>%</tt>.}}


===Sintaxis===
===Sintaxis===
Un archivo de material se ve así:
Un archivo de material se ve así:


  <[[shader]]>
  <{{L|shader}}>
  {
  {
  <parámetro> <valor>
  <parámetro> <valor>
Line 84: Line 85:
  }
  }


Hay muchos [[shader]]s para elegir, pero la mayoría de los materiales usarán {{ent|LightmappedGeneric}} ([[brush]]es) o {{ent|VertexLitGeneric}} ([[model]]s)  .  El tercer shader más común es {{ent|UnlitGeneric}}, que se usa para materiales [[VGUI2|UI]] y la ocasionalmente [[texture tools]].
Hay muchos {{L|shader}}s para elegir, pero la mayoría de los materiales usarán {{ent|LightmappedGeneric}} ({{L|brush}}es) o {{ent|VertexLitGeneric}} ({{L|model}}s)  .  El tercer shader más común es {{ent|UnlitGeneric}}, que se usa para materiales {{L|VGUI2|UI}} y la ocasionalmente {{L|texture tools}}.


===Parámetros===
===Parámetros===
:''Para obtener una lista de todos los parámetros de shaders documentados, consulte [[:Category:List of Shader Parameters]].''
:''Para obtener una lista de todos los parámetros de shaders documentados, consulte {{LCategory|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:
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:
Line 105: Line 106:
==Ver También==
==Ver También==


* [[Material]]
* {{L|Material}}
* [[Material Editor]]
* {{L|Material Editor}}
* [[Creating Reflective Materials]]
* {{L|Creating Reflective Materials}}
* [[Adapting PBR Textures to Source]]
* {{L|Adapting PBR Textures to Source}}
* [[:Category:List of Shader Parameters]]
* {{LCategory|List of Shader Parameters}}
 
{{ACategory|Material System}}
{{ACategory|Tutorials}}

Latest revision as of 16:53, 12 July 2024

English (en)Español (es)Français (fr)日本語 (ja)한국어 (ko)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)

Este tutorial es una guía paso a paso para crear un material(en) completamente nuevo, incluida la creación de la texture(en) 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(en) si alguna vez se confunde.

Note.pngNota:Los archivos fuente de textura deben guardarse en un formato sin pérdidas como TGA precompilado, para evitar pérdidas innecesarias en la calidad.
Note.pngNota:El límite de tamaño de archivo es de 33,554,432 bytes. Compilar un .vtf por encima de esta cantidad causará errores.

Convirtiendo la Textura

Las texturas deben convertirse al Valve Texture Format(en) antes de que Source pueda usarlas. La herramienta que proporciona Valve para esto es VTEX(en). Es una herramienta de command line(en) con bastantes limitaciones, por lo que es preferible la herramienta de terceros VTFEdit(en): 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:

VTFEdit's import screen

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(en) 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.

Tip.pngConsejo:Las texturas que aparecerán en el mundo 3D deben tener mipmaps. Para conservar memoria, las texturas que solo se usarán en una interfaz 2D no deberían hacerlo.

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(en) 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(en).

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(en). Para que su material sea detectado, debe guardarlo en la carpeta \materials de su juego o mod con la extensión .vmt.

Note.pngNota:Si está creando materiales y texturas exclusivamente para un mapa para un mod existente, considere usar BSPZIP(en)\Packbsp(en)\Pakrat(en)\Compile Pal(en) para empaquetar los archivos de material y textura dentro el archivo de mapa en sí. Esto evitará que se pierdan.
Warning.pngAviso:Aunque su computadora le permitirá guardar un nombre de archivo que contenga el carácter %, y los VTF(en) funcionan bien con el carácter en el nombre, Hammer no puede manejar VMT(en)s cuyos nombres contienen el carácter %.

Sintaxis

Un archivo de material se ve así:

<shader(en)>
{
	<parámetro> <valor>
	...
}
LightmappedGeneric
{
	$basetexture coast\shingle_01
	$surfaceprop gravel
}

Hay muchos shader(en)s para elegir, pero la mayoría de los materiales usarán LightmappedGeneric (brush(en)es) o VertexLitGeneric (model(en)s) . El tercer shader más común es UnlitGeneric, que se usa para materiales UI(en) y la ocasionalmente texture tools(en).

Parámetros

Para obtener una lista de todos los parámetros de shaders documentados, consulte Category:List of Shader Parameters(en).

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:

Tip.pngConsejo:Si alguna vez necesita usar un espacio o un carácter de tabulación en un valor de parámetro, debe envolver el valor completo con "comillas". A menudo verá absolutamente todo envuelto de esta manera, pero esto es completamente innecesario.
Tip.pngConsejo:Para actualizar un material en el juego sin reiniciarlo, use el siguiente comando de consola: mat_reloadmaterial "vmt_name sin .vmt y comillas". Aunque existe el comando 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_short01a
recargará 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.

Ver También