Cubemaps

From Valve Developer Community
< Es
Revision as of 16:25, 8 May 2022 by Kestrelguy (talk | contribs) (updated language bar.)
Jump to navigation Jump to search
English (en)Español (es)Français (fr)Português do Brasil (pt-br)Русский (ru)中文 (zh)Translate (Translate)
Env cubemap.png
Reflexiones especulares.

Muchos materiales reflectantes deben combinarse con datos externos para que el motor de Source puedan generar correctamente su apariencia. Estos datos se almacenan como Cubemap (Mapa de cubos), una textura que representa una representación tridimensional de un area. El motor Source usa entidades env_cubemap como puntos de muestra para generar estas texturas, y guardar los cubemaps dentro del archivo .bsp de cada mapa. Al procesar materiales especulares y cartografiados por el entorno, los utiliza para generar entornos con mayor precisión. En otras palabras, un cubemap crea las texturas que reflejará una superficie reflectante.

Template:Note:es Template:Note:es


Construir cubemaps

Una vez que un mapa ha sido compilado e iluminado por VBSP y VRAD (respectivamente), se pueden construir los cubemaps. Después de que se cargue el mapa, usa el comando buildcubemaps en la consola para comenzar a construir los cubemaps para el nivel. Aquí podrá ver cada faceta del renderizado de cubemap (seis por cubemap) y esto puede demorar unos segundos o minutos, según la configuración de su sistema. Una vez terminado, el mapa o el juego deben reiniciarse para que los cubemaps se apliquen correctamente a todas las superficies.

Template:Note:es

Template:Note:es

Template:Note:es

Template:Note:es

HDR

Si el mapa se ha compilado con la opción de iluminación HDR habilitada en VRAD, los cubemaps deben estar integrados en los modos HDR y LDR (no HDR). Construir cubemaps en un solo modo significará que los cubemaps no estarán presentes en el otro modo. Para obtener información sobre cómo crear cubemaps en HDR, vease HDR Lighting Basics.

los Cubemaps que deben ser construido para los mapas LDR y HDR. Suponiendo que ya está en el modo HDR y que su mapa se haya cargado desde la compilación (VRAD debe tener el parámetro '-both' activado). Ve a la consola y ejecuta los siguientes comandos:

buildcubemaps
mat_hdr_level 0 (Para ir a LDR)
restart (Para recargar el mapa)
buildcubemaps
mat_hdr_level 2 (Para volver a HDR)
restart (Para recargar el mapa)

Template:Note:es

Team Fortress 2 / Juegos Source 2012+

Team Fortress 2 no tiene un cubemap predeterminado aplicado a superficies reflectantes. (También hay problemas similares con algunas instalaciones de Portal 2, excepto que los cubemaps no se muestran.) Todo lo brillante brillará con una textura a cuadros rosa y negro. Si tuviera que construir cubemaps ahora y uno de sus cubemap puede ver una gran superficie brillante; El cubemap lo registrará en sus 6 imágenes. Eso significa que algunos objetos podrían brillar como si hubiera algo que brillara a su lado con la textura rosa y negra. Para resolver esto, necesita construir los cubemaps con especular desactivado. Para construir cubemaps para su mapa TF2, vaya a la consola y ejecute los siguientes comandos:

Construyendo Cubemaps para LDR o HDR solamente::

Note.pngNota:no habilitar sv_cheats antes de cargar el mapa; se ejecutará automáticamente mat_reloadallmaterials justo después de que el mapa se haya cargado y hará que el menú se congele por un momento.
Note.pngNota: se recomienda configurar mat_specular a "0" bantes de cargar un mapa, por lo que se tarda mucho menos en completar que hacer mientras o despues de que se haya cargado un mapa.
mat_specular 0
map <su mapa>
sv_cheats 1
buildcubemaps
disconnect
sv_cheats 0

La creación de cubemaps para HDR requiere que repita estos pasos después de cargar su mapa mientras el HDR está habilitado.

Template:Note:es

Template:Note:es

Template:Note:es

Cubemaps después de la actualización de SteamPipe

Debido a la actualización de SteamPipe, un problema reconocido podría ser la creación de los cubemaps sin resultados efectivos. Según una discucion thread, este problema se puede solucionar siguiendo estos pasos:

Icon-Bug.pngError:Counter-Strike: Global Offensive en CSGO, eeditar el archivo de mapa directamente de esta manera puede tener efectos secundarios adversos que incluyen fallos en los gráficos de nodos y la pérdida de datos de sombra static_prop.Este metodo puede prevenir eso.  [todo tested in ?]

  1. Coloca entidades env_cubemap en ubicaciones validas en su mapa, y compilelo. Importante: el nombre debe ser mas corto que 30 caracteres (incluido la extension .BSP), o el archivo .BSP no sera escribible. tambien, no cambie el nombre del mapa despues de compilarlo, o los cubemaps no funcionaran.
  2. Use un pakfile editor al .BSP (Por ejemplo: Vide o Pakrat. Usar esas herramientas no estan incluidos en este tutorial.), e inicia tu .BSP
  3. Elimina todos los archivos de tipo como "Texture" o "Texture (HDR). (No los archivos "Material", solo los .VTF)
  4. Guarda el archivo editado .BSP
  5. Copia tu mapa devuelta a tu carpeta de mapas de tu juego.
  6. Abre la consola y escribe: "map -Nombre del mapa-". (Ejemplo: "map ttt_mars_colony_cubemap".)
  7. Una vez en juego, abre la consola denuevo y escribe esto: "mat_specular 0" y "buildcubemaps".
  8. Espera a que se construyan los cubemaps, y despues re-habilita el "specular mapping" con "mat_specular 1" y recarga todos los materiales con "mat_reloadallmaterials"

