Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Avs   Rio de janeiro Nova iguaçu - AC
Alexandro   Cascavel - PR
Marcelo Guarrata   Maringá - PR

Portfólios Ver Mais

Neto   Campina Grande - PB
Jonatan   São josé do rio preto, São Paulo - SP
sandrosp5   Brasil - SP

Tutoriais - Animação

Animando engrenagens com o track view

Neste tutorial vou mostrar como usar o comando float expression para animar engrenagens no track view.
Se você já tem duas engrenagens prontas, pule a parte de criação clicando aqui.
Primeiro ative o edged faces na viewport perspective pressionando F4.
Depois crie um cilindro com:
radius=50
height=10
height segs=1
sides=20
E depois converta-o para editable poly clicando com o botão direito nele e escolhendo convert to->convert to editable poly.
Agora vá ao sub object polygon e selecione os polígonos laterais alternadamente, como na figura:
E depois clique com o botão direito em um dos polígonos selecionados e vá no quadradinho ao lado de extrude.Aparecerá uma janela assim:
ponha o valor 12 no campo Extrusion Height e dê ok.


Agora crie um cilindro com os valores de radius e sides com a metade do primeiro, e faça o mesmo, dê um extrude nos seus polígonos.


Agora ajuste a engrenagem menor para que ela esteja \"encaixada\" na maior, gire, mova, e o reultado deve ser semelhante a este:
Após a parte de criação, faremos a animação das duas engrenagens ,animando somente uma.
Abra a janela do track view, em Graph Editors->Track view-Curve Editor, selecione a primeira engrenagem, e em transform clique em rotation, e selecione o gráfico de Z rotation(se as engrenagens foram criadas na vista top).
Agora crie neste gráfico 2 pontos, um na posição 0,0 e o outro na posição 100,360.
Selecione os dois pontos e clique no botão set tangents to linear.Agora o gráfico deve estar assim:
Agora selecione o Z rotation da 2ª engrenagem, no mesmo caminho:Transform-rotation-zrotation.
Vá no menu controller e clique em assign.
E selecione na lista o controlador float expression:
Se a janela do controlador não aparecer, clique com o botão direito no zrotation e em properties.Esta janela deve aparecer:
Há um número na caixa expression.Não apague-o.





No campo create variables, em name, crie uma variável \"rotacao\" que armazenará os dados de rotação da outra engrenagem.





Clique em create.Vai aparecer na lista scalars o nome da variável.Selecione e clique em assign to controller.





Uma janela assim aparecerá.Vá na outra engraenagem e faça o caminho todo:Até o Z rotation e dê ok.
Agora a variável rotacao contém os dados da rotação no eixo Z da outra engrenagem, e nós podemos iniciar a criação do código--como se fosse muito difícil!!!:)
Vamos pensar um pouco:A engrenagem maior tem o dobro do raio da menor.Então ela demorará duas vezes mais para completar uma volta.Ou seja:Quando a rotação da maior for 20 graus, a da menor será 40 graus, e assim por diante.Então nós podemos somar à rotação da engrenagem menor(aquele número que não é pra apagar) o dobro da rotação da engrenagem maior, ou seja:0,501891+rotacao*2.
Clique em evaluate.Você verá que as engrenagens ainda se interpenteram, pois se a engrenagem maior gira pra direita, a menor terá que girar para a esquerda, pois é impulsionada para este lado.Então simplesmente acrescente um menos na frente do 2 e teremos isto:

Se você fez certo, quando você der evaluate, e play, as engrenagens estarão girando sincronizadamente, transmitindo a energia realisticamente de uma para a outra!!!:)

Faça o login para poder comentar

3dfernando Comentou em 07/02/2004 17:52 Ver comentário
HAWF Comentou em 07/02/2004 17:46 Ver comentário
3dfernando Comentou em 07/02/2004 17:32 Ver comentário
Washing Machine Comentou em 06/02/2004 19:10 Ver comentário
JOAO CARLOS Comentou em 06/02/2004 10:09 Ver comentário
3dfernando Comentou em 05/02/2004 12:30 Ver comentário
naravan Comentou em 04/02/2004 16:54 Ver comentário
Leo Comentou em 04/02/2004 03:23 Ver comentário
ALLas Comentou em 04/02/2004 01:08 Ver comentário
PiledotNET Comentou em 03/02/2004 20:48 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 711048.

Total de membros registrados: 138517

Últimos membros registrados: luciano pr, Davis123, diabecode, aldiriank1, nexagenkopen, GoldenRevivePlus, TroviranKapselnPreis, Williamcharses.

Usuário(s) on-line na última hora: 1326, sendo 4 membro(s) e 1322 visitante(s).

Membro(s) on-line na última hora: Vivizulian, Sergio1987, TadeuB79, holtenodro.

Legenda: Administrador, Especial, Moderador, Parceiro .

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