Cubemaps

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.

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)Nota: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




A criação de cubemaps em um mapa compilado no modo LDR (Low Dynamic Range) gerará texturas somente para esse modo, independentemente da configuração de vídeo High Dynamic Range do jogo. Para criar os cubemaps, envie os seguintes comandos para o console do jogo:
Comando | Descrição |
---|---|
mat_specular 0 | Desativa os reflexos, o que é necessário se estiver usando apenas uma iteração de buildcubemaps. Isso também significa que a desativação dos reflexos evitaria alguns casos em que as texturas ausentes ou a textura padrão do cubemap (materials/engine/defaultcubemap.vtf, também conhecida como um deserto com céu laranja ao pôr do sol), poderiam acabar refletidas no próprio cubemap. |
map map_name | Carrega o mapa; substitua "map_name" pelo nome real do mapa |
sv_cheats 1 | Habilita o uso de comandos de trapaça; necessário para criar cubemaps![]() |
buildcubemaps | Inicia a criação de cubemaps. Opcionalmente, especifique o número de iterações (e.g.: buildcubemaps 2 (default is 1))
|
disconnect | Descarrega o mapa e retorna ao menu principal |
mat_specular 1 | Ativa os reflexos. |
quit | (opcional) Sai do jogo. Em alguns jogos, é necessário reiniciar o jogo para exibir os cubemaps recém-construídos |
LDR + HDR
A construção de cubemaps no jogo Source 2006 - Source 2013, com um mapa compilado com suporte a HDR, precisa ser executada duas vezes - uma para cada modo (HDR e LDR). Ao contrário do caso de um mapa LDR, a configuração de vídeo High Dynamic Range do seu jogo deve ser definida como “Full” para criar cubemaps HDR e como “None” para criar cubemaps LDR (ou usando o comando mat_hdr_level. Para criar os cubemaps para LDR + HDR, envie os seguintes comandos para o console do jogo:

Comando | Descrição |
---|---|
mat_specular 0 | Desativa os reflexos, o que é necessário se estiver usando apenas uma iteração de buildcubemaps. Isso também significa que a desativação dos reflexos evitaria alguns casos em que as texturas ausentes ou a textura padrão do cubemap (materials/engine/defaultcubemap.vtf, também conhecida como um deserto com céu laranja ao pôr do sol), poderiam acabar refletidas no próprio cubemap. |
map map_name | Carrega o mapa; substitua "map_name" pelo nome real do mapa |
sv_cheats 1 | Habilita o uso de comandos de trapaça; necessário para criar cubemaps![]() |
building_cubemaps 1 | Define a exposição HDR em um valor consistente. Isso será redefinido automaticamente para 0 depois que os cubemaps forem criados. |
buildcubemaps | Começa a criar cubemaps. Opcionalmente, especifique o número de iterações (e.g.: buildcubemaps 2 (o padrão é 1))
|
disconnect | Descarrega o mapa e retorna ao menu principal |
sv_cheats 0 | Desativa os comandos de trapaça; evita que o comando mat_reloadallmaterials se autoexecute desnecessariamente (o que congela o jogo por um breve período)
|
mat_hdr_level 0 | Muda para o modo LDR (de HDR); em vez disso, envie mat_hdr_level 2 se os cubemaps LDR tiverem sido criados primeiro
|
map map_name | Carrega o mapa novamente para criar cubemaps para o novo modo |
sv_cheats 1 | |
buildcubemaps | Begins building cubemaps for the new mode |
disconnect | |
mat_specular 1 | Ativa os reflexos. |
mat_hdr_level 0/1/2 | Se necessário, retorna ao modo em que estava antes de ter enviado mat_hdr_level 0/2
|
quit | (opcional) Sai do jogo. Em alguns jogos, é necessário reiniciar o jogo para exibir os cubemaps recém-construídos |
HDR
Esta seção destina-se a jogos que executam Left 4 Dead engine branch e ramificações de mecanismo posteriores ou ramificações de mecanismo que suportam apenas HDR (Xengine). Para criar cubemaps apenas em HDR, envie os seguintes comandos para o console do jogo:
Comando | Descrição |
---|---|
mat_specular 0 | Desativa os reflexos, o que é necessário se estiver usando apenas uma iteração de buildcubemaps. Isso também significa que a desativação dos reflexos evitaria alguns casos em que as texturas ausentes ou a textura padrão do cubemap (materials/engine/defaultcubemap.vtf, também conhecida como um deserto com céu laranja ao pôr do sol), poderiam acabar refletidas no próprio cubemap. |
map map_name | Carrega o mapa; substitua "map_name" pelo nome real do mapa |
sv_cheats 1 | Permite o uso de comandos de trapaça; necessário para criar cubemaps |
building_cubemaps 1 | Define a exposição HDR em um valor consistente. Isso será redefinido automaticamente para 0 depois que os cubemaps forem criados. |
buildcubemaps | Inicia a criação de cubemaps. Opcionalmente, especifique o número de iterações |
disconnect | Descarrega o mapa e retorna ao menu principal |
mat_specular 1 | Ativa os reflexos. |
quit | (opcional) Sai do jogo. Em alguns jogos, é necessário reiniciar o jogo para exibir os cubemaps recém-construídos |
Criando cubemaps em jogos específicos
Black Mesa: Source
Para criar cubemaps em mapas Black Mesa, o jogo deve ser iniciado com estes parâmetros:
-oldgameui -dev -console +r_4way_use_fast_normals 0 +mat_specular 0
Em seguida, carregue o mapa e envie o comando buildcubemaps
para o console.
Half-Life: Source




maps
de um jogo no mesmo ramo do motor (como 
Half-Life 2 (20th Anniversary Update)




Você também pode ver essa mensagem de erro gerada no 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
por padrão).

Portal 2: Community Edition



Source Filmmaker







maps
, crie seus cubemaps nesse jogo e, em seguida, mova o arquivo de volta para a pasta 
Nota:O arquivo “gameinfo.txt” do Alien Swarm' precisa ser modificado para esse procedimento, de modo que o jogo possa ter acesso aos recursos usados pelos mapas de outros jogos para não criar cubemaps com texturas ou modelos ausentes. A seção “SearchPaths” do arquivo deve ter a seguinte aparência:
"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:Outra opção é remover manualmente o sphere map (face nº 7) das texturas de cubemaps HDR existentes. Consulte Criando uma textura de cubemap estática personalizada para obter mais informações.
Como alternativa, a exclusão dos arquivos de textura de cubemaps HDR afetados fará com que sejam usadas as versões LDR, que não sofrem com esse erro.
Deletando cubemaps
Várias ferramentas possibilitam a exclusão de cubemaps desnecessários ou desatualizados; o BSPZIP é uma ferramenta oficial de linha de comando que geralmente é a opção preferida para esse procedimento, permitindo um uso improvável de corromper o arquivo de mapa devido ao uso indevido. Para excluir cubemaps, execute o seguinte comando na pasta maps
:
..\..\bin\bspzip -deletecubemaps nome_mapa.bsp


Extraindo cubemaps
Nos casos em que um mapa tiver de ser recompilado com pequenas alterações (e seus cubemaps construídos desaparecerem como resultado), extraí-los antecipadamente fará com que não seja necessário passar por todo o processo de construção de cubemaps novamente. Para extrair cubemaps com o BSPZIP, crie uma pasta que conterá os cubemaps extraídos dentro da pasta maps
e, em seguida, execute o seguinte comando:
..\..\bin\bspzip -extractcubemaps nome_mapa.bsp "nomepasta"

Incorporação de cubemaps
Para que o BSPZIP faça com que um mapa use cubemaps extraídos, crie um arquivo de texto dentro da pasta maps
. O conteúdo do arquivo deve ser semelhante a este:
materials/maps/nome_mapa/c-128_384_64.hdr.vtf nomepasta\materials\maps\nome_mapa\c-128_384_64.hdr.vtf materials/maps/nome_mapa/c-128_384_64.vtf nomepasta\materials\maps\nome_mapa\c-128_384_64.vtf materials/maps/nome_mapa/c448_-256_64.hdr.vtf nomepasta\materials\maps\nome_mapa\c448_-256_64.hdr.vtf materials/maps/nome_mapa/c448_-256_64.vtf nomepasta\materials\maps\nome_mapa\c448_-256_64.vtf materials/maps/nome_mapa/cubemapdefault.vtf nomepasta\materials\maps\nome_mapa\cubemapdefault.vtf

Um arquivo requer duas linhas dedicadas (caminhos): a primeira linha representa o caminho que será usado no arquivo de mapa, enquanto a segunda é o local real do arquivo a ser incorporado no arquivo de mapa. No exemplo, foram usados caminhos de localização relativos, mas eles também podem ser absolutos. Quando o arquivo de texto estiver pronto, execute o seguinte comando:
..\..\bin\bspzip -addlist nome_mapa.bsp texto.txt novomapa_nome.bsp

Renomeação de um mapa
Para que os cubemaps criados funcionem, eles devem estar localizados em uma pasta com o nome do mapa; essa pasta é criada automaticamente no arquivo de mapa durante o processo de criação. Renomear o arquivo de mapa não renomeará também a referida pasta e, portanto, os cubemaps não serão acessados. Alguns aplicativos de terceiros permitem renomear a pasta, embora não seja aconselhável fazê-lo, pois isso pode corromper o arquivo. Em vez disso, exclua e reconstrua os cubemaps ou reverta o mapa para seu nome original.
Veja Também
- env_cubemap
- $envmap
- parallax_obb - Para cubemaps com correção de paralaxe.