Template:Note:es

Source Filmmaker

La construcción de Cubemaps en Source Filmmaker actualmente está dañada y solo mostrará una única cara de un solo cubemap. Para crear mapas de Source Filmmaker correctamente, copie el archivo de mapa y los recursos utilizados por el mapa (texturas, modelos, etc.) en Alien Swarm. Como la versión de rama del motor es muy similar, no es necesario volver a compilar mapas o modelos por separado, bastará con copiar los archivos. Una vez que se hayan renderizado las caras, su mapa ahora contendrá cubemaps y podrá copiarse nuevamente en Source Filmmaker. Esto solo funcionará con la versión más nueva de la rama del mapa, ya que los mapas de TF2 o Garry's Mod bloquearán el juego al cargarse.

La versión 'sin copia' adicional para Hammer y construir está usando una configuración de modificación adicional en Alien Swarm con parches de búsqueda 'alienígenas' (relativos) al contenido de sfm. todo: pathes absolutos.

Ejemplo para la ubicación 'común':

	"SearchPaths"
	{
		"Game"	"|gameinfo_path|."
		"Game"	"swarm"
		"Game"	".\..\SourceFilmmaker\game\tf_movies"
		"Game"	".\..\SourceFilmmaker\game\tf"
		"Game"	".\..\SourceFilmmaker\game\usermod"
		"Game"	".\..\SourceFilmmaker\game\hl2"
		"Game"	"swarm_base"
		"Game"	"platform"
	}

Portal 2

Cuando quiera crear cubemaps para un mapa que se encuentra en "Portal 2/portal2/maps" (Hammer copia los mapas allí de manera predeterminada) Portal 2 se bloqueará porque espera que el mapa se encuentre en "portal2_dlc2/maps". Entonces, si desea arreglar el bloqueo, simplemente copie su mapa en "Portal 2/portal2_dlc2/maps" (o la carpeta de mapas de su mod personalizado) vuelva a cargarlo y vuelva a construir los cubemaps. Debería de funcionar ahora.

Left 4 Dead 1/2

Para crear cubemaps en Left 4 Dead 2, la configuración del sombreador debe establecerse en media. Si cambia la configuración del sombreador mientras se carga un mapa, es posible que tenga que volver a cargarlo, ya que algunas veces las superposiciones (overlays) terminan con una iluminación interrumpida, lo que hace que aparezcan unlit. Una vez que se construyen los cubemaps para un mapa, debes reiniciar el juego para probarlos. A veces debes reiniciar el juego para construir cubemaps en un segundo mapa también.

Pruebas

Los cubemaps se prueban mejor usando el comando impulse 81 en la consola. A continuación, escriba give weapon_cubemap en la consola.

Template:Note:es

Esto reemplaza el modelo de arma actual con el "cubemap weapon"; Un conjunto de esferas, cada una con diferentes superficies reflectantes. Al moverse alrededor del nivel, es posible ver qué los cubemaps se está aplicando en esa posición en el espacio en un momento dado, así como si ese cubemaps describe con precisión la iluminación y el color del área

Template:Note:es

Template:Note:es

Performance

La entidad env_cubemap permite al usuario definir qué tan grande es la resolución de textura del cubemaps de destino. Si bien una resolución de textura más grande proporcionará resultados más precisos y nítidos cuando se muestra, también incurre en un costo en la memoria de textura. La mayoría de los cubemaps solo deben usar la configuración predeterminada en la entidad env_cubemap para su resolución de textura (32x32 píxeles para cada superficie). Esto es generalmente aceptable en condiciones normales. Algunas excepciones pueden ser necesarias para áreas de alta reflectividad o detalle, tales como piezas para actuar.

Debido a que las superficies deben aproximarse a sus alrededores a través de cubemaps, el uso de demasiados cubemaps en un área pequeña puede causar discontinuidades visuales notables al moverse. Para áreas de alta reflectividad, generalmente es más correcto colocar un mapa de cubos en el centro de la superficie y no más. Esto evita costuras o saltos a medida que cambia la vista.

Para determinar el costo de los cubemaps en cualquier área, primero observe la categoría World Rendering usando el comando +showbudget de la consola. Si esta categoría está registrando un costo inusualmente alto, puede deberse al uso de demasiados mapas en un área. Una solución simple para verificar este escenario es usar Hammer para ocultar todos los cubemaps en el mapa, y luego compilar y ejecutar el mapa nuevamente. Si el rendimiento es notablemente mejor, es posible que deba reducirse la densidad del mapa de cubos o la resolución. Eventualmente, esto también se puede verificar apagando los cubemaps, usando mat_specular 0 para deshabilitarlos, sin embargo, esto necesita confirmación.

Bugs

Template:Note:es

Template:Bug:es

Template:Bug:es

Template:Bug:es

Mire también