Nesta palestra, examinaremos o afluxo.
O floculação tem que ser uma das minhas técnicas favoritas.
Envolve regras simples que geram comportamentos complexos que são hipnotizantes.
O floculação pode ser utilizado para gerar, de forma processual, o movimento de grupos de indivíduos que gostam de permanecer
juntos enquanto se movem em direção a um objetivo comum.
O vôo das aves vem à mente, mas esta técnica pode ser usada em praticamente qualquer lugar.
Você tem um grupo que precisa de comportamentos complexos e móveis que você não quer programar à mão.
Nesta oficina, estaremos criando peixes em flocos ou cardumes.
Portanto, em unidade, vamos criar um cardume de peixes em flocos.
Agora, o que você precisará para isto é trazer o pacote de unidade de peixes que está anexado a esta palestra.
E o que você vai ter é este peixe maravilhoso que eu fiz.
Agora, eu não sou o melhor animador ou modelo ou no mundo.
Se você tiver um peixe melhor do que este, sinta-se à vontade para usá-lo.
Se você pressionar o play no momento depois de abrir a cena da natação, você vai pegar meu peixe
verde aqui, que está movendo sua cauda e tentando nadar.
É claro que ele não está indo a lugar algum no momento, então vamos usá-lo como um agente ou um bot ou o que quer
que você goste de lhe chamar.
Dentro de nosso sistema de rebanho, a primeira coisa que vamos precisar na hierarquia é um objeto vazio
chamado gerente de rebanho.
Assim, isso vai manter o controle de todos os peixes.
Muito bem.
Assim, uma vez que você tenha feito isso, vamos agora criar um novo roteiro.
Portanto, em seu patrimônio, crie um roteiro afiado em C, e chamaremos esse gerente de rebanho também.
Você quer anexar isso ao objeto do gerente de seu rebanho que está na hierarquia.
Ok, então vamos começar a editar isso.
Vamos abri-la.
Certo.
Portanto, o que precisamos no topo são algumas coisas para manter o controle de tudo.
Antes de tudo, precisamos de um objeto de jogo público para nosso pré-fabricado de peixe para que possamos criar peixe espontaneamente, basicamente,
dado o número de peixes que nós o preparamos para ser tão público em número de peixes, vamos definir isso como padrão para
20, o que é um número bastante bom para começar.
Conjunto de objetos de jogo públicos de todos os peixes.
Assim, uma vez instanciados, vamos colocá-los em uma matriz para que possamos acompanhá-los
e controlá-los.
E então precisamos de um vetor público três para nossos limites de natação, e este será o espaço dentro do qual os peixes poderão
realmente nadar.
Então pense nisso como um tanque de peixes, por exemplo, e o tamanho desse tanque de peixes.
Portanto, faremos dele um novo vetor três e eu vou fazer cinco a cinco por cinco.
Mais uma vez, isso é algo que você pode atualizar se quiser fazer um maior ou menor, certo?
Portanto, no início, precisamos instanciar todos os nossos peixes.
Portanto, todos os peixes são iguais a novos objetos de jogo.
Agora eu sou peixe.
E então quatro int i igual a zero I é menos que entorpecido.
Olho de peixe plus plus.
E então dentro daqui criaremos uma posição para iniciar nossos peixes.
Portanto, a pausa vetorial três é igual a esta posição de transformação de pontos.
Agora isto significa que a posição do peixe é relativa ao local onde se encontra o chefe do rebanho.
Portanto, o chefe do bando será basicamente a origem de seu tanque de peixes, que será cinco
a cinco por cinco.
Portanto, tenha isso em mente.
Agora, a partir daquele aquário de peixes, nós vamos então mais um novo vetor três e vamos fazer faixas aleatórias ao redor de nossos limites de natação
de onde vamos posicionar nossos peixes quando os criarmos pela primeira vez.
Portanto, este será o intervalo de pontos aleatórios, menos os limites de natação, ponto x e depois queremos limites de natação
positivos, ponto x suporte, e queremos fazer isso mais três ou duas vezes.
Quer dizer, vamos copiar isso e colocá-lo aqui e aqui.
E estas serão as posições Y e Z para seus peixes.
Portanto, alinhem-se.
Portanto, faça disto um valor em Y.
Então faça disso o valor Z.
E acabe com o nosso.
Linha de código com ponto-e-vírgula.
E então, uma vez que tivermos isso, toda a posição de peixe que eu tenho em nossa matriz será igualada a um instanciado
pré-fabricado de peixe na posição que acabamos de calcular e lhe daremos uma identidade catalã.
Portanto, apenas uma rotação zero para aquele peixe em particular que é criado.
Ok, então economize isso.
Voltaremos à unidade e testaremos a criação destes peixes.
Assim, os pré-fabricados para o peixe que você vai encontrar, você tem um peixe verde aqui embaixo e um peixe rosa.
Portanto, estamos apenas trabalhando com o peixe verde no momento.
Na verdade, ambos são exatamente o mesmo.
São cores simplesmente diferentes.
E se você quiser criar peixes de cores diferentes do verde e do rosa, vá em frente e faça materiais
de cores diferentes e coloque-os nesses modelos.
Muito bem, então temos aqui nosso chefe de rebanho, este peixe verde, você pode na verdade simplesmente apagá-lo.
Não precisamos disso lá dentro porque o chefe do rebanho vai criá-los.
Agora meu chefe de rebanho está em alguma posição estranha em que foi colocado, então talvez
queiramos simplesmente zerá-lo no mundo, 000 eu vou clicar duas vezes sobre ele para que minha cena esteja focada nele.
Você também pode querer ir para sua câmera principal e ir para o objeto de jogo, alinhado com a vista.
Portanto, também está olhando para essa posição 000.
Depois vamos pegar nosso peixe verde e colocá-lo em nosso chefe de rebanho no inspetor, e então podemos
pressionar o jogo e ver o que conseguimos.
Então há nossos 20 peixes.
Se voltarmos à nossa cena, poderemos ir um pouco mais longe.
Todos eles estão dentro dos limites da natação e não vão a lugar algum porque não programamos
a mudança, mas são animados.
Então, isso é um começo.
Certo.
Bem, coloque o gerente por um momento.
Voltaremos ao projeto e vamos criar outro roteiro que colocaremos em nossos peixes pré-fabricados.
Por isso, vamos chamá-lo de rebanho.
Portanto, você quer deixar cair o roteiro do Flock sobre seus peixes verdes e cor-de-rosa.
Então, arraste e solte isso para aquele pré-fabricado e arraste e solte isso para aquele pré-fabricado e quaisquer outros que você possa
ter criado em cores diferentes.
Portanto, vamos abrir nosso roteiro do rebanho e aqui vamos subir até o topo.
Vamos definir um carro alegórico para a velocidade.
Agora queremos definir esta velocidade a partir de nosso roteiro de Gerente de Rebanho.
Por isso, vou criar ali um singleton ou um ponteiro estático para que possamos usar isso para cada
um de nossos peixes.
Por isso, de volta ao Gerente de Rebanho no topo, vamos criar um gerente de rebanho estático público chamado de gerente de rebanho se eu estiver no capital.
Então, gerente de rebanho E então, no início, vamos gerente de rebanho igual a isto para montá-la.
Então criaremos mais alguns valores que podemos definir através do inspetor, que será nossa velocidade de alimentação
mínima e máxima para nossos peixes.
Por isso, no topo, vamos colocar aqui os ajustes de cabeçalho e de peixe.
E então, dentro daqui, queremos uma gama.
Portanto, é assim que você pode programar em diferentes tipos de elementos de IU para seu inspetor, caso não o tenha feito
antes.
Portanto, vamos criar um cabeçalho que é um título.
Queremos então um alcance, que será um deslizador entre zero e 5. 0 F e depois queremos também uma velocidade mínima de flutuação pública,
que será o valor para esta faixa em particular.
E então queremos isto novamente e teremos uma velocidade máxima aqui em baixo.
Certo.
Portanto, agora se salvarmos isto e voltarmos rapidamente à unidade, você encontrará em seu chefe de rebanho aqui que agora você tem estas
velocidades mínimas e máximas que você pode definir para seus peixes.
Por isso, enquanto você estiver aqui, talvez queira dar-lhes um pouco de valor para começar, porque vamos
apenas testar isso.
Assim, no roteiro do Flock, podemos realmente usar esses valores para definir nossa velocidade.
Portanto, vamos neste caso, essa velocidade vai igualar o ponto do gerente do rebanho.
F m ponto velocidade mín. e ponto fm ponto velocidade máxima.
E na verdade usaremos esses valores dentro de um intervalo de pontos aleatórios como esse.
Portanto, vai definir a velocidade para o peixe aleatoriamente a partir de nosso ponto estático que está de volta ao nosso gerente de rebanho para
aqueles dois valores que foram definidos.
Certo.
Por isso, ele realmente vê esta velocidade em ação.
Vamos apenas entrar em nossa atualização para nosso rebanho e vamos transformar este ponto, traduzir ponto e traduzir
capital.
E vamos avançar ao longo do eixo Z zero zero e será a velocidade multiplicada pelo tempo, ponto delta, tempo
para suavizar o movimento.
Ok, então isso vai movê-lo.
Coloquemos a tradução não se transforme ali dentro.
Portanto, vamos salvá-lo e agora vamos experimentar isto.
Portanto, devemos ter peixes avançando em velocidades diferentes.
Vamos brincar com a imprensa e dar uma olhada.
E.
Sim.
Mergulhar.
Lá vão eles.
Assim, alguns peixes são mais rápidos do que outros peixes.
Ok, então essa é a configuração básica para todo o nosso código no que diz respeito à ligação e criação de peixes e tudo isso.
Quando voltarmos no próximo vídeo, começaremos a trabalhar com o algoritmo de agrupamento.