L4D Level Design/Visibility/pt-br

From Valve Developer Community
Jump to: navigation, search

Básicos da Visibilidade

A extensão de arquivo para mapas compilados é .bsp. BSP significa Binary Space Partitioning. Basicamente, a engine do jogo só precisa desenhar áreas do level que são vísiveis a partir da visão de onde jogador está. Isto ajuda com a performance do level (o quão rápido o frame rate é). Para isto, a engine corta o level em pedaços chamados leafs (folhas). Se o jogador está parado numa leaf que vê outra leaf, então aquela leaf será desenhada. Brushes regulares (não-entidades) determinam onde o corte da leaf é feito. Brush entities, assim como a func_ladder que nós criamos na sessão anterior, não afetam aonde os cortes são feitos.

Então porque você não vai querer mais brushes cortando seu level em mais leafs? Se você tiver mais brushes que cortam o level, a engine tem mais trabalho para calcular a visibilidade e mais cortes no mapa significam um maior número de faces para desenhar.

Qualquer brush que você criar que não bloqueie a visibilidade efetivamente deve ser um brush entidade chamado func_detail. Estes func_detail brushes são sólidos fixos no mundo, mas ignorados para os cálculos de visibilidade.

  • Esta é uma básica explicação do sistema de visibilidade da enginde do jogo. Para mais informações sobre BSP e visibilidade, veja Visibility optimization.

Criando tutorial03.vmf

No Hammer, abra o arquivo do mapa tutorial02.vmf que você criou no tutorial anterior caso não esteja aberto. Ele deve estar localissado na pasta mapsrc, por padrão:

C:\Arquvivo de Programas\Steam\steamapps\common\left 4 dead\sdk_content\mapsrc\

Agora nós vamos fazer uma nova versão para trabalhar:

  • Vá no menu File e escolha Save As...
  • Mude o nome para tutorial03.vmf.

Criando a Plataforma

Agora com o nosso level chamado tutorial02, vamos criar uma plataforma que extenda o chão do andar criado para a nossa escada.

Usando a Hammer select.png Selection tool, duplique a parede no fundo que nós tinhamos expandido para criar o andar superior no tutorial anterior usando a tecla Shift-arrastando-a. Remodele a parede para virar uma plataforma que extenta o andar.

Deve ser 368 unidades de largura, 176 unidades de comprimento, e 16 unidades de altura, como a figura a seguir.

Duplicando um brush parede para fazer a plataforma.

Sinta-se livre para re-texturizar o fundo da plataforma de modo que combine com o chão e o teto.

Texturizando o fundo da plataforma.

Agora, vá para o menu Tools e escolha Tie to Entity (Tornar entidade). Você também pode usar o atalho Ctrl+T.

Selecionando "Tie to Entity" do menu Tools.

O padrão de Class (Classe) para um brush entity (entidade) é func_detail.

Criando um brush entity com a Classe padrão.

Se você ver algo diferente na lista do menu Class, você precisará mudar a configuração na aba Tools > Options > Game Configurations.

Certifique-se que o campo Default SolidEntity Class (Classe padrão entidade sólida) está definido para "func_detail".

Definindo func_detail como "Default SolidEntity Class".

É só isso. Você acabou de criar um brush que não ira cortar seu BSP em mais leafs.

Rodando o mapa

Pressione a tecla F9 para abrir a janela Run Map e clique no botão OK para compilar o mapa e roda-lo no jogo.

Note.pngNotar:Como foi dito, ignore a mensagem de erro "Map is unplayable!" e apenas aperte Continue para ver seu mapa.

Bons candidatos para ser brushes func_detail

Então, como você saberá se deve ou não fazer um brush brush func_detail?

Detalhes como:

  • Colunas e vigas
  • guarnições
  • Pequenas plataformas
  • Mobílias
Note.pngNotar:Lembre que seu level precisa estar completamente fechado para compilar corretamente e para fazer uso da visibilidade. Por isso, nenhum brush que sele o level deve ser um func_detail. Isto criar-a um leak (vazamento) leak com o exterior.