Fugas (error visual)

From Valve Developer Community
< Es
Jump to navigation Jump to search
Under construction.png
This page is actively undergoing a major edit.
As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.

The person who added this notice will be listed in its edit history should you wish to contact them.

Info content.png
This page needs to be translated.
This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article tries to comply with the alternate languages guide.
English (en)Deutsch (de)Español (es)Русский (ru)中文 (zh)Translate (Translate)

Los mapas .bsp (Source)(en) deben sellarse internamente por completo. Ninguna parte del interior del mapa, del nivel o mundo en sí, debería estar en conexión con el vacío(en) exterior. Incluso el cielo debe ser sellado con una textura tools/toolsskybox. Si hubiera cualquier tipo de hueco o conexión con el vacío del mapa se producirá un error visual llamado fuga o filtración (leak en inglés) al compilar el mapa con VBSP(en). Al producirse esta fuga, VBSP(en) no sabe detectar que parte del mapa está dentro o fuera del nivel, por lo que no funcionará adecuadamente.

Este ejemplo muestra un mapa con un espacio obvio en su geometría, por el que se ve el vacío. Este generará un mensaje indicando el error de fuga al compilar:

Un espacio que produce que se vea el vacío, causando un error de fuga.

Al compilar un mapa con dicho problema, VBSP genera un error similar a este en el registro de compilación:

ProcessBlock_Thread: 0...1...2...3...4...5...6...7...8...9...10 (0)
**** leaked ****
Entity light (-1607.69 -1094.12 -183.00) leaked!

Con un mensaje de error de este tipo, VBSP nos dice que hay algún error visual por alguna fuga en el mapa e indica la primera entidad que se encuentra cuando intenta entrar en el mapa (en este caso, es una luz). También da la ubicación de la entidad, expresada en coordenadas de los ejes X, Y y Z.

Note.pngNota:A veces no es la entidad mencionada la causante de la fuga, sino alguna que lo produzca a raíz de esa. En este caso, eliminando dicha entidad se conseguirá que el informe mencione otra entidad, pero no se solucionará el problema. Hay una situación en la que al eliminarla se soluciona la fuga: cuando está fuera de la zona de juego. Más adelante se hablará de esto.
Note.pngNota:Si no tienes entidades en el mapa al compilar, VBSP VBSP informará del error de fuga, pero no tendrá manera de saber si está en el interior o el exterior de la zona jugable del mapa.
Note.pngNota:VVIS no cargará algo si tiene un error de fuga, en Alien Swarm Alien Swarm y versiones posteriores del (también en Hammer++), esto detendrá el proceso de compilación. Esto no se aplica a la previsualización de mapas en Portal 2 Puzzle Maker(en), por motivos que se desconocen.
Note.pngNota:En Portal 2 Portal 2, Counter-Strike: Global Offensive Counter-Strike: Global Offensive y Alien Swarm Alien Swarm, si sufres un error de fuga y omites VVIS VVIS, el mapa no compilará la textura del cielo.[Clarificar]
Note.pngNota:Si hay agua(en) que aparezca como textura invisible «nodraw», puede ser causado por una fuga.

Efectos de fugas

Una fuga en un mapa puede tener una serie de efectos negativos. VBSP(en) informará del error y no producirá un archivo (mapname.prt(en)) del todo correcto. El archivo lo utiliza VVIS(en) para realizar los cálculos de visualización. Como el archivo no es perfecto, VVIS no lo ejecutará correctamente. Si esto se produce, VRAD(en) también funcionará mal; puede que solo funcione la iluminación directa y no el resto.

Estos mapas puede que sean completamente injugables. VVIS puede que pida al motor renderizar el mapa entero de una vez, lo que es perjudicial para los fotogramas por segundo y puede incluso hacer que partes del mapa sean completamente invisibles. VRAD renderizará tu mapa en negro completamente.

Pérdida de tiempo con las fugas

VBSP(en) informará de todas las fugas que encuentre, pero esperar horas a que se compile por completo, ejecutar el juego y encontrar dónde esta el error tras compilar es algo, simplemente, ineficiente. Es recomendable asegurarse de que el mapa no tiene fugas antes de empezar a compilarlo. Si detectas que VBSP tiene alguna fuga al compilar, puedes usar Ctrl+C para anular el proceso de compilación.

Encontrando fugas

A veces estas fugas no son tan evidentes como en el ejemplo. Pueden ser una fracción de unidad y aún así causar una fuga. VBSP(en) te muestra un archivo de puntos(en) que te ayuda a encontrar el error. Esto hace una línea del vacío del mapa hasta la entidad en donde se encuentra en el último chequeo. Tras recibir el error de fuga, se crea un archivo llamado nombredelmapa.lin(en) en el mismo directorio que el .vmf(en) del mapa.

Cargando un archivo de puntos

El archivo de puntos se puede cargar en el editor Hammer para mostrar con precisión dónde está la fuga en el mapa. Para cargar un archivo de punto de un nivel, se usa Cargar archivo de puntos(en) en el menú Mapa.

El comando Cargar archivo de puntos muestra un camino a la fuga en Hammer.

Esta imagen muestra un archivo de punto cargado en el ejemplo anterior. La línea roja aparece en ambas vistas, 3D y 2D, y se extiende hasta el hueco.

Otros tipos de fuga

Además de los espacios en la geometría exterior, hay otros errores que causan que VBSP(en) genere error de fugas.

Entidades fuera del mapa

Al colocar cualquier entidad en el void(en) se producirán fugas.

Todas las entidades deben estar dentro de la zona jugable o de la textura del cielo. VBSP trata de sellar el mapa con una entidad, como func_door(en).