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

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

Ringkasan

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.

Takeaways

  • 🎮 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.

Garis waktu

  • 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.

Peta Pikiran

Video Tanya Jawab

  • 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.

Lihat lebih banyak ringkasan video

Dapatkan akses instan ke ringkasan video YouTube gratis yang didukung oleh AI!
Teks
pt
Gulir Otomatis:
  • 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
Tags
  • otimização
  • jogos
  • culling
  • frustum culling
  • desempenho
  • renderização
  • mundo aberto
  • Level of Detail
  • programação
  • desenvolvimento de jogos