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