SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Como fazer game responsivo
Morte do Player
Como fazer o personagem me atacar e fazer o personagem morrer??
[RESOLVIDO] Troca de câmeras
O que acrescentar no script para fazer o personagem morrer??
Duvida a respeito da pesquisa do app na google play
[EM DESENVOLVIMENTO] Top Island
ME TIREM UMA DUVIDA DO ADMOB ANTES DE PUBLICAR O GAME
Pode me ajudar com o Simple move
Terrain
Meu game para Android " As aventuras de Steff " finalizado, ou quase!
sistema de perguntas aleatórias de maneira que elas só se repetissem ao se passar todas
Qual versão do JDK, NDK E SDK o Unity Hub recomenda para Unity 2019.2.12f1 (64-bit)?
[DUVIDA]como saber se um jogo esta rodando nativamente 1080p
Diferenca entre bundle google play e split
Ajuda com spaw
Projeto de feira
historia para um jogo
Dúvida Realidade aumentada
[Projeto] Omega Racers - Steam Acesso antecipado
Erro build Android
Erro ao dar play Unity
Transparência de objeto através do color.alfa
chamando animaçao depois de um tempo
[DUVIDA] SELECIONAR APP EM SEGUNDO PLANO NO CELULAR
App feito na Unity - Biblia Sagrada
[RESOLVIDO] Erro invisível na aba console (ALGUÉM ME AJUDA?)
DUVIDA IMPORTANTE SOBRE O EXPORT COM A OPCAO SPLIT NA UNITY
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[TUTORIAL] FPS Controller com corpo completo!
(Duvida) Salvando array com playerprefs
PROBLEMA NO BUILD UNITY ANDROID
Estou com problemas com o NavMeshAgent
Diálogos e Linguagens
Saiu o primeiro teaser do meu novo jogo Inferno Verde
suporte para g29
AJUDA COM EXPORTACAO "SPLIT" NA UNITY
Duvida(tamanho de objetos)
Erro no Unity 2019
[RESOLVIDO] Física ser calculada mais rápida
Física do Caminhão e Trailer
[RESOLVIDO] Duvida com FadeIn e FadeOut quando o tempo do jogo acaba
Bug Partículas
Problema com Dano ao Inimigo
Video Player travando no apk do jogo
Uma Ideia Movimento
Como fazer o personagem não conseguir flipar enquanto estou atacando? (Unity 2D)
como resolve esse erro?
[PHOTON] Algumas animações não sincronizam!
SER INSERIDA EM LUGARES RANDÔMICOS!
MACHADO ENCOSTAR NA ÁRVORE
[RESOLVIDO] como respawnar um objeto na minha frente?
Como criar assinatura mensal em jogo na play console
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
movendo personagem com rb duvida
Como ignorar um erro? fazer ele parar de aparecer no console?
Simulador de policia [C#] [Jogo em andamento] [Procurando Equipe]
Problema ao iniciar uma array statica
Arquivos com Casa, arvores, Gramas, Objetos3d Etc...
Ajuda com Raycast de hit para um objeto individual citado
Eu preciso de ajuda para um impulso de pinball
Problemas com movimentação do personagem [AJUDA]
Limite de camera em um jogo metroidvania
AJUDA COM ADMOB
Meu primeiro jogo + Link para download.
duvida player quicando ao descer desnivel
DUVIDA SOBRE - Target Android API
Mudar a Descrição do Elemment Array no Inspector Dinamicamente
[RESOLVIDO] Ajuda com States
Duvida com Script de AI inteligente
UNITY NAO APARECE PROJETOS
Criar Apk Android 64 .aab
Animaçoes
Aplicar física em animação.
Como mudar animação do sprite automaticamente?
PLAYER NAO MOVER ENQUANTO ESTA ABAIXADO
[RESOLVIDO] Detectar quando a animação do animator acaba para dar dano no player
Problema pra compilar jogo para Android 6.0
Unity2D- Fazer 2 inimigos nascerem depois entrar em um collider?
CHUVA AUTOMÁTICA
ME AJUDEM POR FAVORR!!
ATUALIZAR OU NAO O PROJETO?
Como ativar a realidade virtual em tempo de execucao
[TUTORIAL] Unity + PHP + Mysql (com PDO)
Dúvida sobre Realidade Aumentada
Copyright da Assetstore
opnião sobre sistema de carro que é preciso ligar o motor
Imagem cortada na diagonal em apneas dosi aparelhos
Problema com script e physics 2d
erro com ADMOB , AJUDEM POR FAVOR
Problema com o script de menu pause do Marcos
[Dúvida] ScreenShare
Erro na interface da unity para android
[RESOLVIDO] Como fazer uma ação acontecer apenas após a animação terminar?
o sprite editor não quer abrir alguem pode me ajuda com isso?
VERIFICAR SE O USUARIO ESTÁ COM INTERNET
problemas com movimentação de objetos no unity
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Hoje à(s) 6:27 am
Hoje à(s) 12:29 am
Ontem à(s) 11:05 pm
Ontem à(s) 10:47 pm
Ontem à(s) 10:40 pm
Ontem à(s) 9:59 pm
Ontem à(s) 9:34 pm
Ontem à(s) 3:46 am
Sex Nov 15, 2019 11:35 pm
Sex Nov 15, 2019 11:00 pm
Sex Nov 15, 2019 9:51 pm
Sex Nov 15, 2019 4:49 pm
Qui Nov 14, 2019 5:45 pm
Qui Nov 14, 2019 4:37 pm
Qui Nov 14, 2019 2:20 pm
Qui Nov 14, 2019 11:06 am
Qua Nov 13, 2019 8:26 pm
Qua Nov 13, 2019 4:50 pm
Qua Nov 13, 2019 4:40 pm
Qua Nov 13, 2019 3:30 pm
Qua Nov 13, 2019 1:36 pm
Qua Nov 13, 2019 9:39 am
Qua Nov 13, 2019 2:57 am
Qua Nov 13, 2019 12:48 am
Ter Nov 12, 2019 8:41 pm
Ter Nov 12, 2019 8:35 pm
Ter Nov 12, 2019 6:28 pm
Ter Nov 12, 2019 1:52 pm
Ter Nov 12, 2019 11:57 am
Ter Nov 12, 2019 1:15 am
Ter Nov 12, 2019 12:13 am
Seg Nov 11, 2019 5:14 pm
Seg Nov 11, 2019 4:37 pm
Seg Nov 11, 2019 3:29 pm
Seg Nov 11, 2019 4:03 am
Dom Nov 10, 2019 10:20 pm
Dom Nov 10, 2019 9:37 pm
Dom Nov 10, 2019 9:30 pm
Dom Nov 10, 2019 8:30 pm
Dom Nov 10, 2019 8:22 pm
Dom Nov 10, 2019 12:04 pm
Dom Nov 10, 2019 11:23 am
Dom Nov 10, 2019 12:18 am
Dom Nov 10, 2019 12:16 am
Dom Nov 10, 2019 12:11 am
Dom Nov 10, 2019 12:02 am
Sab Nov 09, 2019 11:58 pm
Sab Nov 09, 2019 11:56 pm
Sab Nov 09, 2019 11:32 pm
Sab Nov 09, 2019 9:06 pm
Sab Nov 09, 2019 1:29 pm
Sex Nov 08, 2019 8:26 pm
Sex Nov 08, 2019 7:53 pm
Sex Nov 08, 2019 6:09 pm
Sex Nov 08, 2019 1:37 pm
Sex Nov 08, 2019 12:51 pm
Sex Nov 08, 2019 8:17 am
Sex Nov 08, 2019 2:25 am
Sex Nov 08, 2019 1:00 am
Qui Nov 07, 2019 11:29 pm
Qui Nov 07, 2019 8:06 pm
Qui Nov 07, 2019 3:53 am
Qui Nov 07, 2019 1:01 am
Qua Nov 06, 2019 9:41 pm
Qua Nov 06, 2019 9:12 pm
Qua Nov 06, 2019 9:01 pm
Qua Nov 06, 2019 3:10 pm
Qua Nov 06, 2019 11:17 am
Qua Nov 06, 2019 4:13 am
Ter Nov 05, 2019 11:23 pm
Ter Nov 05, 2019 10:54 pm
Ter Nov 05, 2019 10:15 pm
Ter Nov 05, 2019 8:48 pm
Ter Nov 05, 2019 8:36 pm
Ter Nov 05, 2019 8:29 pm
Ter Nov 05, 2019 6:35 pm
Ter Nov 05, 2019 3:48 pm
Ter Nov 05, 2019 2:36 pm
Ter Nov 05, 2019 2:16 pm
Ter Nov 05, 2019 3:39 am
Seg Nov 04, 2019 10:14 pm
Seg Nov 04, 2019 9:45 pm
Seg Nov 04, 2019 3:29 pm
Dom Nov 03, 2019 11:09 pm
Dom Nov 03, 2019 4:14 pm
Dom Nov 03, 2019 2:49 pm
Dom Nov 03, 2019 9:42 am
Sab Nov 02, 2019 11:07 pm
Sex Nov 01, 2019 2:13 pm
Sex Nov 01, 2019 12:59 pm
Sex Nov 01, 2019 9:42 am
Sex Nov 01, 2019 8:26 am
Qui Out 31, 2019 12:24 pm
Qui Out 31, 2019 10:38 am
Qua Out 30, 2019 9:12 pm
Ter Out 29, 2019 6:03 pm
Ter Out 29, 2019 12:49 pm
Ter Out 29, 2019 10:18 am
Seg Out 28, 2019 3:03 pm
MarcosSchultz
RafaelSquid1
Edivandro2706
Edivandro2706
leonardolopes
Edivandro2706
Carbon12 Youth
ScorpionG4mer
NyanHeavyBR
MarceloYBP
richerd
SergioDB
eduardonog30
Daniel Dória
guimaraf
gtcmcsgo
RafaelSquid1
porion
RafaelSquid1
numb123
guimaraf
numb123
IOOI
joffersoju
teyroberto1
luizrbizzio
John Wesley
verme1311
gtcmcsgo
Blaker
leonardolopes
poyser
luizrbizzio
RafaelSquid1
RafaelSquid1
Patrick
williangamesbr4021
gtcmcsgo
poyser
RafaelSquid1
NKKF
guimaraf
Lester3422
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Magnatah
Diguinho
Fagner
leonardolopes
Valakinhas
eduardonog30
dstaroski
Valakinhas
Valakinhas
RafaelSquid1
poyser
RafaelSquid1
Valakinhas
MayLeone
luizrbizzio
Hamassfall
gtcmcsgo
MarceloYBP
Édipo
gtcmcsgo
conceptfac
Hamassfall
MayLeone
Alerson Software
Fagner
Magnatah
Magnatah
MayLeone
pablo77
CyberPh4ntom
eduardonog30
MayLeone
leonardolopes
Fagner
gtcmcsgo
matheusgfgl
Diguinho
Fagner
Tegh
nvndx
eduardonog30
Fagner
gtcmcsgo
Lester3422
ruanzikaad
gtcmcsgo
Hamassfall
Tegh
JohnRambo
Tegh
MarcosSchultz

Como "medir" a distância do caminho no NavMesh??

Ir em baixo

DÚVIDA Como "medir" a distância do caminho no NavMesh??

Mensagem por Laylson.f em Qua Out 16, 2019 3:41 pm

Estou usando o navmesh, para mover o meu inimigo em um jogo 3D que se passa em um labirinto, esse labirinto tem portas que se movem e etc.

Eu preciso saber quando a distância que o navmesh vai percorrer, para poder chegar ao seu destino. Primeiro pra evitar que ele dê a volta no mapa inteiro, caso um dos waypoints que eu defini esteja com o caminho mais curto bloqueado pela porta. E segundo pra poder determinar qual dos inimigo eu vou mandar perseguir o player, com base no que está com caminho menor.

Eu tentei usar o remainingDistance, mas ele sempre retornar o valor 0.
Pensei em usar a contagem de  


corners, mas não to conseguindo fazer isso, não sei como.

Laylson.f
Iniciante
Iniciante

PONTOS : 156
REPUTAÇÃO : 0
Respeito as regras : Como "medir" a distância do caminho no NavMesh?? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como "medir" a distância do caminho no NavMesh??

Mensagem por Fagner em Qua Out 16, 2019 10:43 pm

É só percorrer cada ponto do caminho gerado, e somar as distâncias entre eles.
Eu fiz esse exemplo, pra funcionar direito, habilite os Gizmos na aba de Jogo.
Como "medir" a distância do caminho no NavMesh?? 5JjOFe6
Segue o link:
https://drive.google.com/open?id=1o6xf_zSnFl15clrXuCYdloBy-Otd9Jij

Quem quiser olhar apenas o código, a parte que lhe interessa está no método CalcularDistancia():
Codigo:


Código:
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.UI;

public class Bot : MonoBehaviour
{
    public NavMeshAgent botNav;
    public NavMeshPath caminho;
    public Transform destinoT;
    public Text distTxt, tempTxt;
    public float distancia;
    
    void Start()
    {
        botNav.destination = destinoT.position;
        caminho = new NavMeshPath();
    }

    void Update()
    {
        EncontrarCaminho(destinoT, caminho);
        ExibirCaminho();
        distancia = CalcularDistancia();
        AtualizarUI();
    }

    private float CalcularDistancia()
    {
        float dist = 0;
        if (( caminho.status != NavMeshPathStatus.PathInvalid ))
        {
            for ( int i = 1; i < caminho.corners.Length; ++i )
            {
                dist += Vector3.Distance( caminho.corners[i-1], caminho.corners[i] );
            }
        }
        return dist;
    }

    private void EncontrarCaminho(Transform destino, NavMeshPath caminho )
    {
        NavMesh.CalculatePath(transform.position, destinoT.position, NavMesh.AllAreas, caminho);
    }

    private void ExibirCaminho() //Ative a opção de Gizmos na tela do jogo.
    {
        for (int i = 0; i < caminho.corners.Length - 1; i++)
            Debug.DrawLine(caminho.corners[i], caminho.corners[i + 1], Color.green);
    }

    private void AtualizarUI(){
        distTxt.text = "Distância do destino: " + distancia.ToString("F1") + "m";
        tempTxt.text = distancia > 0.1f ? "Tempo até a chegada: "+(distancia/botNav.velocity.magnitude).ToString("F2")+"s" : "Destino alcançado";
    }
}




Apesar do NavMesh Agent ter uma velocidade constante definida no inspector, ele desacelera dependendo do quão fechada é a curva, por isso o tempo estimado flutua bastante, mas quando a trajetória é uma reta, o tempo deixa de flutuar.
Fagner
Fagner
ProgramadorMaster

Masculino PONTOS : 1501
REPUTAÇÃO : 233
Áreas de atuação : Modelagem 3D, C#, Python, LUA.
Respeito as regras : Como "medir" a distância do caminho no NavMesh?? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como "medir" a distância do caminho no NavMesh??

Mensagem por Laylson.f em Qui Out 17, 2019 10:44 am

@Fagner escreveu:É só percorrer cada ponto do caminho gerado, e somar as distâncias entre eles.
Eu fiz esse exemplo, pra funcionar direito, habilite os Gizmos na aba de Jogo.
Como "medir" a distância do caminho no NavMesh?? 5JjOFe6
Segue o link:
https://drive.google.com/open?id=1o6xf_zSnFl15clrXuCYdloBy-Otd9Jij

Quem quiser olhar apenas o código, a parte que lhe interessa está no método CalcularDistancia():
Codigo:


Código:
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.UI;

public class Bot : MonoBehaviour
{
    public NavMeshAgent botNav;
    public NavMeshPath caminho;
    public Transform destinoT;
    public Text distTxt, tempTxt;
    public float distancia;
    
    void Start()
    {
        botNav.destination = destinoT.position;
        caminho = new NavMeshPath();
    }

    void Update()
    {
        EncontrarCaminho(destinoT, caminho);
        ExibirCaminho();
        distancia = CalcularDistancia();
        AtualizarUI();
    }

    private float CalcularDistancia()
    {
        float dist = 0;
        if (( caminho.status != NavMeshPathStatus.PathInvalid ))
        {
            for ( int i = 1; i < caminho.corners.Length; ++i )
            {
                dist += Vector3.Distance( caminho.corners[i-1], caminho.corners[i] );
            }
        }
        return dist;
    }

    private void EncontrarCaminho(Transform destino, NavMeshPath caminho )
    {
        NavMesh.CalculatePath(transform.position, destinoT.position, NavMesh.AllAreas, caminho);
    }

    private void ExibirCaminho() //Ative a opção de Gizmos na tela do jogo.
    {
        for (int i = 0; i < caminho.corners.Length - 1; i++)
            Debug.DrawLine(caminho.corners[i], caminho.corners[i + 1], Color.green);
    }

    private void AtualizarUI(){
        distTxt.text = "Distância do destino: " + distancia.ToString("F1") + "m";
        tempTxt.text = distancia > 0.1f ? "Tempo até a chegada: "+(distancia/botNav.velocity.magnitude).ToString("F2")+"s" : "Destino alcançado";
    }
}




Apesar do NavMesh Agent ter uma velocidade constante definida no inspector, ele desacelera dependendo do quão fechada é a curva, por isso o tempo estimado flutua bastante, mas quando a trajetória é uma reta, o tempo deixa de flutuar.


Quando eu uso o caminho.corners.Length, ele sempre retorna 1

Laylson.f
Iniciante
Iniciante

PONTOS : 156
REPUTAÇÃO : 0
Respeito as regras : Como "medir" a distância do caminho no NavMesh?? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como "medir" a distância do caminho no NavMesh??

Mensagem por Fagner em Qui Out 17, 2019 11:00 am

Testou o projeto que mandei?
Poste seu código pra darmos uma olhada.
Fagner
Fagner
ProgramadorMaster

Masculino PONTOS : 1501
REPUTAÇÃO : 233
Áreas de atuação : Modelagem 3D, C#, Python, LUA.
Respeito as regras : Como "medir" a distância do caminho no NavMesh?? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como "medir" a distância do caminho no NavMesh??

Mensagem por Laylson.f em Sex Out 18, 2019 8:16 pm

@Fagner escreveu:Testou o projeto que mandei?
Poste seu código pra darmos uma olhada.

sim, testei o projeto inteiro, coloquei da mesma forma no meu e o resultado do Caminho.corners.Length continua como 0; 
até testei no seu projeto, da forma que eu estava colocando no meu, só pra entender se iria funcionar, e sim, funcionou de boas. 
o unico problema é esse, os corners.Length sempre vem como 0;
 Como "medir" a distância do caminho no NavMesh?? X956awK

Laylson.f
Iniciante
Iniciante

PONTOS : 156
REPUTAÇÃO : 0
Respeito as regras : Como "medir" a distância do caminho no NavMesh?? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como "medir" a distância do caminho no NavMesh??

Mensagem por Laylson.f em Sex Out 18, 2019 8:23 pm

@Fagner escreveu:Testou o projeto que mandei?
Poste seu código pra darmos uma olhada.
deixa pra la... começou a funcionar DO NADA...  
Nessas horas a gente fica feliz e com raiva ao mesmo tempo.

mas ainda assim, sua solução ajudou bastante, e eu vou usar, obrigado.

Laylson.f
Iniciante
Iniciante

PONTOS : 156
REPUTAÇÃO : 0
Respeito as regras : Como "medir" a distância do caminho no NavMesh?? WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum