Veja como funciona essa técnica MUITO ANTIGA de otimização de jogos

00:08:35
https://www.youtube.com/watch?v=7e-L649CjfU

Resumo

TLDRNeste vídeo, Nel Neto discute técnicas de otimização em jogos, especialmente em mundos abertos. Ele apresenta o conceito de 'culling', que é usado para evitar a renderização de objetos que não são úteis, como aqueles que estão a longa distância do jogador. O autor descreve como a renderização é afetada pela distância e pela câmera, explicando o funcionamento do 'frustum culling'. Este procedimento melhora notablemente o desempenho do jogo, reduzindo a carga sobre o processador gráfico. Nel também mostra como estas técnicas podem ser implementadas em motores gráficos e a relação entre tamanho e distância de visibilidade de objetos.

Conclusões

  • 🎮 A otimização é crucial para jogos de mundo aberto.
  • 🚀 O culling evita renderizar objetos distantes.
  • 📉 O frustum culling melhora a taxa de FPS.
  • 🖼️ Objetos invisíveis não consomem recursos.
  • 📏 Distância e tamanho afetam a renderização.
  • 🌆 Prédios grandes podem desaparecer se não forem configurados bem.
  • 🧩 A combinação de várias técnicas é essencial para um bom desempenho.
  • 🔧 É importante testar e ajustar as configurações de culling.
  • 👨‍💻 O desenvolvimento de jogos exige conhecimentos técnicos variados.
  • 📽️ Aprender sobre otimização pode melhorar seu jogo.

Linha do tempo

  • 00:00:00 - 00:08:35

    O vídeo aborda a otimização em jogos, destacando a técnica de 'culling', que reduz o processamento de objetos não visíveis a longas distâncias, melhorando o desempenho sem sacrificar a qualidade visual. O apresentador, Nel Neto, explica que, em mapas de jogos de mundo aberto, é fundamental descartar elementos fora da visão do jogador para garantir uma jogabilidade fluida. Nesse sentido, a técnica de 'frustum culling' é introduzida, onde o motor gráfico renderiza apenas o que está dentro do ângulo de visão da câmera. Além disso, o uso de 'level of detail' (LOD) é mencionado como uma estratégia complementar para otimizar a renderização de modelos em diferentes distâncias. O vídeo também mostra como implementar volumes de culling e configurações específicas para objetos grandes, enfatizando a necessidade de um equilíbrio entre visibilidade e desempenho.

Mapa mental

Vídeo de perguntas e respostas

  • O que é culling em jogos?

    Culling é uma técnica que remove da renderização objetos que estão fora do campo de visão ou que estão em longas distâncias, melhorando o desempenho do jogo.

  • Como funciona o frustum culling?

    O frustum culling renderiza apenas os objetos que estão dentro do triângulo de visão da câmera, evitando que objetos atrás da câmera sejam renderizados.

  • Quais são as técnicas de otimização mencionadas no vídeo?

    As técnicas mencionadas incluem culling, frustum culling e LOD (Level of Detail).

  • Por que a otimização é importante em jogos de mundo aberto?

    A otimização é crucial para garantir que o jogo rode suavemente, mesmo em ambientes complexos e grandes.

  • Quais problemas podem surgir ao aplicar culling?

    Um dos problemas é que objetos grandes podem desaparecer inesperadamente se não forem configurados corretamente.

Ver mais resumos de vídeos

