Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Sandro Medeiros   Santa Isabel - SP - AC
An3dre   Araras / SP - SP
Luciano BT   Araras | SP - SP
Tutan   Maringá Pr - PR
Antonio   SÃO PAULO/BRASIL - AC

Portfólios Ver Mais

rondineli   brasília - DF
Oyarzabal   Porto Alegre RS - RS

Velocímetro

Por: Fabio Mensen  

Em: 14/01/2015 15:23

Boa Tarde, estou tentando através do Float Expression criar uma expressão para um velocímetro, ou seja, preciso que o ponteiro do velocímetro rotacione de acordo com a velocidade de giro da roda. Alguém pode me ajudar? Obrigado desde já.
Não sei se ajuda, mas neste post eu descobri uma fórmula correta para a rotação de uma roda sobre o piso usando Wire Parameters (a solução está lá pelo 4o ou 5o post), mas talvez você usando uma fórmula matemática dentro do Wire Parameters, você consiga o resultado desejado.
Oi Rogerio, muito obrigado pela dica....isso ajuda sim a me dar mais opções para solucionar esse problema....eu uso um outro tipo de conceito para girar as rodas de um carro por exemplo respeitando o espaço de deslocamento usando o Float Expression. Não sei se você já viu essa fórmula por ai: (percent*distance*pi)/(pi*radius). O Fato é que o ponteiro precisa girar de acordo com a velocidade (rotação/seg) da roda em tempo real. Segue onde vou aplicar isso. Esse caminhão eu fiz o Rig, ele segue por uma path, a rodas rotacionam, os pneus da frentes giram de acordo com a curva bem como a carreta.
Fábio Mensen,

Você tem algum tutorial bom para essas coisas?
O que exatamente você precisa?
Eu acho q, no caso, seria mais facil pensar algumas coisas da maneira invertida do q vc pensou, apesar de dar um resultado semelhante..

O q ocorre é q a roda é q vai girar de acordo com a velocidade :).. (é o mesmo q vc pensa eu sei, mas a ordem aí dos fatores é um pouco diferente..).. Então, se vc tiver um objeto por exemplo um helper, e usar um atributo natural dele ou por um atributo novo nele, como o fator de uma expressão.. Vc vai poder chamar esse helper de \"motor\", e então, o atributo do \"giro\" desse helper vai definir 3 coisas, a velocidade do movimento, o giro das rodas e o estado do \'velocimetro\'...

Eu acho assim mais facil, apesar de que, é claro, dá pra fazer de várias maneiras diferentes.. Dá até pra fazer um rig pra um velocimetro digital e tal.. etc.. Mas o q vai controlar é a velocidade de fato, e não o giro da roda (assim eu acho um pouco mais facil e organizado, apesar de q teria q aplicar a formula da circunferencia numa hora ou outra, especificando a circunferencia da roda, etc.. mas aí tbm vc pode por um atributo no \"motor\" chamado \"circunferencia\" aí ir testando facil até ver um valor ideal, etc...
A Beleza está entre a Ética e a Razão!..
ScreamingFox, Muito obrigado pela sua sugestão...realmente ela parece ser um caminho melhor para chegar a essa solução....vou testar aqui assim que eu tiver algum resultado eu posto aqui! Muito obrigado pelo seu tempo e sua atenção....sugestão valiosa essa sua!
Abs
Valeu, ressuscitei um aviãozinho q eu tinha feito um rig com script pra dirigir e tal, aí tinha visto o seu tópico e lembrei do rig de mostrador digital q eu tinha feito uma vez e fui tentar fazer de novo e nem lembrava aí voltei pro 2o ano do primario de matemática hehehe..

A roda é meio dificil mesmo de fazer q pra ficar com movimento crivel e facil de animar o rig tem q ser bastante sofisticado mesmo.. Por exemplo determinar de alguma maneira a direção do chão pra roda girar só se tiver no chão, e um delay pra roda girar um pouco depois de ter saido do chão, etc.. É um quebra-cabeça bem interessante de rig fazer rodas boas e tal..
A Beleza está entre a Ética e a Razão!..
Oi Fabio,

Vou colar abaixo a resposta do André.

----------------------

Oi, tudo bem?

A cada 2 * Pi * Radianos a roda dá uma volta completa, lembrando que internamente o 3ds max trabalha em radianos e não em graus. (Você pode converter um no outro com os comandos DegToRad e RadToDeg).
Portanto, sabendo o diâmetro da roda você vai saber a distância percorrida por ela a cada 2 * Pi * Rad.
Velocidade é igual a distância dividida pelo tempo, então, o problema maior é calcular o tempo.
No Expression você pode usar diversas notações do MaxScript, mas sei se poderá calcular o tempo sem criar KeyFrames.

Existe um Script que calcula a velocidade dos objetos animados com KeyFrames na cena, pode ser que o código dele te ajude a reproduzir a função no Expressions ou se não for possível, poderá usar o código para fazer outro Script conforme as suas necessidades.

O link para baixar o Script é esse: http://www.scriptspot.com/3ds-max/scripts/speed-meter

Abração e tudo de bom.

André Vieira

Faça o login para poder comentar

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 710595.

Total de membros registrados: 138062

Últimos membros registrados: wrinkless, waltereastmood, Guerr4h, Fusport , anjosheriberto, REMOVIDR, vagnerthuram02, DianaRCCastro.

Usuário(s) on-line na última hora: 754, sendo 6 membro(s) e 748 visitante(s).

Membro(s) on-line na última hora: Duda, Esdras, claro_lima, waltereastmood, wrinkless, Adam.

Legenda: Administrador, Especial, Moderador, Parceiro .

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