Para podermos concentrar-nos no trabalho com as novas funcionalidades, preparei um ficheiro de projeto no pacote de materiais complementares: PSD_R21_VektorVolumen_start.c4d. Ele contém um objeto paramétrico de esfera- e dois emissores de partículas, um dirigido para cima e outro para baixo em direção à esfera. O objetivo deste tutorial é fazer com que as partículas emitidas atinjam a esfera e se distribuam em todas as direções lá.
Vamos analisar rapidamente os componentes da cena. Ambos os emissores de partículas têm as mesmas configurações: eles emitem 500 partículas até o quadro 300, com uma duração de vida das partículas de 1000 frames, o que é suficiente para cobrir o comprimento da animação.
Clicar no botão de reprodução mostra que as partículas de ambos os emissores ainda estão a passar pela esfera sem serem afetadas. Vamos mudar isso agora.
Construção do primeiro campo de vetores
Começamos gerando um primeiro campo de vetores da geometria fornecida pela esfera. Este campo irá direcionar as partículas que atingirem a esfera de acordo com um padrão aleatório.
Para isso, primeiro adicionamos um Gerador de Volume no menu Volume.
Em seguida, arrastamos o objeto esfera- sobre o Gerenciador de Objetos como um subobjeto dentro do Gerador de Volume. Atualmente, o tipo de volume lá é definido como campo de distância, por isso o gerador de volume está atualmente a criar a nossa esfera com base em voxels.
Para transformar a esfera num campo de vetores, mudamos simplesmente o tipo de volume para Vetor no menu correspondente.
A subdivisão ainda um pouco grosseira do campo de vetores é ajustada através do tamanho de voxel. Um valor de 5 cm é mais do que suficiente para os nossos propósitos.
O nosso objeto anterior de esfera- agora tornou-se num campo radial de inúmeros vetores graças ao volume mesher.
Ao aproximarmo-nos do campo de vetores, vemos os vetores individuais que estão todos perpendiculares à posição da superfície da esfera. Portanto, as forças resultantes apontam todas para longe da nossa esfera. Não é exatamente o que precisamos para desviar as partículas em torno da esfera em direções diversas.
Então, precisamos resolver duas questões: os vetores precisam estar paralelos à superfície da esfera e também apresentar um padrão aleatório para desviar as partículas de forma variada na superfície.
Um Campo de Aleatório é responsável pelo padrão aleatório, que é adicionado à cena através do menu Gerar > Campo.
Colocamos o Campo de Aleatório arrastando-o sobre o Gerenciador de Objetos como um subobjeto dentro do Gerador de Volume. No diálogo de configuração do gerador de volume, o Campo de Aleatório é listado como uma camada acima da nossa esfera.
Uma olhada na visualização 3D mostra que os dois campos de vetor ainda não estão a funcionar como precisamos. O Campo de Aleatório deve afetar os vetores da esfera listados abaixo dele na lista.
Para conseguir isso, selecionamos a entrada do Campo de Aleatório na lista de objeto dentro do Gerador de Volume e definimos nas configurações abaixo para o espaço de geração como Objetos próximos.
Agora o Campo de Aleatório está a afetar os vetores fornecidos pela esfera conforme necessário. Agora só precisamos garantir que os vetores caoticamente girados apontem ao longo da superfície da esfera.
O modo de combinação do Campo de Aleatório e a esfera parece ainda não estar totalmente coordenado. No menu de modo na lista de objetos, selecionamos o método de combinação Cruz para o Campo de Aleatório. Esse modo é projetado especificamente para calcular a perpendicular entre dois vetores combinados através do produto cruzado.
Como mostra uma olhada em nossa visualização 3D, os vetores neste passo correm tangencialmente ao redor de nossa esfera conforme desejado.
Uso do Campo de Força
Agora preparamos o primeiro campo de vetores para o trajeto das partículas ao redor da esfera, mas até agora as partículas ainda não notaram nossos vetores.
Para que os vetores de nosso campo criado por nós mesmos possam funcionar como forças, precisamos de um objeto de campo de força chamado. Podemos encontrá-lo no menu Simular>Forças.
Para que o nosso Vetor de Volume funcione como um campo de força, abrimos o diálogo de configurações do campo de força e arrastamos o gerador de volume para o campo de objeto no gerenciador de objetos por meio de arrastar e soltar. Ao soltar, um pequeno menu de seleção perguntará se o gerador de volume deve ser tratado como um objeto de ponto ou volumétrico. Naturalmente, escolhemos a opção objeto volumétrico.
Agora o vetor de volume definido pelo gerador de volume deve estar listado como uma entrada nos campos de força. Podemos ver que o campo de força também trabalha com camadas e modos de cálculo, indicando as novas possibilidades surgidas com o objeto de campo de força.
Ao iniciar a animação com o botão de reprodução, podemos ver que as partículas são agora influenciadas por nosso campo de vetores.
Ainda não obtivemos o resultado desejado. Atualmente, no objeto de campo de força, a opção tipo de velocidade para adicionar velocidade está ativa, o que significa que as partículas são simplesmente desviadas com um pouco mais de impulso. No entanto, queremos que as partículas mudem sua direção de acordo com os vetores, o que podemos selecionar no menu tipo de velocidade.
Após esta alteração, a animação já parece melhor. Muitas partículas já estão encontrando seu caminho ao longo da superfície da esfera, mas algumas estão sendo desviadas para longe da esfera. Também fica evidente que essas partículas desviadas estão se movendo em trajetórias muito estranhas.
Podemos corrigir facilmente isso, selecionando o gerador de volume no diálogo de configurações do objeto de campo de força e alterando o modo de amostragem de próximo para linear na página de camadas. Com isso, não será simplesmente arredondado para o próximo voxel, mas será utilizado um valor médio linear.
Após essa alteração, as partículas desviadas da esfera já estão se movendo de forma muito mais livre. Em seguida, garantimos que essas partículas também permaneçam na superfície da esfera.
Para evitar que os traços das partículas que percorrem a superfície da esfera sejam muito delicados, podemos aumentar o tamanho do ruído subjacente no diálogo de configurações do objeto de campo aleatório. Naturalmente, cada um pode experimentar um pouco mais com as configurações do campo aleatório.
Quando o objeto de campo aleatório está selecionado, podemos alterar o parâmetro de tamanho interativamente na visualização 3D. Eu optei por um tamanho de 300%, para que o ruído seja claramente visível nos vetores.
Construção do segundo campo de vetores
Como o nome de nosso objeto de esfera "Esfera interna" já sugere desde o início, além do campo de vetores recém-criado para a esfera interna, também haverá um segundo campo de vetores para uma esfera externa. Esta segunda esfera, um pouco maior, garantirá que as partículas refletidas eventualmente sejam redirecionadas de volta para a superfície da esfera interna.
Para isso, duplicamos o objeto de esfera arrastando com a tecla Ctrl pressionada no gerenciador de objetos, mantendo-o como subobjeto do gerador de volume e o nomeamos como "externa" para diferenciar as duas esferas. Além disso, damos a esta esfera externa um raio 2 cm maior para permitir espaço para as partículas.
O gerador de volume gerou imediatamente o campo de vetores correspondente a partir da segunda esfera externa e adicionou-o aos objetos existentes.
Na lista de objetos no diálogo de configurações do gerador de volume, a esfera externa está agora no topo e será processada por último. Mas queremos que a esfera externa seja inicialmente penetrada pelas partículas e que as partículas não escapem posteriormente.
Vamos então organizar um pouco a lista de objetos. Primeiro, movemos a "esfera externa" para a última posição na ordem. Como o campo aleatório age sobre a "esfera interna" que fica abaixo, mas deve ser processado logo após a "esfera externa," simplesmente criamos uma pasta para colocar o campo aleatório e a esfera interna. Para isso, clicamos no botão da pasta abaixo da lista de objetos.
Agora movemos o campo aleatório e a esfera interna da lista de objetos do gerador de volume para esta nova pasta por arrastar e soltar.
Como a esfera externa, cujos vetores são perpendiculares à superfície da esfera, age primeiro, as partículas colidem e são completamente refletidas por enquanto. Para inverter o campo de vetores da esfera externa, usamos um filtro de volume, dos quais temos vários disponíveis para trabalhar com vetores. Encontramos o menu filtro de volume abaixo da lista de objetos e escolhemos o filtro Inverter Vetor.
Para garantir que o filtro de volume atue exclusivamente nos vetores da esfera externa, arrastamos e soltamos diretamente acima da "esfera externa."
Agora tudo deve funcionar conforme desejado. Ao clicar no botão de reprodução, verificamos se todos os campos de vetores estão configurados corretamente. As partículas colidem com a esfera e se espalham aleatoriamente pela superfície.
Podemos adicionar mais dinamismo aos fluxos de partículas animando o padrão de ruído do campo aleatório.
Para isso, abrimos o diálogo de configurações do campo aleatório e definimos uma velocidade inicial, no meu exemplo, 50%.
Os fluxos de partículas agora são mais curtos devido ao padrão de ruído animado, se separando em mais pontos.
Convertendo partículas em caminhos de spline
Agora, como partícula, podemos enviar qualquer objeto - de preferência pequeno - em uma viagem pela superfície da esfera. Uma alternativa é rastrear automaticamente o caminho das partículas e convertê-lo em caminhos de spline. Para isso, precisamos do objeto Traçador no menu MoGraph.
Para converter os fluxos de partículas de ambos os emissores em caminhos de spline, arrastamos os dois objetos emissores sobre o gerenciador de objetos para o campo de Conexão do Traçador no diálogo de configurações do objeto Traçador.
Como os emissores eventualmente emitem uma grande quantidade de partículas ao longo do tempo, limitamos o comprimento dos caminhos de spline gerados pelo traçador. No diálogo de configurações do traçador, selecionamos o Limite como o Fim...
... e definimos o comprimento dos caminhos de spline através do parâmetro Quadros. Optei por um comprimento de 100 quadros. Valores mais baixos resultam em caminhos de spline mais curtos.
Após clicar no botão de reprodução, podemos observar os caminhos de spline gerados pelo traçador se movendo animadamente sobre a superfície da esfera.
Para a imagem de abertura deste tutorial, criei um duplicado do objeto esfera e o atribuí com um material vermelho. Exceto pelo objeto Traçador, podemos desativar a visibilidade de todos os outros objetos no gerenciador de objetos.
Para criar objetos tridimensionais a partir dos caminhos de spline gerados pelo objeto Tracer, você pode hierarquizar o objeto Tracer juntamente com um objeto Círculo em um objeto Sweep, por exemplo. No entanto, atente para o número de partículas e suas vidas úteis, pois, caso contrário, o computador pode ficar muito lento...