erro em uma I.A
3 participantes
Página 1 de 1
erro em uma I.A
Esta dando esse erro:"SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:set_destination(Vector3)
EnemyIA:seguir() (at Assets/scrips all/my scripts/EnemyIA.cs:130)
EnemyIA:Update() (at Assets/scrips all/my scripts/EnemyIA.cs:64)
UnityEditor.Toolbar:OnGUI()
OBS:estou usando a I.A do Standard assets sem seu script I.A ja oferecido pelo asset
estou usando no lugar dele,esse script
UnityEngine.AI.NavMeshAgent:set_destination(Vector3)
EnemyIA:seguir() (at Assets/scrips all/my scripts/EnemyIA.cs:130)
EnemyIA:Update() (at Assets/scrips all/my scripts/EnemyIA.cs:64)
UnityEditor.Toolbar:OnGUI()
OBS:estou usando a I.A do Standard assets sem seu script I.A ja oferecido pelo asset
estou usando no lugar dele,esse script
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public enum EnemyStates { Parado, Patrulha, Seguir, Lutar }
public class EnemyIA : MonoBehaviour
{
public EnemyStates myStates = EnemyStates.Patrulha;
Animator animator;
NavMeshAgent agent;
//alvo
public Transform player;
//vision
public float anguloVision = 90;
public float minDistVision = 10;
public Transform olho;
public float vTimer = 0;
public float vtAmount = 0.1f;
[Header("patrulha")]
public Transform pathDad;
public Transform[] paths;
public float minDist = 2;
int pathIndice = 0;
bool isClose = false;
//animações
float vertical;
//seguir
public float maxDist = 8;
// Start is called before the first frame update
void Start()
{
animator = GetComponent<Animator>();
agent = GetComponent<NavMeshAgent>();
paths = pathDad.GetComponentsInChildren<Transform>();
player = GameObject.FindGameObjectWithTag("Player").transform;
olho = transform.GetChild(0);
}
// Update is called once per frame
void Update()
{
switch (myStates)
{
case EnemyStates.Parado:
parado();
break;
case EnemyStates.Patrulha:
patrulha();
break;
case EnemyStates.Seguir:
seguir();
break;
case EnemyStates.Lutar:
lutar();
break;
}
AnimUpdate();
}
void parado()
{
SetMove(true, false, 0);
VisionTimer();
}
void AnimUpdate()
{
animator.SetFloat("vertical", vertical);
}
void SetMove(bool rm, bool ag, float v)
{
animator.applyRootMotion = rm;
agent.enabled = ag;
vertical = Mathf.Lerp(vertical, v, 2 * Time.deltaTime);
}
void patrulha()
{
if (pathDad == null)
{
myStates = EnemyStates.Parado;
return;
}
VisionTimer();
if (Ver())
{
return;
}
float dis = Vector3.Distance(paths[pathIndice].position, transform.position);
if (dis <= minDist)
{
pathIndice = Random.Range(0, paths.Length);
}
else
{
if (agent.enabled)
agent.destination = paths[pathIndice].position;
}
SetMove(false, true, 1);
}
void seguir()
{
SetMove(false, true, 2);
agent.destination = player.position;
float dist = Vector3.Distance(player.position, transform.position);
if (dist <= minDist)
{
myStates = EnemyStates.Lutar;
}
}
void lutar()
{
float dist = Vector3.Distance(player.position, transform.position);
if (dist >= maxDist)
{
myStates = EnemyStates.Seguir;
}
}
void VisionTimer()
{
if (Ver())
{
vTimer += vtAmount;
SetMove(true, false, 0);
}
else
{
vTimer -= vtAmount;
}
vTimer = Mathf.Clamp(vTimer, 0, 1);
if (vTimer >= 1)
{
myStates = EnemyStates.Seguir;
}
if (vTimer <= 0 && myStates == EnemyStates.Seguir)
{
if (pathDad == null)
{
myStates = EnemyStates.Parado;
}
else
{
myStates = EnemyStates.Patrulha;
}
}
}
bool Ver()
{
Vector3 dir = player.position - transform.position;
float angle = Vector3.Angle(transform.forward, dir);
float dist = Vector3.Distance(player.position, transform.position);
RaycastHit hit;
if (angle < anguloVision && dist <= minDistVision)
{
if (Physics.Linecast(olho.position, player.position, out hit))
{
if (hit.transform.tag == "Player")
{
return true;
}
else { return false; }
}
else { return false; }
}
else
{
return false;
}
}
}
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
e esse erro tmb
Parameter 'vertical' does not exist.
UnityEngine.Animator:SetFloat(String, Single)
EnemyIA:AnimUpdate() (at Assets/scrips all/my scripts/EnemyIA.cs:85)
EnemyIA:Update() (at Assets/scrips all/my scripts/EnemyIA.cs:72)
Parameter 'vertical' does not exist.
UnityEngine.Animator:SetFloat(String, Single)
EnemyIA:AnimUpdate() (at Assets/scrips all/my scripts/EnemyIA.cs:85)
EnemyIA:Update() (at Assets/scrips all/my scripts/EnemyIA.cs:72)
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
caramba que prazer ver alguém usando o meu script kkkkk ,pelo que parece ou o component
NavMeshAgent tá desativado ou vc não fez um bake no cenário ,se for a primeira opção a unica coisa que vc vai precisar fazer é fazer um if tipo
if(agent.enable == true){
agent.destination = player.position;
}
acho que nos videos posteriores eu corrijo esse erro.
NavMeshAgent tá desativado ou vc não fez um bake no cenário ,se for a primeira opção a unica coisa que vc vai precisar fazer é fazer um if tipo
if(agent.enable == true){
agent.destination = player.position;
}
acho que nos videos posteriores eu corrijo esse erro.
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: erro em uma I.A
mas fazer esse if onde exatamente?hendrick22 escreveu:caramba que prazer ver alguém usando o meu script kkkkk ,pelo que parece ou o component
NavMeshAgent tá desativado ou vc não fez um bake no cenário ,se for a primeira opção a unica coisa que vc vai precisar fazer é fazer um if tipo
if(agent.enable == true){
agent.destination = player.position;
}
acho que nos videos posteriores eu corrijo esse erro.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
tmb da esse erro
Parameter 'vertical' does not exist.
UnityEngine.Animator:SetFloat(String, Single)
EnemyIA:AnimUpdate() (at Assets/scrips all/my scripts/EnemyIA.cs:85)
EnemyIA:Update() (at Assets/scrips all/my scripts/EnemyIA.cs:72)
Parameter 'vertical' does not exist.
UnityEngine.Animator:SetFloat(String, Single)
EnemyIA:AnimUpdate() (at Assets/scrips all/my scripts/EnemyIA.cs:85)
EnemyIA:Update() (at Assets/scrips all/my scripts/EnemyIA.cs:72)
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
nao funcionouhendrick22 escreveu:caramba que prazer ver alguém usando o meu script kkkkk ,pelo que parece ou o component
NavMeshAgent tá desativado ou vc não fez um bake no cenário ,se for a primeira opção a unica coisa que vc vai precisar fazer é fazer um if tipo
if(agent.enable == true){
agent.destination = player.position;
}
acho que nos videos posteriores eu corrijo esse erro.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
então o erro novo tá dizendo que o parametro vertical não existe quer dizer que vc pode ter escrevido o nome do parametro errado lá no Animator Controle ,normalmente eu costumo ir no Animator e copiar o nome e colar no script para não ter erro.
a solução do erro antigo tem que ser escrita na void "seguir".
se não funcionar verifique se vc colocou o seu cenario como Static e deu um bake nele.
sem o cenário pintado a IA não funciona.
a solução do erro antigo tem que ser escrita na void "seguir".
se não funcionar verifique se vc colocou o seu cenario como Static e deu um bake nele.
sem o cenário pintado a IA não funciona.
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: erro em uma I.A
entao oque eu faço??? kkkkkkkkkkkkkk oque eu coloco no animation controler kkkkkkkkkhendrick22 escreveu:então o erro novo tá dizendo que o parametro vertical não existe quer dizer que vc pode ter escrevido o nome do parametro errado lá no Animator Controle ,normalmente eu costumo ir no Animator e copiar o nome e colar no script para não ter erro.
a solução do erro antigo tem que ser escrita na void "seguir".
se não funcionar verifique se vc colocou o seu cenario como Static e deu um bake nele.
sem o cenário pintado a IA não funciona.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
vei ta funcionando mais ele ta andando igual o mickel jackson
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
a i.a ta andando com o corpo parado
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
é man ai complico pq era para tá funcionando ,como no video ,vc seguiu os passos lá ?
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: erro em uma I.A
hendrick, qual seu canal?hendrick22 escreveu:é man ai complico pq era para tá funcionando ,como no video ,vc seguiu os passos lá ?
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
giowde- Avançado
- PONTOS : 2162
REPUTAÇÃO : 17
Respeito as regras :
Re: erro em uma I.A
ah vou ver oque errei eu vi todos os seus videos do inicio ao fim acho que me distrai em alguma partehendrick22 escreveu:é man ai complico pq era para tá funcionando ,como no video ,vc seguiu os passos lá ?
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
man,o mapa ficou todo amarelo depois do bake do cenario
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
ele em vez de rodear ele faz isso
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
entao esse e o movimento para tras dele, e quando ele vai pra traz em vez de ele rodear ele vai pra frente denovoRyan Alexandre escreveu:ele em vez de rodear ele faz isso
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
minha blend tree ta assim
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
então man ,agora eu vi que vc tá usando uma versão antiga do Unity o meu tutorial foi feito com uma versão mais nova. se não me engano nessa sua versão não é necessário importar a biblioteca "using UnityEngine.AI;"
tente remover esse trecho do script para ver oque acontece.
tente remover esse trecho do script para ver oque acontece.
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: erro em uma I.A
o meu pc e 32bits essa e a unica versão que tem 32bitshendrick22 escreveu:então man ,agora eu vi que vc tá usando uma versão antiga do Unity o meu tutorial foi feito com uma versão mais nova. se não me engano nessa sua versão não é necessário importar a biblioteca "using UnityEngine.AI;"
tente remover esse trecho do script para ver oque acontece.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
quando eu importo uma biblioteca que nao tera uso ele simplesmente anula ela,ou o visual studio fala:Remover trechos desnecessarios.hendrick22 escreveu:então man ,agora eu vi que vc tá usando uma versão antiga do Unity o meu tutorial foi feito com uma versão mais nova. se não me engano nessa sua versão não é necessário importar a biblioteca "using UnityEngine.AI;"
tente remover esse trecho do script para ver oque acontece.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
man ele diz que precisa da biblioteca using unity AI, e a I.A ta fazendo a animacao de correr,mas ta mais lenta que uma lesma.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
HendrickIndieDev esse é o nome do canalgiowde escreveu:hendrick, qual seu canal?hendrick22 escreveu:é man ai complico pq era para tá funcionando ,como no video ,vc seguiu os passos lá ?
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: erro em uma I.A
se não tiver funcionado deixe do jeito que tava ,eu te disse isso pq antigamente não era necessário importa AI,Ryan Alexandre escreveu:man ele diz que precisa da biblioteca using unity AI, e a I.A ta fazendo a animacao de correr,mas ta mais lenta que uma lesma.
só passei a faze-lo apos atualizar o unity.
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: erro em uma I.A
continua do mesmo jeito a i.a igual alguem com alzheimerhendrick22 escreveu:se não tiver funcionado deixe do jeito que tava ,eu te disse isso pq antigamente não era necessário importa AI,Ryan Alexandre escreveu:man ele diz que precisa da biblioteca using unity AI, e a I.A ta fazendo a animacao de correr,mas ta mais lenta que uma lesma.
só passei a faze-lo apos atualizar o unity.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
cara eu tinha que ter 1999 incritos vc faz video muito bemhendrick22 escreveu:HendrickIndieDev esse é o nome do canalgiowde escreveu:hendrick, qual seu canal?hendrick22 escreveu:é man ai complico pq era para tá funcionando ,como no video ,vc seguiu os passos lá ?
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: erro em uma I.A
KKKKKKKKKK errei o certo e : cara VC tinha que ter 1999 inscritos vc faz videos muito bem.Ryan Alexandre escreveu:cara eu tinha que ter 1999 incritos vc faz video muito bemhendrick22 escreveu:HendrickIndieDev esse é o nome do canalgiowde escreveu:hendrick, qual seu canal?hendrick22 escreveu:é man ai complico pq era para tá funcionando ,como no video ,vc seguiu os passos lá ?
pq vc definiu o vertical como 0 se estiver em 0 é para ele ficar parado e 1 é para andar se isso não estiver funcionando vc tem que rever o seu animator controlle na parte do blend free.
tente ver o video de novo e verificar oque vc fez de errado fora do script porque o mesmo parece que tá tudo certo.
o certo e VC e nao EU kkkk
Ryan Alexandre- Membro
- PONTOS : 1730
REPUTAÇÃO : 1
Idade : 24
Áreas de atuação : programação
Respeito as regras :
hendrick22- MembroAvançado
- PONTOS : 2690
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Tópicos semelhantes
» erro erro e mais erro script de craft
» Erro ao abrir projeto ( Fatal Erro )
» Bom dia, erro invisível como resolver? Erro -> [15:32:11]
» ERRO NO SCRIPT UM UNICO ERRO
» Alguem pode resolver o erro desses scripts, resolver o erro deste pacote
» Erro ao abrir projeto ( Fatal Erro )
» Bom dia, erro invisível como resolver? Erro -> [15:32:11]
» ERRO NO SCRIPT UM UNICO ERRO
» Alguem pode resolver o erro desses scripts, resolver o erro deste pacote
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos