DÚVIDA NAVMESH...
2 participantes
Página 1 de 1
DÚVIDA NAVMESH...
Bom pessoal, mais uma dúvida sobre o nosso querido NavMesh...
O problema dessa vez é que eu não consigo aumentar a distância na qual o meu inimigo consegue ver e seguir meu player. Já tentei aumentar essa distância com script, seguindo um tutorial do canal do Marcos, e tbm aumentando o radius la no inspector do NavMesh, mesmo assim o inimigo só segue meu player quando ele chega muito perto. Tem como aumentar essa distância na percepção do inimigo?
Edit: Erro que aparece: "SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.NavMeshAgent:set_destination(Vector3)
O problema dessa vez é que eu não consigo aumentar a distância na qual o meu inimigo consegue ver e seguir meu player. Já tentei aumentar essa distância com script, seguindo um tutorial do canal do Marcos, e tbm aumentando o radius la no inspector do NavMesh, mesmo assim o inimigo só segue meu player quando ele chega muito perto. Tem como aumentar essa distância na percepção do inimigo?
Edit: Erro que aparece: "SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.NavMeshAgent:set_destination(Vector3)
Felippe4455- Membro
- PONTOS : 3154
REPUTAÇÃO : 2
Respeito as regras :
Re: DÚVIDA NAVMESH...
alguém pode me ajudar aqui?
Felippe4455- Membro
- PONTOS : 3154
REPUTAÇÃO : 2
Respeito as regras :
Martinez- Iniciante
- PONTOS : 2751
REPUTAÇÃO : 7
Idade : 26
Áreas de atuação : Programação em Python, Ruby, Lua, C#, BluePrint e Blocky.
Um pouco de modelagem 3D e desenhos 2D;
Respeito as regras :
Re: DÚVIDA NAVMESH...
Bom, como o script é grande vou colocar só as partes que mais interessa.
As Variáveis:
As partes mais importantes da Void Update
Void Perseguir
Bom, acho que essas são todas as partes que mexem com a parte de percepção e perseguição do player...
As Variáveis:
- Código:
public static Transform Player;
private NavMeshAgent naveMesh;
private float DistanciaDoPlayer, DistanciaDoAIPoint;
private float DistanciaPercepcao = 1000 , DistanciaDeSeguir = 1000, DistanciaDeAtacar = 27, DanoDoInimigo = 10, VelocidadeDePasseio = 50, VelocidadeDePercepcao = 50, TempoPorAtaque = 1.5f, DanoDoPlayer = 50, LifeInimigo = 100, DistanciaAtirar = 50;
private bool VendooPlayer;
public static Transform[] DestinosAleatorios;
private int AIpointAtual;
private bool PerseguindoAlgo, contadorPerseguindoAlgo, atacandoAlgo;
private float CronometroDaPerseguicao, CronometroAtaque, CronometroGameOver;
As partes mais importantes da Void Update
- Código:
void Update()
{
DistanciaDoPlayer = Vector3.Distance(Player.transform.position, transform.position);
DistanciaDoAIPoint = Vector3.Distance(DestinosAleatorios[AIpointAtual].transform.position, transform.position);
naveMesh.SetDestination(Player.transform.position);
RaycastHit hit;
Vector3 deOnde = transform.position;
Vector3 paraOnde = Player.transform.position;
Vector3 direction = paraOnde - deOnde;
if (Physics.Raycast(transform.position, direction, out hit, 1000) && DistanciaDoPlayer < DistanciaPercepcao)
{
if (hit.collider.gameObject.CompareTag("Player"))
{
VendooPlayer = true;
}
else
{
VendooPlayer = false;
}
}
if (DistanciaDoPlayer > DistanciaPercepcao)
{
Passear();
}
if (DistanciaDoPlayer <= DistanciaPercepcao && DistanciaDoPlayer > DistanciaDeSeguir)
{
if (VendooPlayer == true)
{
Olhar();
}
else
{
Passear();
}
}
if (DistanciaDoPlayer <= DistanciaDeSeguir && DistanciaDoPlayer > DistanciaDeAtacar)
{
if (VendooPlayer == true)
{
Perseguir();
PerseguindoAlgo = true;
}
else
{
Passear();
}
}
}
Void Perseguir
- Código:
void Perseguir()
{
naveMesh.acceleration = 20;
naveMesh.speed = VelocidadeDePercepcao;
naveMesh.destination = Player.position;
}
Bom, acho que essas são todas as partes que mexem com a parte de percepção e perseguição do player...
Felippe4455- Membro
- PONTOS : 3154
REPUTAÇÃO : 2
Respeito as regras :
Martinez- Iniciante
- PONTOS : 2751
REPUTAÇÃO : 7
Idade : 26
Áreas de atuação : Programação em Python, Ruby, Lua, C#, BluePrint e Blocky.
Um pouco de modelagem 3D e desenhos 2D;
Respeito as regras :
Martinez- Iniciante
- PONTOS : 2751
REPUTAÇÃO : 7
Idade : 26
Áreas de atuação : Programação em Python, Ruby, Lua, C#, BluePrint e Blocky.
Um pouco de modelagem 3D e desenhos 2D;
Respeito as regras :
Re: DÚVIDA NAVMESH...
Ue, a void update e a void perseguir não foram?
Vou mandar novamente
Void Update:
Void Perseguir:
Vou mandar novamente
Void Update:
- Código:
void Update()
{
DistanciaDoPlayer = Vector3.Distance(Player.transform.position, transform.position);
DistanciaDoAIPoint = Vector3.Distance(DestinosAleatorios[AIpointAtual].transform.position, transform.position);
naveMesh.SetDestination(Player.transform.position);
RaycastHit hit;
Vector3 deOnde = transform.position;
Vector3 paraOnde = Player.transform.position;
Vector3 direction = paraOnde - deOnde;
if (Physics.Raycast(transform.position, direction, out hit, 1000) && DistanciaDoPlayer < DistanciaPercepcao)
{
if (hit.collider.gameObject.CompareTag("Player"))
{
VendooPlayer = true;
}
else
{
VendooPlayer = false;
}
}
if (DistanciaDoPlayer > DistanciaPercepcao)
{
Passear();
}
if (DistanciaDoPlayer <= DistanciaPercepcao && DistanciaDoPlayer > DistanciaDeSeguir)
{
if (VendooPlayer == true)
{
Olhar();
}
else
{
Passear();
}
}
if (DistanciaDoPlayer <= DistanciaDeSeguir && DistanciaDoPlayer > DistanciaDeAtacar)
{
if (VendooPlayer == true)
{
Perseguir();
PerseguindoAlgo = true;
}
else
{
Passear();
}
}
}
Void Perseguir:
- Código:
void Perseguir()
{
naveMesh.acceleration = 20;
naveMesh.speed = VelocidadeDePercepcao;
naveMesh.destination = Player.position;
}
Felippe4455- Membro
- PONTOS : 3154
REPUTAÇÃO : 2
Respeito as regras :
Re: DÚVIDA NAVMESH...
Você colocou seu cenário(chão e objetos imóveis) como navMesh? E como static?
E dá uma olhada aqui:
https://docs.unity3d.com/Manual/nav-BuildingNavMesh.html
VÍDEO DO MARCOS EXPLICANDO:
E dá uma olhada aqui:
https://docs.unity3d.com/Manual/nav-BuildingNavMesh.html
VÍDEO DO MARCOS EXPLICANDO:
Martinez- Iniciante
- PONTOS : 2751
REPUTAÇÃO : 7
Idade : 26
Áreas de atuação : Programação em Python, Ruby, Lua, C#, BluePrint e Blocky.
Um pouco de modelagem 3D e desenhos 2D;
Respeito as regras :
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos