Tutoriais - 3ds max avançado

Path Constraint

Neste tutorial vamos estudar o Path Constraint, ele é um controlador de animação que move o objeto por um caminho desenhado com Line. É a forma mais simples e fácil de animar, mas é muito limitado, deve ser usado apenas nas situações que é indicado, como um avião voando por exemplo. A melhor forma de animar no 3ds max é com Key Frames e edição de curvas, como mostro no tutorial Curve Editor e Out Of Ranges, aqui na seção Tutoriais do site www.tresd1.com.br. Não use o Path Constraint para animar a câmera, é trabalhoso para editar e fica difícil de trabalhar com curvas de aceleração, mesmo se usar um Dummy no Path e lincar a câmera nele, á melhor trabalhar com Key Frames e usar o Trajectories para ajustar o caminho, como mostro no artigo Lentes, Camera, Ação, na seção Artigos do site www.tresd1.com.br.

Precisamos de um objeto que seja possível reconhecer a parte da frente e a de trás, pode ser um Teapot. Desenho um caminho com uma Line, pode ser fechado, igual mostra a imagem ao lado, ou pode ser aberto, o importante é ajustar os vértices para o caminho ficar suave, assim, não acontece movimentos bruscos, você pode ler sobre edição de linhas no tutorial Edit Spline, aqui no site www.tresd1.com.br.
No 3ds max 5 houve uma grande mudança no sistema de animação, entre elas, os Controllers passaram a ser listados no menu Animation Constraint fazendo um grande atalho para a aplicação nos objetos, pois antes era necessário vários procedimentos, estes atalhos são criados com Scripts que otimizam o processo, mas é muito importante saber como fazer \"na mão\", para poder desfazer se quiser e resolver problemas que aparecem. Usando esse atalho, basta selecionar o avião, clicar no menu Animation>Constraints> Path Constraint, como mostra a imagem ao lado, e clicar no caminho desenhado com a Line. Assim o controlador é aplicado, só precisa configurar os seus parâmetros.
Em vez de usar o atalho, faça diferente, selecione o avião e entre no painel Motion, como mostra a primeira imagem ao lado. Abra o menu Assign Controller e veja o quadro, ele mostra os três transformadores listados e o nome do controlador aplicado na frente. O Position se refere a animação de posição, ele está com o controlador Position XYZ aplicado, este controlador divide a posição em coordenadas ZYX e trata cada uma como curva Bezier, se abrir a hierarquia clicando no sinal de (+), aparece as três coordenadas e o controlador Bezier aplicado em cada uma. O Rotation está com o Controlador Euler XYZ, que faz a mesma coisa do anterior, mas é usado em rotação, o Scale está com o Bezier Scale, que não divide as três coordenadas. Queremos controlar a posição por um caminho, portanto, selecione o item Position, vamos trocar o controlador dele, clique no botão Assign Controller, assinalado em vermelho na imagem ao lado.
Aparece a janela do Assign Controller exibindo todos os controladores disponíveis para este item, selecione o Path Constraint, como mostra a primeira imagem ao lado, e clique em OK. Assim, o painel Motion muda para receber os parâmetros do Path Constraint. No menu Path Parameters você encontra o botão Add Path, clique nele e selecione o caminho na Viewport, o nome da Line aparece no quadro abaixo, como mostra a segunda imagem ao lado. Você pode deletar o caminho no botão Delete Path. Você também pode adicionar mais de um caminho e fazer a transição entre eles, como vou mostrar mais abaixo.

Usando o atalho do menu Animation> Constraints, você viria justamente para este ponto, pois assim que você seleciona o caminho na Viewport, abre o menu Motion com o menu Path Parameters, já com o caminho adicionado.

Até o Max 3 o menu era um pouco diferente, o botão Add Path se chamava Pick Path, como como mostra a última imagem ao lado.

Assim que o caminho é selecionado, o avião pula para o ponto inicial da linha, normalmente o vértice que iniciou a sua criação. Você pode modificar a posição do vértice número 1 da linha no Editable Spline, se não conhece este recurso, leia o tutorial Edit Spline, aqui no site www.tresd1.com.br.
O aviãozinho fica fixo na linha mas não está posicionado corretamente, você pode ajustá-lo como desejar com o Rotate, rotacionando o avião na linha para colocar na posição correta, mas não é a melhor opção. Na parte inferior do menu Path Parameters tem o grupo Axis, nele você pode ajustar a posição perfeitamente, troque de eixo até ficar na posição correta, será um dos três, ou X, ou Y, ou Z. Se ficar virado para o lado oposto, habilite a opção Flip para corrigir. Você pode ajustar a posição do avião no caminho usando o parâmetro % Along Path, logo no início do grupo Path Options, como mostra a imagem ao lado.
Clique no Play e veja a animação, o avião percorre o caminho completo até o último Frame, mas ele não está alinhado com o caminho, fica fixo e não vira nas curvas, como mostra a primeira imagem ao lado. Habilite a opção Folow e clique no Play novamente, essa opção faz o avião ficar sempre alinhado com o caminho, como mostra a segunda imagem ao lado.

A opção Allow Upside Down serve para você inverter o eixo que o avião foi anexado. As vezes não conseguirá alinhar o avião corretamente, pois mesmo trocando de eixos no grupo Axis, o avião fica de cabeça para baixo. Nestes casos, a opção Allow Upside Down colocará o avião na posição correta para depois escolher o melhor eixo de alinhamento. Mesmo com o avião posicionado corretamente, habilite esta opção para você ver, o avião ficará perpendicular a linha em vez de ficar paralelo a ela. Isso depende da posição do ponto Pivot, este deve estar sempre alinhado no centro do objeto. Se não conhece estes recursos básicos, leia os tutoriais sobre Interface, aqui no site www.tresd1.com.br.

A opção Constant Velocity é muito importante, ela normaliza a velocidade do objeto por todo o trajeto. Quando essa opção está desligada, o Path Constraint vai levar em consideração a distância entre os vértices para definir a velocidade, ou seja, ele vai variar a velocidade de acordo com o tamanho do segmento de linha que o objeto estiver percorrendo. Se a distância entre dois vértices do segmento for menor, o avião se moverá mais lentamente neste trecho, se a distância entre os vértices for maior no próximo segmento, a velocidade do avião será maior neste trecho. Normalmente as curvas tem mais vértices e as retas tem menos vertíces, fazendo o objeto se mover mais lentamente nas curvas e mais rapidamente nas retas. Clique em Play e veja a animação com essa opção habilitada, depois, desligue essa opção e clique em Play novamente, para ver a animação sem essa opção habilitada.
O avião se move alinhado com o caminho, mas ele não se inclina nas curvas como seria o normal. Você até pode animar isso manualmente com Key Frames, porque a rotação não está travada, mas o Path Constraint oferece um recurso próprio para isso. Habilite a opção Bank na frente do Follow e clique em Play, agora o avião se inclina nas curvas. Logo abaixo ficam disponíveis os parâmetros Bank Amount e Smoothness. O Bank Amount define o quanto o avião se inclina nas curvas, quanto maior este valor, mair o avião se inclina, com zero o avião não se inclina mais, e com valores negativos ele se inclina para o lado oposto. Quando você tem várias curvas no caminho, o avião pode sair meio descontrolado de uma curva para outra, se inclinando muito bruscamente de um lado para o outro, a opção Smoothness ameniza isso, quanto maior o valor de Smoothness, mais suave será a transição das inclinações, mas isso diminui o ângulo de inclinação proporcionado pelo Bank Amount. O ideal é ajustar o Bank Amount com cuidado e usar valores baixos no Smoothness. Quando usar valores maiores que 1 no Bank Amount, o avião de inclina demais e pode ficar de cabeça para baixo, dependendo do valor do Smoothness.
A opção Loop também é muito importante, ela permite que o objeto volte no inicio do caminho quando ele chegar no final. Por exemplo, se tem uma linha reta aberta, em vez de um caminho fechado, fica fácil de perceber. Faça uma linha reta rapidamente e anexe o avião nela, você pode deletar o Path anterior e adicionar o linha reta no quadro no início do menu Path Parameters, como expliquei no início deste tutorial. Coloque 10 no campo % Along Path e clique em Play para ver a animação. Como o avião começa com 10% do caminho percorrido, ele chegará no final antes de terminar o tempo da animação, neste ponto ele voltará para o início do caminho e percorrerá mais 10% até completar o caminho e o tempo de animação. Com a opção Loop desligada, o avião para no final do caminho e não volta para o início.

A opção Relative não alinha o avião com o caminho, ele fará o mesmo trajeto descrito pelo caminho, mas a partir da sua posição original, sem ser anexado a ele.

Quando você aplica o Path Constraint, ele cria dois Key Frames, um no início e outro no final da animação, indicando o tempo que o avião terá para percorrer o caminho. Se você tem 100 quadros na animação, o avião terá 100 quadros para percorrer o caminho. Mas você pode modificar a posição dos Key Frames normalmente como faria com qualquer animação. Pode diminuir ou aumentar o tempo do trajeto configurando a quantidade de quadros na animação e a posição dos keys, você pode ler sobre isso nos tutoriais sobre Interface e no tutorial Curve Editor e Out Of Ranges, aqui no site www.tresd1.com.br.
Você também pode colocar mais de um caminho para o avião percorrer e pode animar a transição de um caminho para o outro, mas a duração de ambos será a mesm, pois é o mesmo Path Constraint que controla os dois. Vamos fazer um teste, você já criou uma linha reta junto com o primeiro caminho para testar a opção Loop, então, volte no menu Path Parameters e delete este caminho, clique em Add Path e selecione o primeiro caminho, o que faz uma curva fechada, depois, clique novamente no Add Path e selecione o segundo caminho, o que faz uma linha reta. No quadro do Path Constraint aparecem os nomes das duas linhas, como mostra a primeira imagem ao lado. Abaixo do quadro tem a opção Weight, ela define a força de cada caminho. Se tiver 100 no primeiro e 100 no segundo, o Path Constraint tentará fazer uma interpolação entre os dois caminhos, clique em Play e veja a animação. Com zero nos dois, o objeto não se move e nem fica anexado ao caminho, porque nenhum dos dois está atuando sobre o objeto. Se deixar com zero no primeiro e 100 no segundo, o avião se moverá apenas pela linha reta, se fizer o inverso, o avião se moverá apenas pela linha curva. Então, você pode animar o Weight para fazer o avião passar de um caminho para o outro suavemente. Deixe com 100 na primeira linha e 0 na segunda, coloque no Frame 50 e veja, o avião está no meio do caminho da linha curva, agora, troque o Weight da primeira linha para zero e coloque 100 na segunda. O avião pula para o meio da linha reta, pois o tempo que terá para percorrer cada caminho é o mesmo. Alinhe mais ou menos o ponto médio da linha reta com o meio do caminho da linha curva, assim, o avião estará próximo das posições nos dois caminhos no Frame 50, evitando um movimento brusco. Agora, se animar o Weight da primeira curva para começar a diminuir no Frame 40 e zerar no Frame 50, ao mesmo tempo que animar o Weight da segunda curva para começar a subir no Frame 40 e chegar a 100 no Frame 50, o avião vai passar da primeira linha para a segunda suavemente entre os Frames 40 e 50.
Abaixo eu deixo o vídeo de exemplo com a animação explicada neste tutorial. Lembre-se que não deve usar Path Constraint para animar tudo no 3ds max, em programas mais simples, este é um dos recursos mais avançados de animação, mas no 3ds max é o mais simples e limitado, só deve ser usado em casos que se faz necessário, como um avião, por exemplo. No 3ds max anima-se criando Key Frames e editando curvas de animação, como mostro no tutorial Curve Editor e Out Of Ranges, aqui no site www.tresd1.com.br.

Andre Luiz Buttignoli Vieira

Faça o login para poder comentar

ScreamingFox Comentou em 23/04/2014 23:29 Ver comentário
kauanyduarte Comentou em 23/04/2014 21:43 Ver comentário
Andre Vieira Comentou em 05/11/2011 22:03 Ver comentário
GaberLima Comentou em 20/09/2011 10:12 Ver comentário
Adminin Comentou em 22/06/2011 20:09 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 667324.

Total de membros registrados: 106648

Últimos membros registrados: Danilo, Nivia, ceruttipereira, Iramildo, Camila, Samcas1892, LuhS2, maiaracremer.

Usuário(s) on-line no momento: 506, sendo 12 membro(s) e 494 visitante(s).

Membro(s) on-line no momento: ValdemarEuclides, Glauco, Guilherme, andreceiro, Edmauro, RafaelAug, Victor L. Santos, Danilo, CassiusfxArtes, otto3d, brunotorres, Designer RS.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2018. Todos direitos reservados.