NavMesh não faz animação do jogador
3 participantes
Página 1 de 1
NavMesh não faz animação do jogador
Consegui criar uma IA que faz o personagem se movimentar e seguir o jogador, e ao pressionar "Q" você altera o controle desses personagens, porém, o personagem que a IA controla não faz as animações de andar, como eu consigo resolver isso?
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
manda o script, fica melhor para te ajudar
JulioWinchester- MembroAvançado
- PONTOS : 2094
REPUTAÇÃO : 48
Idade : 20
Áreas de atuação : https://linktr.ee/juliopepe
Respeito as regras :
Re: NavMesh não faz animação do jogador
- Código:
using UnityEngine;
using UnityEngine.AI;
public class ControleIA : MonoBehaviour
{
private NavMeshAgent controleIA;
public float distanciaMinima = 1.5f;
public Transform target;
private void Start()
{
controleIA = GetComponent<NavMeshAgent>();
}
private void Update()
{
Vector3 direcao = (transform.position - target.position).normalized * 1.5f;
if(Vector3.Distance(transform.position, target.position) > distanciaMinima)
{
controleIA.SetDestination(target.position + direcao);
}
}
}
Esse é o script de cima que faz o personagem seguir o jogador
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class TrocaPersonagem : MonoBehaviour
{
public bool jogadorControlando;
private void Start()
{
AlternarPersonagem();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Q))
{
AlternarPersonagem();
}
}
private void AlternarPersonagem()
{
if (jogadorControlando)
{
GetComponent<PlayerController>().enabled = true;
GetComponent<ControleIA>().enabled = false;
GetComponent<NavMeshAgent>().enabled = false;
}
else
{
GetComponent<PlayerController>().enabled = false;
GetComponent<ControleIA>().enabled = true;
GetComponent<NavMeshAgent>().enabled = true;
}
jogadorControlando = !jogadorControlando;
}
}
E esse script que faz a troca de controle dos personagens
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
vc tem que mudar o animator controller pelo script, e esse script n faz isso
JulioWinchester- MembroAvançado
- PONTOS : 2094
REPUTAÇÃO : 48
Idade : 20
Áreas de atuação : https://linktr.ee/juliopepe
Respeito as regras :
Re: NavMesh não faz animação do jogador
Você sabe me dizer como que eu faço isso? To tentando pensar em algo, mas não vem nada na cabeça
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
Ren Allen escreveu:Você sabe me dizer como que eu faço isso? To tentando pensar em algo, mas não vem nada na cabeça
- Código:
private NavMeshAgent controleIA;
public float distanciaMinima = 1.5f;
public Transform target;
public Animator animator; //**
bool estaAndando; //**
private void Start()
{
controleIA = GetComponent<NavMeshAgent>();
}
private void Update()
{
Vector3 direcao = (transform.position - target.position).normalized * 1.5f;
animator.SetBool("esta Andando", estaAndando); //**
if (Vector3.Distance(transform.position, target.position) > distanciaMinima)
{
controleIA.SetDestination(target.position + direcao);
estaAndando = true;//**
}
else
{
estaAndando = false;//**
}
}
cria uma variável booleana lá no animator e deixa ela igual a variável do script, depois é só verificar se está andando ou não.
JulioWinchester- MembroAvançado
- PONTOS : 2094
REPUTAÇÃO : 48
Idade : 20
Áreas de atuação : https://linktr.ee/juliopepe
Respeito as regras :
Re: NavMesh não faz animação do jogador
Cara, tentei fazer como você disse, mas agr a IA fica parada, eu fui no animator e criei a variavel, depois tentei colocar no script e agr ela nem segue o jogadorJulioWinchester escreveu:Ren Allen escreveu:Você sabe me dizer como que eu faço isso? To tentando pensar em algo, mas não vem nada na cabeça
- Código:
private NavMeshAgent controleIA;
public float distanciaMinima = 1.5f;
public Transform target;
public Animator animator; //**
bool estaAndando; //**
private void Start()
{
controleIA = GetComponent<NavMeshAgent>();
}
private void Update()
{
Vector3 direcao = (transform.position - target.position).normalized * 1.5f;
animator.SetBool("esta Andando", estaAndando); //**
if (Vector3.Distance(transform.position, target.position) > distanciaMinima)
{
controleIA.SetDestination(target.position + direcao);
estaAndando = true;//**
}
else
{
estaAndando = false;//**
}
}
cria uma variável booleana lá no animator e deixa ela igual a variável do script, depois é só verificar se está andando ou não.
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
tem que configurar as setinhas do animator para funcionar, vc fez isso? ou ent manda uma print do animator
JulioWinchester- MembroAvançado
- PONTOS : 2094
REPUTAÇÃO : 48
Idade : 20
Áreas de atuação : https://linktr.ee/juliopepe
Respeito as regras :
Re: NavMesh não faz animação do jogador
Cara, tentei fazer como você disse, mas agr a IA fica parada, eu fui no animator e criei a variavel, depois tentei colocar no script e agr ela nem segue o jogadorJulioWinchester escreveu:Ren Allen escreveu:Você sabe me dizer como que eu faço isso? To tentando pensar em algo, mas não vem nada na cabeça
- Código:
private NavMeshAgent controleIA;
public float distanciaMinima = 1.5f;
public Transform target;
public Animator animator; //**
bool estaAndando; //**
private void Start()
{
controleIA = GetComponent<NavMeshAgent>();
}
private void Update()
{
Vector3 direcao = (transform.position - target.position).normalized * 1.5f;
animator.SetBool("esta Andando", estaAndando); //**
if (Vector3.Distance(transform.position, target.position) > distanciaMinima)
{
controleIA.SetDestination(target.position + direcao);
estaAndando = true;//**
}
else
{
estaAndando = false;//**
}
}
cria uma variável booleana lá no animator e deixa ela igual a variável do script, depois é só verificar se está andando ou não.
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
Pior que eu não consigo tirar print, mas como eu faria? teria que criar uma New Bleend Tree?JulioWinchester escreveu:tem que configurar as setinhas do animator para funcionar, vc fez isso? ou ent manda uma print do animator
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
https://prnt.sc/wlgeafRen Allen escreveu:Pior que eu não consigo tirar print, mas como eu faria? teria que criar uma New Bleend Tree?JulioWinchester escreveu:tem que configurar as setinhas do animator para funcionar, vc fez isso? ou ent manda uma print do animator
https://prnt.sc/wlgef0
tenta fazer oq mostra nas prints.
JulioWinchester- MembroAvançado
- PONTOS : 2094
REPUTAÇÃO : 48
Idade : 20
Áreas de atuação : https://linktr.ee/juliopepe
Respeito as regras :
Re: NavMesh não faz animação do jogador
Eu tinha feito isso que esta aparecendo nas prints, não mudou nada, o personagem me segue quando eu tiro as alterações que você fez, porém ele não passa o script, mas quando eu adiciono as alterações, ele não me segueJulioWinchester escreveu:https://prnt.sc/wlgeafRen Allen escreveu:Pior que eu não consigo tirar print, mas como eu faria? teria que criar uma New Bleend Tree?JulioWinchester escreveu:tem que configurar as setinhas do animator para funcionar, vc fez isso? ou ent manda uma print do animator
https://prnt.sc/wlgef0
tenta fazer oq mostra nas prints.
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
Ren Allen escreveu:Eu tinha feito isso que esta aparecendo nas prints, não mudou nada, o personagem me segue quando eu tiro as alterações que você fez, porém ele não passa o sprite, mas quando eu adiciono as alterações, ele não me segueJulioWinchester escreveu:https://prnt.sc/wlgeafRen Allen escreveu:Pior que eu não consigo tirar print, mas como eu faria? teria que criar uma New Bleend Tree?JulioWinchester escreveu:tem que configurar as setinhas do animator para funcionar, vc fez isso? ou ent manda uma print do animator
https://prnt.sc/wlgef0
tenta fazer oq mostra nas prints.
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Re: NavMesh não faz animação do jogador
Hmm, pera lá, aqui tu diz que o personagem que a AI controla, não executa as animações, mas e o personagem que o Player controla ?? executa corretamente as animações ?
Re: NavMesh não faz animação do jogador
Sim, perfeitamentedutrabr100 escreveu:Hmm, pera lá, aqui tu diz que o personagem que a AI controla, não executa as animações, mas e o personagem que o Player controla ?? executa corretamente as animações ?
Ren Allen- Membro
- PONTOS : 1469
REPUTAÇÃO : 7
Respeito as regras :
Tópicos semelhantes
» Inimigo seguir o jogador sem usar o NavMesh
» NavMesh não consegue reproduzir sprits de um jogador
» Animação do jogador
» Animação não reproduz e só fica parado em uma animação
» Como parar de produzir animação quando o jogador colidir?
» NavMesh não consegue reproduzir sprits de um jogador
» Animação do jogador
» Animação não reproduz e só fica parado em uma animação
» Como parar de produzir animação quando o jogador colidir?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos