Pt-br/Cubemaps: Difference between revisions
m (Links) |
(Tradução BR adicionada (ainda em desenvolvimento)) |
||
Line 1: | Line 1: | ||
{{wip}}{{translate}} | {{wip}}{{translate}} | ||
{{LanguageBar}} | {{LanguageBar}} | ||
{{Todo| | {{Todo|Precisa de informações sobre os cube maps da Source 2. Veja [[Draft:Cubemaps (Source 2)]].}} | ||
[[File:Env_cubemap.png|left]] | [[File:Env_cubemap.png|left]] | ||
[[File:Specular.jpg|thumb|right|300px| | [[File:Specular.jpg|thumb|right|300px|Um exemplo de reflexos especulares em alguns modelos (exagerados por causa do {{cmd|r_showenvcubemap}}).]] | ||
Um '''cubemap''' é uma textura que representa uma representação tridimensional de uma área. {{source|4.1}} usa entidades {{ent|env_cubemap}} como pontos de amostragem para gerar estas texturas, que são depois integradas no arquivo do [[BSP|mapa]]. Os cubemaps, quando [[#Building cubemaps|construídos]], são refletidos em materiais que usam o parâmetro [[$envmap]] (superfícies como vidro refletor, azulejos, água, etc.) Um mapa sem entidades '''env_cubemap''' construídas ou existentes usará outros tipos de “reflexões” que não o retratam corretamente. | |||
== | ==Construindo Cubemaps== | ||
BConstruir cubemaps é o processo de gerar texturas para usar como reflexões. Por razões técnicas, este processo não é automatizado {{mapbase|in|addtext-front='' Exceto''{{nbsp}}}} e cabe ao usuário fazê-lo; até lá, as entidades '''env_cubemap''' existentes permanecerão sem uso e o mapa, dependendo do jogo, mostrará uma textura genérica, preta ou [[Missing content|texturas “ em falta”]] como reflexos devido a cubemaps inexistentes. | |||
{{warning|{{clr}} | {{warning|{{clr}} | ||
* ''' | * '''PARA PESSOAS COM EPILEPSIA''': A criação de cubemaps em jogos executados em Vulkan, como {{l4d2|4.1}}, faz com que a tela pisque violentamente em preto e branco. Também em sistemas com CPU/GPU mais rápida <!-- confirmada com i5-12400F e RTX 3060 -->, a criação de cubemaps HDR em jogos do ramo pré-L4D, como {{css|4.1}}, mesmo com Direct3D 9/DX9, também fará a tela piscar em preto e branco repetidamente. | ||
* | * Se o comando {{Command|nav_show_ladder_bounds}} tiver sido usado antes da criação de cubemaps, as caixas verdes também serão incorporadas ao cubemap. | ||
* | * Se estiver criando cubemaps para o {{Hl2|4.1}} (exceto os episódios) após a '''Atualização do Aniversário de 20 anos''', você deverá iniciar o jogo com {{code|-game hl2}} [[command line argument|argumento da linha de comando]]. Caso contrário, o jogo tentará acessar o {{code|episodic/maps}} ({{hl2ep1}}) em vez do diretório de mapas {{hl2|1}}, fazendo com que o jogo não salve os cubemaps criados no mapa. Da mesma forma, se estiver criando cubemaps para mapas localizados no diretório Episode One ou Episode Two, inicie o jogo com {{code|-game episodic}} (para EP1) ou {{code|-game ep2}} (para o EP2), respectivamente (ou inicie o Episódio Um/Episódio Dois em Steam > Ferramentas). | ||
}} | }} | ||
=== | ===Antes de construir=== | ||
{{Cleanup| | {{Cleanup|Os jogos Source modernos, nomeadamente {{portal2|1}} e {{p2ce|1|nt=1}}, não precisam de todos estes parâmetros e passos complicados, pelo menos na minha experiência -[[User:Equalizer5118|Equalizer]] ([[User talk:Equalizer5118|talk]]) 10:56, 22 março 2024 (PDT) | ||
Também alguns jogos Source (como o CS:S), não parecem necessitar que os cheats estejam activados para construir cubemaps. -[[User:Kr0tchet|leonidakarlach]] ([[User talk:Kr0tchet|talk]]) 02:50, 25 agosto 2024 (PDT) | |||
}} | }} | ||
{{Important| | {{Important|Mapas para jogos {{src13|4.1}} e outros, como {{css|4.1}}, são conhecidos por incluírem cubemaps pré-construídos e em branco depois de serem compilados (mesmo que não existam entidades '''env_cubemap'''' neles); estes devem ser apagados antes de construir novos, como detalhado [[#Deleting cubemaps|aqui]]. Tal foi corrigido no {{mapbase|4.1}}}} | ||
{{tip|{{clr}} | {{tip|{{clr}} | ||
* {{ent|env_cubemap}} | * As entidades {{ent|env_cubemap}} [[Env cubemap#Keyvalues|permitem]] gerar reflexos de alta ou baixa qualidade, embora a qualidade da textura do jogo também entre em jogo; considere maximizar as configurações visuais do jogo antes de criar cubemaps. | ||
* | * Para criar cubemaps, a resolução da tela do seu jogo precisa ser pelo menos 4 vezes maior do que o maior [[Env cubemap#Keyvalues|tamanho]] de um '''env_cubemap''' existente, caso contrário, a tentativa de criá-los falhará ou até mesmo causará o travamento do jogo.<br>Por exemplo, se o maior '''env_cubemap''' tiver o tamanho 128x128, será necessária uma resolução não inferior a 512x512. (''128 × 4 = '''512''' -> 720x576'' (como uma resolução válida) ou superior){{note|O jogo pode parecer congelar ou deixar de responder durante o processo, e o tempo depende de vários fatores. Para obter resultados bem-sucedidos, não se afaste do jogo até que ele seja concluído.}} | ||
* | * Se estiver usando o {{mapbase|4.1}}, adicione {{code|-autocubemap}} à sua linha de comando em {{hammer|1}}. O jogo criará automaticamente cubemaps | ||
* {{slamminsrc|4.1|nt=1}} | * O {{slamminsrc|4.1|nt=1}} apresenta o comando {{code|-nodefaultcubemap}}, que ignora a geração automática de cubemaps skybox na compilação do mapa}}. | ||
===LDR=== | ===LDR=== |
Revision as of 11:14, 13 December 2024

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.

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 complies with the alternate languages guide.

Um cubemap é uma textura que representa uma representação tridimensional de uma área. Source usa entidades env_cubemap como pontos de amostragem para gerar estas texturas, que são depois integradas no arquivo do mapa. Os cubemaps, quando construídos, são refletidos em materiais que usam o parâmetro $envmap (superfícies como vidro refletor, azulejos, água, etc.) Um mapa sem entidades env_cubemap construídas ou existentes usará outros tipos de “reflexões” que não o retratam corretamente.
Construindo Cubemaps
BConstruir cubemaps é o processo de gerar texturas para usar como reflexões. Por razões técnicas, este processo não é automatizado ( Exceto em ) e cabe ao usuário fazê-lo; até lá, as entidades env_cubemap existentes permanecerão sem uso e o mapa, dependendo do jogo, mostrará uma textura genérica, preta ou texturas “ em falta” como reflexos devido a cubemaps inexistentes.

- PARA PESSOAS COM EPILEPSIA: A criação de cubemaps em jogos executados em Vulkan, como
Left 4 Dead 2, faz com que a tela pisque violentamente em preto e branco. Também em sistemas com CPU/GPU mais rápida , a criação de cubemaps HDR em jogos do ramo pré-L4D, como
Counter-Strike: Source, mesmo com Direct3D 9/DX9, também fará a tela piscar em preto e branco repetidamente.
- Se o comando nav_show_ladder_bounds tiver sido usado antes da criação de cubemaps, as caixas verdes também serão incorporadas ao cubemap.
- Se estiver criando cubemaps para o
Half-Life 2 (exceto os episódios) após a Atualização do Aniversário de 20 anos, você deverá iniciar o jogo com -game hl2 argumento da linha de comando. Caso contrário, o jogo tentará acessar o episodic/maps (
) em vez do diretório de mapas Half-Life 2, fazendo com que o jogo não salve os cubemaps criados no mapa. Da mesma forma, se estiver criando cubemaps para mapas localizados no diretório Episode One ou Episode Two, inicie o jogo com -game episodic (para EP1) ou -game ep2 (para o EP2), respectivamente (ou inicie o Episódio Um/Episódio Dois em Steam > Ferramentas).
Antes de construir

Também alguns jogos Source (como o CS:S), não parecem necessitar que os cheats estejam activados para construir cubemaps. -leonidakarlach (talk) 02:50, 25 agosto 2024 (PDT)





- As entidades env_cubemap permitem gerar reflexos de alta ou baixa qualidade, embora a qualidade da textura do jogo também entre em jogo; considere maximizar as configurações visuais do jogo antes de criar cubemaps.
- Para criar cubemaps, a resolução da tela do seu jogo precisa ser pelo menos 4 vezes maior do que o maior tamanho de um env_cubemap existente, caso contrário, a tentativa de criá-los falhará ou até mesmo causará o travamento do jogo.
Por exemplo, se o maior env_cubemap tiver o tamanho 128x128, será necessária uma resolução não inferior a 512x512. (128 × 4 = 512 -> 720x576 (como uma resolução válida) ou superior)Notar:O jogo pode parecer congelar ou deixar de responder durante o processo, e o tempo depende de vários fatores. Para obter resultados bem-sucedidos, não se afaste do jogo até que ele seja concluído.
- Se estiver usando o
Mapbase, adicione -autocubemap à sua linha de comando em Hammer. O jogo criará automaticamente cubemaps
- O
Slammin' VBSP apresenta o comando -nodefaultcubemap, que ignora a geração automática de cubemaps skybox na compilação do mapa
.
LDR




Building cubemaps in a map compiled in LDR (Low Dynamic Range) mode will generate textures only for that mode, regardless of your game's High Dynamic Range video setting. To build the cubemaps, submit the following commands into the game's console:
Command | Description |
---|---|
mat_specular 0 | Turns reflections off, which is necessary if using only one iteration of buildcubemaps. It also meant that disabling reflections would avoid some case where missing textures or default cubemap texture (materials/engine/defaultcubemap.vtf, aka a desert with orange sunset sky), might ended up reflected on the cubemap itself. |
map map_name | Loads the map; replace "map_name" with the map's actual name |
sv_cheats 1 | Enables the use of cheat commands; required to build cubemaps![]() |
buildcubemaps | Begins building cubemaps. Optionally, specify the number of iterations (e.g.: buildcubemaps 2 (default is 1))
|
disconnect | Unloads the map and returns to the main menu |
mat_specular 1 | Turns reflections on. |
quit | (optional) Exits the game. On some games, relaunching is required to display newly-built cubemaps |
LDR + HDR
Building cubemaps in Source 2006 - Source 2013 game, with a map compiled with HDR support needs to be performed twice - once for each mode (HDR and LDR). As opposed to an LDR map's case, your game's High Dynamic Range video setting has to be set to "Full" to build HDR cubemaps, and to "None" to build LDR ones (or using the mat_hdr_level command. To build the cubemaps for both LDR + HDR, submit the following commands into the game's console:

Command | Description |
---|---|
mat_specular 0 | Turns reflections off, which is necessary if using only one iteration of buildcubemaps. It also meant that disabling reflections would avoid some case where missing textures or default cubemap texture (materials/engine/defaultcubemap.vtf, aka a desert with orange sunset sky), might ended up reflected on the cubemap itself. |
map map_name | Loads the map; replace "map_name" with the map's actual name |
sv_cheats 1 | Enables the use of cheat commands; required to build cubemaps![]() |
building_cubemaps 1 | Sets HDR exposure to a consistent value. This will automatically reset back to 0 after cubemaps are built. |
buildcubemaps | Begins building cubemaps. Optionally, specify the number of iterations (e.g.: buildcubemaps 2 (default is 1))
|
disconnect | Unloads the map and returns to the main menu |
sv_cheats 0 | Disables cheat commands; prevents command mat_reloadallmaterials from unnecessarily self-executing (which briefly freezes the game)
|
mat_hdr_level 0 | Switches to LDR mode (from HDR); submit mat_hdr_level 2 instead if LDR cubemaps were built first
|
map map_name | Loads the map again to build cubemaps for the new mode |
sv_cheats 1 | |
buildcubemaps | Begins building cubemaps for the new mode |
disconnect | |
mat_specular 1 | Turns reflections on. |
mat_hdr_level 0/1/2 | If necessary, switches back to the mode it was before having submitted mat_hdr_level 0/2
|
quit | (optional) Exits the game. On some games, relaunching is required to display newly-built cubemaps |
HDR
This section is for games running Left 4 Dead engine branch and later engine branch, or engine branch that only support's HDR (Xengine). To build cubemaps in HDR only, submit the following commands into the game's console:
Command | Description |
---|---|
mat_specular 0 | Turns reflections off, which is necessary if using only one iteration of buildcubemaps. It also meant that disabling reflections would avoid some case where missing textures or default cubemap texture (materials/engine/defaultcubemap.vtf, aka a desert with orange sunset sky), might ended up reflected on the cubemap itself. |
map map_name | Loads the map; replace "map_name" with the map's actual name |
sv_cheats 1 | Enables the use of cheat commands; required to build cubemaps |
building_cubemaps 1 | Sets HDR exposure to a consistent value. This will automatically reset back to 0 after cubemaps are built. |
buildcubemaps | Begins building cubemaps. Optionally, specify the number of iterations (e.g.: buildcubemaps 2 (default is 1))
|
disconnect | Unloads the map and returns to the main menu |
mat_specular 1 | Turns reflections on. |
quit | (optional) Exits the game. On some games, relaunching is required to display newly-built cubemaps |
Building cubemaps in specific games
Black Mesa: Source
To build cubemaps in Black Mesa maps, the game has to be launched with these parameters:
-oldgameui -dev -console +r_4way_use_fast_normals 0 +mat_specular 0
Then, load the map and submit the buildcubemaps
command into the console.
Half-Life: Source




maps
folder of a game in the same engine branch (such as 
Half-Life 2 (20th Anniversary Update)




You may also see this error message generated on the console: vtex failed to compile cubemap! Unable to remove \steamapps\common\half-life 2\episodic\materials\maps\<map name>\<cubemap location>.vtf

Portal 2



dlc2
by default).

Portal 2: Community Edition



Source Filmmaker







maps
folder, build its cubemaps in that game, then move the file back into 
Notar:Alien Swarm's "gameinfo.txt" file needs to be modified for this procedure so that the game can have access to assets used by other games' maps not to build cubemaps with missing textures or models. The file's "SearchPaths" section should look like this:
"SearchPaths" { "Game" "|gameinfo_path|." "Game" "swarm_base" "Game" "platform" "Game" "..\SourceFilmmaker\game\usermod" "Game" "..\SourceFilmmaker\game\tf_movies" "Game" "..\SourceFilmmaker\game\tf" "Game" "..\SourceFilmmaker\game\hl2" }



Gambiarra:Another option is to manually remove the sphere map (face #7) from the existing HDR cubemap textures. See Creating a custom static cubemap texture for more info.
Alternatively, deleting the affected HDR cubemap texture files will cause the LDR versions to be used, which do not suffer from this bug.
Deleting cubemaps
Several tools make it possible to delete unnecessary or outdated cubemaps; BSPZIP is one official, command-line tool which is usually the preferred option for this procedure, allowing for an usage unlikely of corrupting the map file due to misuse. To delete cubemaps, execute the following command within the maps
folder:
..\..\bin\bspzip -deletecubemaps map_name.bsp


Extracting cubemaps
In cases where a map has to be recompiled with minor changes (and its built cubemaps vanish as a result), extracting them beforehand will make it not necessary to go through the whole cubemap-building process again. To extract cubemaps with BSPZIP, create a folder that will contain the extracted cubemaps inside the maps
one, then execute the following command:
..\..\bin\bspzip -extractcubemaps map_name.bsp "foldername"

Embedding cubemaps
For BSPZIP to make a map use extracted cubemaps, create a text file inside the maps
folder. The file's content should look like this:
materials/maps/map_name/c-128_384_64.hdr.vtf foldername\materials\maps\map_name\c-128_384_64.hdr.vtf materials/maps/map_name/c-128_384_64.vtf foldername\materials\maps\map_name\c-128_384_64.vtf materials/maps/map_name/c448_-256_64.hdr.vtf foldername\materials\maps\map_name\c448_-256_64.hdr.vtf materials/maps/map_name/c448_-256_64.vtf foldername\materials\maps\map_name\c448_-256_64.vtf materials/maps/map_name/cubemapdefault.vtf foldername\materials\maps\map_name\cubemapdefault.vtf

A file requires two dedicated lines (paths): the first line represents the path it will use within the map file, whereas the second one is the actual location of the file to embed into the map file. Relative location paths were used for the example, but they can also be Absolute. Once the text file is ready, execute the following command:
..\..\bin\bspzip -addlist map_name.bsp textfile.txt newmap_name.bsp

Renaming a map
For built cubemaps to work, they must be located in a folder that is named after the map; this folder is automatically created within the map file during the building process. Renaming the map file will not also rename said folder, and therefore cubemaps will not be accessed. Some third-party apps allow renaming the folder, though it is not advisable to do so as it may corrupt the file. Instead, either delete and then rebuild the cubemaps, or revert the map to its original name.
See also
- env_cubemap
- $envmap
- parallax_obb - For Parallax Corrected Cubemaps.