Movimento de plataforma na Unity3D
No desenvolvimento de jogos é comum usarmos plataformas (lembre dos grandes games do passado).
Usando a engine Unity 3D você pode chegar a alguns resultados estranhos caso opte por um dentre dois paradigmas de programação. Procurarei explicar aqui como evitar o efeito que vários iniciantes assistem em seus projetos: suas plataformas parecem não fazer parte do mundo e são “ignoradas” pelos outros objetos que são calculados pela física da engine. Os outros objetos ficam deslizando sobre suas plataformas ou, ainda pior, as atravessam como se as mesmas não existissem.
Falando especificamente da Unity, existem duas situações principais que podem originar esse problema:
1) Um objeto com componentes “collider” e “rigidbody” está sobre um objeto com pelo menos um componente “collider” que se move através de incrementos em sua posição.
2) Um personagem usando o componente “Character Controller” está sobre um objeto com pelo menos um componente “collider” que se move tanto através de incrementos em sua posição quanto através de alterações na velocidade do componente “rigidbody” do mesmo.
O exemplo a seguir demonstra como solucionar o problema (1). O segundo problema será solucionado em um post futuro, quando eu falarei do desenvolvimento de um demo com um personagem.
[Unity3D] Movimentando Plataformas
Notem que adicionei um componente “ConfigurableJoint” pois gostaria que a plataforma se movesse apenas no eixo X (marquei as opções “lock” nas propriedades YMotion e ZMotion para obter esse resultado). Percebam, ainda, que marquei a opção Freeze Rotation do componente rigidbody, pois gostaria que a plataforma não girasse livremente.
Você pode testar o projeto e observar o resultado baixando o arquivo Unity3D – Movimento de Plataforma.
Grande abraço!

Parabéns Raphael, por sua iniciativa de ajudar disponibilizando materias para Unity 3D. É difissilimo encontrar material em português para essa engine, até nisso nós brasileiros somos discriminados. Enfim, excelente seus materiais. Valeu pela força!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Obrigado por acompanhar o blog. Aguarde que vem mais por aí!