Obtenha acesso instantâneo a resumos gratuitos de vídeos do YouTube com tecnologia de IA!
Legendas
pt
Rolagem automática:
  • 00:00:00
    pessoal me pede bastante vídeo sobre
  • 00:00:01
    otimização em jogos como que é feita a
  • 00:00:04
    otimização em jogos já fiz um vídeo bem
  • 00:00:06
    longo sobre isso e assim a gente sabe
  • 00:00:08
    que são utilizadas várias maracutaias
  • 00:00:11
    várias formas de você conseguir ganhar
  • 00:00:13
    desempenho para entregar o jogo na tela
  • 00:00:15
    de quem tá jogando com né que se esteja
  • 00:00:18
    um tem um visual bacana E que ao mesmo
  • 00:00:20
    tempo esteja ali leve como é que se faz
  • 00:00:23
    uma das técnicas mais antigas de
  • 00:00:26
    desenvolvimento de jogos é o que eu vou
  • 00:00:28
    mostrar nesse vídeo para você que não me
  • 00:00:29
    conhe sou Nel Neto sou jornalista e
  • 00:00:32
    programador de jogos esse aqui é um mapa
  • 00:00:34
    que como vocês podem ver se assemelha
  • 00:00:36
    bastante a qualquer outro mapa de jogo
  • 00:00:38
    de mundo aberto que tem a cidade sei lá
  • 00:00:39
    máfia tem GTA vários outros nesse
  • 00:00:41
    sentido mas o grande problema desse tipo
  • 00:00:44
    de mapa é que você tem muita coisa e né
  • 00:00:47
    por uma distância muito longa então tem
  • 00:00:49
    prédio lá atrás e às vezes o jogador ele
  • 00:00:52
    tá aqui ó Que diferença que faz o prédio
  • 00:00:57
    que tá lá atrás que não tá aparecendo
  • 00:00:59
    ser renderizado ou ser processado E aí
  • 00:01:02
    você começa a entender um pouco da
  • 00:01:04
    lógica de programação da lógica de
  • 00:01:05
    otimização que é descartar tudo que não
  • 00:01:08
    é necessário para conseguir ter mais
  • 00:01:11
    desempenho a técnica da qual eu vou
  • 00:01:13
    falar aqui é chamada de curing Ou seja é
  • 00:01:16
    c u l l i n g em inglês o que consiste
  • 00:01:20
    Olha só deixa eu vir aqui para cima aqui
  • 00:01:23
    é a minha visualização dentro do motor
  • 00:01:25
    gráfico isso quer dizer que essa não é a
  • 00:01:27
    visualização que o jogador vai ter você
  • 00:01:29
    apertar o o g Agora sim é a visualização
  • 00:01:32
    que o jogador ele tem então se o cara
  • 00:01:35
    der o play é isso que ele vai ver tá mas
  • 00:01:38
    ele vai estar voando Depende se o seu
  • 00:01:40
    jogo for tiver esse modo de voo aí você
  • 00:01:43
    tem que mudar essas configurações de
  • 00:01:45
    cing que já começa a ficar um pouco mais
  • 00:01:47
    chato então você começa a entender
  • 00:01:48
    porque que os jogos de mundo aberto eles
  • 00:01:51
    são tão complicados mas isso fica para
  • 00:01:52
    um outro vídeo n o que que é o cullin
  • 00:01:54
    cara você não tá falando o cullin ele
  • 00:01:56
    corta ó as coisas que estão numa longa
  • 00:01:59
    distância então a partir de determinada
  • 00:02:01
    distância aquilo não vai ser renderizado
  • 00:02:04
    e você pode também ó digamos assim
  • 00:02:07
    beleza cara mas tá cortando coisa que é
  • 00:02:08
    importante eu posso selecionar aquele
  • 00:02:10
    prédio lá ó e eu posso colocar aqui ó eu
  • 00:02:13
    posso colocar never distance cool é que
  • 00:02:17
    o cen é a prática né e o k é a definição
  • 00:02:20
    Olha lá F ele fica lá então ele nunca
  • 00:02:23
    vai ser nunca vai parar de ser
  • 00:02:25
    renderizado e agora eu tirei e ele só
  • 00:02:28
    vai ser renderizado quando jogar tiver
  • 00:02:30
    próximo tá entendendo eu já falei aqui
  • 00:02:32
    também sobre lods né o level of detail
  • 00:02:35
    deixar o vídeo aqui para você assistir
  • 00:02:37
    que é uma outra técnica que funciona
  • 00:02:39
    diferente dessa e é bem interessante né
  • 00:02:41
    além dessa daqui que é o cullin a real
  • 00:02:44
    ela também a real e outros motores
  • 00:02:45
    gráfic ela tem o firstone curing que
  • 00:02:48
    basicamente ela firstone é do é o
  • 00:02:51
    triângulo da câmera porque a câmera ela
  • 00:02:54
    começa pequena no seu ângulo de visão e
  • 00:02:56
    ela aumenta né então tudo que tá aqui
  • 00:02:57
    nessa câmera nesse triângulo tem um
  • 00:03:00
    triângulo aqui na câmera tá tudo que tá
  • 00:03:02
    aqui ele é chamar de de firstone
  • 00:03:04
    firstone é o nome meio estranho eu acho
  • 00:03:06
    que é esse se eu não me engano é esse
  • 00:03:07
    firstone firstone cing ele bom tudo que
  • 00:03:11
    tá aqui né ele vai ser renderizado o que
  • 00:03:13
    não tá o que tá para trás Se eu olhar
  • 00:03:15
    para lá pro outro lado vamos lá Se eu
  • 00:03:17
    olhar pro outro lado o que tava atrás
  • 00:03:19
    não tá mais sendo renderizado tanto é
  • 00:03:22
    que você pode verificar isso com os FPS
  • 00:03:24
    né Aqui tá a 70 FPS Se eu olhar para cá
  • 00:03:28
    tá a 38 FPS ou seja ele tá tendo que
  • 00:03:31
    renderizar tudo isso daqui e quando ele
  • 00:03:33
    tava olhando para lá ele não tava tendo
  • 00:03:35
    que renderizar nada disso aí você já
  • 00:03:37
    começa a entender como é que funciona
  • 00:03:39
    então isso por padrão Já tá ativado no
  • 00:03:41
    motor gráfico unre e vários outros
  • 00:03:43
    motores já trazem isso como base Mas
  • 00:03:46
    voltando pro pro cooling que eu quero
  • 00:03:48
    mostrar para vocês né esse também esse
  • 00:03:50
    que eu falei da câmera também é um
  • 00:03:52
    cooling mas eu quero falar sobre como
  • 00:03:55
    você pode utilizar isso como que as
  • 00:03:57
    pessoas podem implementar isso nos seus
  • 00:03:58
    jogos se se eu vi aqui ó em Window E aí
  • 00:04:01
    eu for em Place actors eu posso buscar
  • 00:04:03
    aqui por cin e ele vai me dar aqui não é
  • 00:04:07
    esse aqui que eu quero cool que ele vai
  • 00:04:08
    cool distance volume então ele vai pegar
  • 00:04:10
    um volume tudo que eu colocar dentro
  • 00:04:12
    desse volume vai poder ser vai poder
  • 00:04:15
    passar por esse processo então eu já
  • 00:04:17
    coloquei aqui e eu vou procurar para
  • 00:04:18
    mostrar para vocês co distance volume e
  • 00:04:21
    aqui eu posso especificar o tamanho de
  • 00:04:23
    cada coisa e quando Cara isso aqui é
  • 00:04:26
    muito interessante e quando essa coisa
  • 00:04:28
    ela vai deixar de ser visível
  • 00:04:30
    então algo do tamanho de 128 unidades
  • 00:04:33
    que aqui na real é em centímetros vai
  • 00:04:35
    deixar de ser vista aqui a
  • 00:04:40
    2048 que unidades de un que é
  • 00:04:43
    basicamente também centímetro então 2
  • 00:04:47
    2048 Olha só eu posso me aproximar Você
  • 00:04:49
    nota que lá no fundo tem várias coisas
  • 00:04:51
    sumindo e e São coisas que nem são tão
  • 00:04:55
    pequenas assim mas primeiro somem as
  • 00:04:57
    pequenas para depois as maior então
  • 00:05:00
    Coisas pequenas você só consegue ver
  • 00:05:03
    quando você tá bem perto mesmo ó tá
  • 00:05:04
    vendo ali aquele banco ali ó O banco só
  • 00:05:07
    aparece quando eu passo bem perto dele
  • 00:05:10
    por quê Porque uma caneta lá né no final
  • 00:05:14
    dessa rua você não vai ver mas um prédio
  • 00:05:17
    você consegue ver Então essa é a lógica
  • 00:05:20
    você coloca aqui o tamanho e coloca aqui
  • 00:05:22
    A que distância vai ser cortado E aí
  • 00:05:25
    você tem que seguir uma se você quiser
  • 00:05:27
    que coisas muito grandes nunca sejam
  • 00:05:29
    cortadas você pode colocar um tamanho
  • 00:05:31
    alto aqui tem esse 248 por exemplo tá
  • 00:05:34
    aqui uma distância bem alta né mas se eu
  • 00:05:37
    salvar esse cont control c aqui colocar
  • 00:05:38
    um zero agora coisas que são muito
  • 00:05:41
    grandes não vão desaparecer ó tá
  • 00:05:45
    desaparecendo um monte de coisa isso que
  • 00:05:47
    tá acontecendo com a landscape é outra
  • 00:05:49
    parada tá mas é é uma é um sistema bem
  • 00:05:51
    parecido Tá mas não vai desaparecer
  • 00:05:54
    nunca mesmo tem muita coisa com esse
  • 00:05:55
    tamanho aqui Aí teria que colocar um
  • 00:05:57
    tamanho menor Vou colocar aqui
  • 00:06:01
    como bom eu vou tirar esse daqui só pra
  • 00:06:03
    gente ver deixa eu só salvar o número
  • 00:06:06
    que tava antes deixa eu copiar para Tex
  • 00:06:11
    como sal e vou deletar tá beleza agora
  • 00:06:14
    coisas de 1000 não somem é daí fica
  • 00:06:18
    muito perto ainda mas você pegou a
  • 00:06:20
    lógica né quando você quer que algo
  • 00:06:22
    muito grande nunca suma você coloca aqui
  • 00:06:26
    a distância de zero a partir daquele
  • 00:06:28
    tamanho e você vai ter sempre visível
  • 00:06:31
    muito doido Claro aí tem uma série de
  • 00:06:33
    problemas né quando por exemplo Esses
  • 00:06:35
    prédios são grandões Ah pô tô chegando
  • 00:06:38
    na cidade aqui ué mas tá sumindo tudo tá
  • 00:06:41
    que que é isso que coisa bugada aí é que
  • 00:06:44
    você tem que selecionar um por um e
  • 00:06:46
    dizer que não pode né Ficar visível como
  • 00:06:49
    não pode deixar de ficar visível como eu
  • 00:06:50
    mostrei então se tiver outra parte lá
  • 00:06:52
    com cidade também os prédios as ruas
  • 00:06:55
    você tem que configurar também outros
  • 00:06:57
    modelos específicos para quando Tá longe
  • 00:07:00
    que daí é a técnica do lod então a
  • 00:07:03
    otimização é uma série de coisas juntas
  • 00:07:06
    né então para quando tiver em certa
  • 00:07:08
    distância você vai trocar textura você
  • 00:07:09
    vai trocar Qual que é o modelo que vai
  • 00:07:11
    aparecer Então vai aparecer um modelo
  • 00:07:13
    muito mais muito mais simples de de ser
  • 00:07:15
    renderizado ou as coisas pequenas também
  • 00:07:17
    que você vai tirar todas as coisas
  • 00:07:19
    pequenas vai tirar por exemplo daqui não
  • 00:07:21
    dá para ver nenhum banco da cidade não
  • 00:07:22
    dá para ver nenhum ponto de ônibus dá
  • 00:07:24
    para ver nem uma caneta tá entendendo
  • 00:07:26
    que daí realmente não faz sentido daí
  • 00:07:28
    quando você tiver voando aqui ó aí vai
  • 00:07:32
    est só visível realmente o que importa
  • 00:07:34
    você pode também criar uma condição Ah
  • 00:07:36
    tá voando se tiver voando diminui o c só
  • 00:07:38
    que daí você né fica aquela coisa você
  • 00:07:41
    começa a criar situações em que beleza
  • 00:07:44
    quando tá voando roda 30 o jogo quando
  • 00:07:46
    tá no chão roda 60 que parada é essa mas
  • 00:07:50
    queria trazer para vocês aí essa
  • 00:07:51
    curiosidade como os jogos são criados se
  • 00:07:54
    você gostou desse vídeo não vou nem
  • 00:07:56
    pedir para você deixar like eu vou pedir
  • 00:07:57
    para você assistir um outro vídeo
  • 00:07:59
    falando sobre
  • 00:08:00
    otimização que eu vou deixar aqui no
  • 00:08:02
    final para você assistir e vou deixar
  • 00:08:04
    mais um que eu vou escolher depois
  • 00:08:06
    quando eu tiver subindo esse vídeo pro
  • 00:08:08
    YouTube Tá bom seja bem-vindo ao ner se
  • 00:08:10
    inscreve no canal se não me conhecia e a
  • 00:08:12
    gente se vê muito em breve grande abraço
  • 00:08:13
    tchau tchau
  • 00:08:15
    [Música]
  • 00:08:28
    fui
  • 00:08:30
    [Música]
  • 00:08:34
    n
Etiquetas
  • otimização
  • jogos
  • culling
  • frustum culling
  • desempenho
  • renderização
  • mundo aberto
  • Level of Detail
  • programação
  • desenvolvimento de jogos