Pt-br/Skybox Optimization: Difference between revisions
(Created page with "{{subst:#if: Translation of 'Skybox Optimization' to 'português do Brasil' via Template:LanguageBar buttons...") |
No edit summary |
||
| Line 1: | Line 1: | ||
{{LanguageBar}} | {{LanguageBar}} | ||
[[Category:Level Design]] | [[Category:Level Design]] | ||
| Line 15: | Line 4: | ||
[[Category:Skybox]] | [[Category:Skybox]] | ||
{{subpage|[[Skybox Basics]]}} | {{subpage|[[Skybox Basics]]}} | ||
[[File:Layoututh.jpg|thumb|right|250px| | [[File:Layoututh.jpg|thumb|right|250px|O exemplo do layout de um pequeno mapa que é abordado neste artigo.]] | ||
Este artigo aborda os diferentes métodos de colocação de brushes skybox num mapa, bem como as suas vantagens e desvantagens. Para o efeito, é apresentado um exemplo de um mapa no qual são aplicados todos os métodos. As escovas de telhado estão ocultas para efeitos de tutorial. | |||
{{clr|left}} | {{clr|left}} | ||
== | == Visão geral == | ||
{| style="border:1px solid #666" | {| style="border:1px solid #666" | ||
|- style="background-color:#444" | |- style="background-color:#444" | ||
!colspan=2| Method | !colspan=2| Method | ||
! | ! Descrição | ||
! | ! Vantagens | ||
! | ! Desvantagens | ||
|- | |- | ||
! ''Box ("Diaper") | ! ''Método Box ("Diaper")'' | ||
| [[File:Improperskyboxexample.gif|140px]] | | [[File:Improperskyboxexample.gif|140px]] | ||
| | | Criar um enorme bloco de skybox oco que contenha todo o nível | ||
|style=background-color:rgba(0,255,0,0.1)| | |style=background-color:rgba(0,255,0,0.1)| | ||
* | * Muito fácil de criar | ||
|style=background-color:rgba(255,0,0,0.1)| | |style=background-color:rgba(255,0,0,0.1)| | ||
* | * Tempo de compilação desnecessariamente longo, desempenho desnecessariamente mau | ||
* | * A utilização de [[Hammer Cordon Usage|cordon]]s é mais fácil, mas permite realizar o mesmo objetivo | ||
|- style=background-color:rgba(255,255,255,0.05) | |- style=background-color:rgba(255,255,255,0.05) | ||
! '' | ! ''Skybox apertada'' | ||
| [[File:Properskyboxexample.gif|140px]] | | [[File:Properskyboxexample.gif|140px]] | ||
| | | Criar paredes e tectos skybox divisão a divisão sem criar áreas transitáveis não intencionais | ||
|style=background-color:rgba(0,255,0,0.1)| | |style=background-color:rgba(0,255,0,0.1)| | ||
* | * Tempo de compilação e desempenho razoáveis | ||
|style=background-color:rgba(255,0,0,0.1)| | |style=background-color:rgba(255,0,0,0.1)| | ||
* | * Criação é um trabalho, é mais provável que apareçam [[leak]]s | ||
* | * As estruturas altas de outras secções podem desaparecer, embora devessem estar visíveis | ||
|- | |- | ||
! '' | ! ''Abordagem dinâmica'' | ||
| [[File:Towerop1.jpg|140px]] | | [[File:Towerop1.jpg|140px]] | ||
| | | Como a ''Skybox apertada'', mas não ''tão'' apertada, deixando as diferentes secções do mapa ligadas acima da área jogável | ||
|style=background-color:rgba(0,255,0,0.1)| | |style=background-color:rgba(0,255,0,0.1)| | ||
* | * Tempo de compilação e desempenho razoáveis | ||
* | * Pode ter em conta estruturas altas para ficarem visíveis a partir de diferentes secções | ||
* | * Melhor imersão: balas, granadas e props físicos não colidem com a skybox como se esta fosse uma parede | ||
|style=background-color:rgba(255,0,0,0.1)| | |style=background-color:rgba(255,0,0,0.1)| | ||
* | * Criação é um trabalho, as fugas são mais susceptíveis de aparecer | ||
|} | |} | ||
Alguns outros benefícios da criação de uma skybox adequada para otimizar o mapa podem incluir | |||
* | *Uso mais fácil de [[areaportal]]s | ||
* | *Organização mais fácil de ativadores {{ent|env_soundscape}} | ||
* | *Renderização de um maior número de adereços [[Prop detail|detail]] em displacements. | ||
{{Tip| | {{Tip|As estruturas altas que devem permanecer visíveis em várias seções do nível (por exemplo, uma crane) podem ser movidas para uma [[Skybox 3D]]. Se necessário, a estrutura pode ser duplicada.}} | ||
{{Note| | {{Note|Em {{cs}}{{czero}}{{css}}{{csgo}}, podes querer que as granadas lançadas arbitrariamente nunca toquem na skybox. Para isso, o teto da skybox deve ser pelo menos [[Counter-Strike: Global Offensive/Mapper's Reference#Grenades|1500 units a mais]] do que o lugar mais alto de onde um jogador pode lançar granadas. Para além disso, as paredes da skybox não podem prolongar as paredes do nível se nenhuma granada as atingir.}} | ||
== | == Método de caixa == | ||
A maioria dos mapeadores inexperientes tende a criar uma grande caixa em torno de seu nível e texturizá-la com a textura <code>tools/toolsskybox</code>, em seguida, esculpi-la para fora para criar, literalmente, uma '''sky box'''. A maioria dos mapeadores faz isso porque não tem experiência com o funcionamento de uma skybox e seus efeitos, ou pode fazer isso simplesmente porque não quer vazamentos em seu mapa. Isto é por vezes referido como um skybox "diaper". | |||
De qualquer forma, este ''“Método da caixa”'' não é a forma como deve formar a sua skybox, pois pode causar mais problemas do que os que resolve. | |||
Para demonstrar o porquê, será criado um pequeno mapa para o objetivo deste artigo. É um esquema simples: alguns caminhos com três grandes áreas e paredes a separá-las. Este não é o mapa mais complicado, mas serve para ilustrar o ponto. Além disso, repara como o chão ao longo do nível é feito de displacements costurados uns aos outros. Isto é bastante comum, e verá como isto afecta a skybox e a otimização do mapa daqui a pouco. Com o '''Box Method (Método de Caixa)''' aplicado, o mapa apareceria como a imagem abaixo. | |||
[[File:Improperskyboxexample.gif]]<br/> | [[File:Improperskyboxexample.gif]]<br/> | ||
Os displacements estão a desaparecer e a desaparecer por uma razão: para demonstrar que não são efetivamente tidos em conta pelo [[VVIS]]. Os displacements não bloqueiam a visibilidade e o VVIS não calcula as visleafs que param na superfície dos displacements; as folhas de visão atravessam-nos diretamente. Se tivesse uma parede feita de displacements, o seu computador continuaria a renderizar todos os modelos, jogadores e geometria por trás deles. Apenas a geometria do mundo - neste caso, as paredes/brushes - irá bloquear a visibilidade e criar as visleafs que controlam os itens a renderizar. | |||
{{Tip| | {{Tip|Quando as bordas exteriores do seu mapa ainda estão em desenvolvimento, é mais benéfico usar as [[Hammer_Cordon_Usage|cordon tools]] até chegar a uma fase de desenvolvimento do mapa em que quer começar a configurar a sua skybox final e otimizar o seu mapa. Os cordons funcionam da mesma forma que o método da caixa, mas são mais simples de utilizar.}} | ||
{{Note| | {{Note|Pode reparar que a origem do mapa se encontra dentro do nível.<br>No {{src}}, isto é uma má prática, pois o VVIS corta automaticamente as folhas de visão ao longo do eixo da origem. Em vez disso, a origem deve ser movida para um dos 4 quadrantes do eixo x/y.<br>No {{gldsrc}}, no entanto, este conselho pode e deve ser ignorado, pois a tela do mapa é significativamente menor, e os brushes colocados muito perto da borda do mapa muitas vezes compilam incorretamente, especialmente se forem pequenos.}} | ||
== | == Skybox apertada == | ||
Segue o anexo de um exemplo de um skybox criada corretamente: | |||
[[File:Properskyboxexample.gif]] | [[File:Properskyboxexample.gif]] | ||
a skybox agora está em conformidade com o contorno do nível, e a textura nodraw é usada em todas as áreas sob as paredes e o chão, ao invés da textura <code>tools/toolsskybox</code>. Isto reduz a quantidade de cálculos necessários (reduzindo significativamente o tempo de compilação) porque a skybox não contém todo o espaço vazio gerado pelo método anterior. A textura nodraw é usada porque não precisamos de criar luz por baixo do nível e não queremos erros de renderização que ocorrerão quando a luz atingir as displacements a partir de baixo. | |||
Todos estes métodos introduzem alterações visíveis na compilação: | |||
[[File:Vviscompare.gif|left]] | [[File:Vviscompare.gif|left]] | ||
| Line 107: | Line 96: | ||
''VisDataSize:'' '''2048''' »» '''196''' | ''VisDataSize:'' '''2048''' »» '''196''' | ||
{{clr}} | {{clr}} | ||
Para um mapa tão pequeno, estas diferenças já são enormes e irão aumentar drasticamente o desempenho do mapa no jogo, especialmente se o mapa for maior. | |||
== | == Quando não construir seções == | ||
Conformar a skybox com os caminhos do nível não deve ser feito sempre, mas apenas quando apropriado. Há alguns casos em que se deve deixar espaços para ver através deles, para que se possa ver a seção seguinte do mapa, por exemplo. | |||
Uma 'torre' laranja alta foi colocada na área central do mapa, como pode ser visto abaixo. No entanto, se a skybox se mantiver como está, essa torre aparecerá/desaparecerá quando as pessoas andarem à volta, devido à construção da skybox. É necessário cortar a skybox em alguns pontos para garantir que a torre é visível de todos os ângulos a partir dos quais o jogador a pode ver. | |||
Removendo e recortando as paredes para que a torre possa ser vista de qualquer ângulo e utilizando a textura nodraw entre as paredes no centro, obtemos um resultado semelhante a este: | |||
[[File:Towerop1.jpg]] | [[File:Towerop1.jpg]] | ||
Também se pode tentar limitar a área em que a torre será mostrada. Basta aumentar a altura de algumas paredes, para que quando o jogador estiver perto de uma parede e a torre estiver atrás dela, a torre não possa ser vista devido à altura da parede: | |||
[[File:Towerop2.jpg]] | [[File:Towerop2.jpg]] | ||
== | == Veja também == | ||
[[Optimization_(level_design)|Category:Optimization (Level Design)]] | [[Optimization_(level_design)|Category:Optimization (Level Design)]] | ||
[[Level_Design_FAQ|Category:Level_Design_FAQ]] | [[Level_Design_FAQ|Category:Level_Design_FAQ]] | ||
Revision as of 12:03, 5 October 2024
Este artigo aborda os diferentes métodos de colocação de brushes skybox num mapa, bem como as suas vantagens e desvantagens. Para o efeito, é apresentado um exemplo de um mapa no qual são aplicados todos os métodos. As escovas de telhado estão ocultas para efeitos de tutorial.
Visão geral
| Method | Descrição | Vantagens | Desvantagens | |
|---|---|---|---|---|
| Método Box ("Diaper") | Criar um enorme bloco de skybox oco que contenha todo o nível |
|
| |
| Skybox apertada | Criar paredes e tectos skybox divisão a divisão sem criar áreas transitáveis não intencionais |
|
| |
| Abordagem dinâmica | Como a Skybox apertada, mas não tão apertada, deixando as diferentes secções do mapa ligadas acima da área jogável |
|
| |
Alguns outros benefícios da criação de uma skybox adequada para otimizar o mapa podem incluir
- Uso mais fácil de areaportals
- Organização mais fácil de ativadores env_soundscape
- Renderização de um maior número de adereços detail em displacements.
Método de caixa
A maioria dos mapeadores inexperientes tende a criar uma grande caixa em torno de seu nível e texturizá-la com a textura tools/toolsskybox, em seguida, esculpi-la para fora para criar, literalmente, uma sky box. A maioria dos mapeadores faz isso porque não tem experiência com o funcionamento de uma skybox e seus efeitos, ou pode fazer isso simplesmente porque não quer vazamentos em seu mapa. Isto é por vezes referido como um skybox "diaper".
De qualquer forma, este “Método da caixa” não é a forma como deve formar a sua skybox, pois pode causar mais problemas do que os que resolve. Para demonstrar o porquê, será criado um pequeno mapa para o objetivo deste artigo. É um esquema simples: alguns caminhos com três grandes áreas e paredes a separá-las. Este não é o mapa mais complicado, mas serve para ilustrar o ponto. Além disso, repara como o chão ao longo do nível é feito de displacements costurados uns aos outros. Isto é bastante comum, e verá como isto afecta a skybox e a otimização do mapa daqui a pouco. Com o Box Method (Método de Caixa) aplicado, o mapa apareceria como a imagem abaixo.
Os displacements estão a desaparecer e a desaparecer por uma razão: para demonstrar que não são efetivamente tidos em conta pelo VVIS. Os displacements não bloqueiam a visibilidade e o VVIS não calcula as visleafs que param na superfície dos displacements; as folhas de visão atravessam-nos diretamente. Se tivesse uma parede feita de displacements, o seu computador continuaria a renderizar todos os modelos, jogadores e geometria por trás deles. Apenas a geometria do mundo - neste caso, as paredes/brushes - irá bloquear a visibilidade e criar as visleafs que controlam os itens a renderizar.
No
No
Skybox apertada
Segue o anexo de um exemplo de um skybox criada corretamente:
a skybox agora está em conformidade com o contorno do nível, e a textura nodraw é usada em todas as áreas sob as paredes e o chão, ao invés da textura tools/toolsskybox. Isto reduz a quantidade de cálculos necessários (reduzindo significativamente o tempo de compilação) porque a skybox não contém todo o espaço vazio gerado pelo método anterior. A textura nodraw é usada porque não precisamos de criar luz por baixo do nível e não queremos erros de renderização que ocorrerão quando a luz atingir as displacements a partir de baixo.
Todos estes métodos introduzem alterações visíveis na compilação:
Portal Clusters: 73 »» 16
Numportals: 201 »» 19
Total Clusters Visible: 3981 »» 134
Average Clusters Visible: 54 »» 8
Average Clusters Audible: 73 »» 13
VisDataSize: 2048 »» 196
Para um mapa tão pequeno, estas diferenças já são enormes e irão aumentar drasticamente o desempenho do mapa no jogo, especialmente se o mapa for maior.
Quando não construir seções
Conformar a skybox com os caminhos do nível não deve ser feito sempre, mas apenas quando apropriado. Há alguns casos em que se deve deixar espaços para ver através deles, para que se possa ver a seção seguinte do mapa, por exemplo.
Uma 'torre' laranja alta foi colocada na área central do mapa, como pode ser visto abaixo. No entanto, se a skybox se mantiver como está, essa torre aparecerá/desaparecerá quando as pessoas andarem à volta, devido à construção da skybox. É necessário cortar a skybox em alguns pontos para garantir que a torre é visível de todos os ângulos a partir dos quais o jogador a pode ver.
Removendo e recortando as paredes para que a torre possa ser vista de qualquer ângulo e utilizando a textura nodraw entre as paredes no centro, obtemos um resultado semelhante a este:
Também se pode tentar limitar a área em que a torre será mostrada. Basta aumentar a altura de algumas paredes, para que quando o jogador estiver perto de uma parede e a torre estiver atrás dela, a torre não possa ser vista devido à altura da parede:
Veja também
Category:Optimization (Level Design) Category:Level_Design_FAQ





