Boa noite!
Talvez pela falta de experiência com a Unity e o C#, esse problema deve ter uma solução simples, mas ainda está fora do meu alcance. Seguinte:
Tenho um Jogador do jogo LUDO e ele tem uma animação em que o jogador Anda/Corre/Pula/Dança. Fiz esse jogador se mover de um ponto a outro com a animação Andar. Esse deslocamento do jogador pode ser feito em 2 direções, chamo elas de frente/trás e direita/esquerda. Estou usando o Vector3.MoveTowards para mover o jogador. Quando ele se move na direção direita/esquerda, o jogador se move junto com a animação, mas quando mudo a direção/ângulo para frente/trás ele se move, mas não tem a animação!
Abaixo segue o método que faz o jogador se mover com animação tbm:
public void andar(float posicaoFinalX, float posicaoFinalY, float posicaoFinalZ, float anguloX, float anguloY, float anguloZ) {
// Seta o parâmetro dos movimentos do jogador. Aqui ele dá um passo
animator.SetFloat(“Movimento”, andando);
// Declara os Ângulos do Jogador
transform.eulerAngles = new Vector3(anguloX, anguloY, anguloZ);
// Posição Final do Jogador
Vector3 posFinal = new Vector3(posicaoFinalX, posicaoFinalY, posicaoFinalZ);
// Movimento da Posição Inicial para a Final do Jogador
transform.position = Vector3.MoveTowards(transform.position, posFinal, velocidadeAndar * Time.deltaTime);
// Congela os Ângulos e as Posições da Física do Jogador
rigidbody.constraints = RigidbodyConstraints.FreezeAll;
print("====== Andando ======= ");
print("transform.position.x = " + transform.position.x);
print("posFinal.x =========== " + posFinal.x);
if(transform.position.x == posFinal.x) {
// O valor do dado deve ser zerado para não interferir nas outras jogadas e para manter o jogador parado
dado = 0;
// Chamada do Método "parar" em que o Jogador fica parado
parar(posFinal.x, posFinal.y, posFinal.z, anguloX, anguloY, anguloZ);
}
}
Quero fazer o jogador se movimentar com a animação (de andar) nas 2 direções, ou seja, quando o jogador andar no sentido da direita/esquerda ele siga nessa direção, e frente/trás também. Não sei se tem como manipular o Vector3.MoveTowards para que ele siga pra frente de acordo com algum ângulo/direção passado. Enfim.
Espero não ter confundido vcs! Obg!