Este artículo se relaciona al juego "Team Fortress 2". Haga clic aquí para más información.

Pyrovisión

De Valve Developer Community
Saltar a: navegación, buscar

English (en)español (es)
Editar
ctf_2fort con el efecto de Pyrovisión.

La Pyrovisión es un efecto aplicado al juego Team Fortress 2. Permite al jugador entrar en el mundo imaginario del corto de animación «Conoce al Pyro».

Usa una lista de reemplazamiento de material y añade sombras personalizadas.

Reemplazamiento de material

Cuando se carga un material, intenta cargar el archivo replacements.vmt del directorio. Si no lo encuentra en ese directorio, intentará encontrar otro en el directorio de materiales. Tanto el material original como el reemplazado están cargados por completo, por lo que lo único que hay que tener en cuenta es cuántas nuevas texturas se introducen.

El archivo replacements.vmt está dividido en dos secciones: patrones y plantillas. Los patrones son una parte de nombres coincidentes. Si coincide algo, la plantilla especifica el punto por el que alternar un material.

Patrones

Los patrones representan una secuencia de nobmres coincidentes. El sistema reemplaza una lista de nombres escaneados cuando estos coinciden. Por ejemplo:

patterns
{
	concretewall001d	// matches concretewall001d*
	{
		template	"peach02"
	}
	concretewall012d	// matches concretewall012d*
	{
		template	"pink01"
	}
	concretewall		// matches concretewall* ( except if matched by what is above )
	{
		template	"blue01"
	}
}

Los materiales llamados «concretewall001d» o «concretewall001dnew» se mapearán a «peach02», «concretewall012d» a «pink01» y lo que empiece por «concretewall» a «blue01».

Plantillas

Las plantillas especifican la definición de lo que se reemplaza por el material. Esto permite tener una plantilla con varias fuentes de sombra, como VertexLitGeneric y LightmappedGeneric.

Los parámetros especificados pueden ser tus valores personalizados. SI especificas un valor que empiece con el símbolo del dólar, se intentará usar eso como fuente. Si especificas «$copyall» con cualquier valor, se copiará todo el material.

templates
{		
peach02	// template name
	{
		"LightmappedGeneric"	// source shader type for LightmappedGeneric
		{
			pyro_vision		// new replaced shader type and material definition
			{
				$basetexture			$basetexture
				$vertexcolor			$vertexcolor

				$EFFECT				1
				$COLORBAR				"rj/colorbar_peach02"
					
				$DIFFUSE_WHITE			0.5
				$GRAY_POWER				0.8
				$GRAY_STEP				"[ 0.0 1.0 ]"
				$LIGHTMAP_GRADIENTS		255
			}
		}
		"VertexLitGeneric"	// source shader type for VertexLitGeneric
		{
			pyro_vision
			{
				$EFFECT				1
				$VERTEX_LIT				1
					
				$basetexture			"pyroconcretewall"
				$vertexcolor			$vertexcolor

				$EFFECT				1
				$COLORBAR				"rj/colorbar_patch02"

				$DIFFUSE_WHITE			0.5
				$DIFFUSE_BASE			0.1
				$GRAY_POWER				0.4
				$GRAY_STEP				"[ 0.0 1.0 ]"
				$LIGHTMAP_GRADIENTS		255
			}
		}
	}
}

Véase también

Pyrovisión (sombra)

Dreams of Chronic and Sustained Cruelty, un publicación en el blog sobre como se desarrolló la Pyrovisión.