Já ouviu falar de Cull Distance? Esta é mais uma forma de otimização que existe dentro do Unreal Engine, ela usa como regra a distância entre a câmera e cada objeto na cena.
Cull Distance significa algo como Distância de Descarte (Culling Distance)
A distância de descarte é baseada em centímetros (medida padrão da UE4/5) - Fique muito atento a isso, levei muito tempo para perceber, e cometi erros que me atrasavam e davam muito retrabalho.
- A distância de descarte varia com base nas configurações do motor, especificamente com o “View Distance”.
As configurações da UE possuem 5 níveis, sendo o último o “Cinematic”, este não é considerado pelo “Cull Distance” no momento de jogo, por isso, sempre certifique de estar testando a distância de descarte dos SMs estando no máximo em “Epic”, nunca em “Cinematic”.
Experiência
Durante o desenvolvimento de meu primeiro jogo, Montti Constanttini, com o planejamento já definido, fui ao decorrer da criação do level, inserindo os valores de “Cull Distance” foram meses de trabalho, quando fizemos nosso primeiro empacotamento, SURPRESA! O mapa todo sumiu. Como eu desenvolvi com a config. no “Cinematic” defini valores como 1000, 2500, no máximo 3500, isso significa que no gráfico máximo em jogo, o jogador veria apenas os itens a menos de 35 metros, já no gráfico mínimo a 14 metros.
Depois desse ótimo xp adquirido, hoje além de desenvolver no máximo no “Epic” sempre verifico nas configurações mais baixas, além de definir padrões de distâncias para determinados locais, faço empacotamentos regulares.
Vamos aos exemplos:
Uma SM com Cull Distance definido para 1000. Com as configurações em “Epic” a SM desaparece quando a câmera ultrapassar 1000 cm (10 metros).
Cinematic: 10000 cm (1000% do padrão “Epic”)
Epic: 1000 cm (100% do padrão “Epic”)
Far: 800 cm (80% do padrão “Epic”)
Medium: 600 cm (60% do padrão “Epic”)
Near: 400 cm (40% do padrão “Epic”)
Aplicando Cull Distance
Na categoria “Rendering” na janela “Details” com o SM selecionado, expanda a seção LOD, a quinta opção “Desired Max Draw Distance", inserindo um valor como 5000, seu objeto desaparecerá assim que o jogador ultrapassar a marca de 50 metros deste objeto, isso se os gráficos estiverem no épico.
Nota: Na Unreal Engine 5, esta configuração não está em Rendering, mas sim em HLOD.
Para o SM ter uma distância mínima de existência, defina “Min Draw Distance”, esta opção certificará que este objeto não será descartado no valor definido, se o descarte estiver definido para 10 metros, e as configurações do jogo estiverem em baixo, o objeto será descartado com 4 metros, no entanto, se for definido um valor de 600 para "Min Draw Distance", 600 passa a valer como opção mais baixa possível para descarte desse objeto.
O valor que a SM seguirá para o descarte em jogo é o valor mostrado em “Current Max Draw Distance”.
NOTA: Para você visualizar a SM desaparecendo em edição, basta teclar “G” dentro da “Viewport” para entrar em modo jogo.
Espero ter ajudado você a ganhar mais um pouco de informações sobre desenvolvimento de cenário, e que isso posso te ajudar ir cada vez mais longe! Meu nome é Alisson Almeida Artista de Ambiente e criador da Six Sides e se esse artigo foi útil para você, compartilha com seus amigos e até uma próxima!
Ótima explicação me ajudou demais!!