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:
como desativar objeto aleatório de uma array
[____SUGESTÕES PARA O FÓRUM____]
Como fazer os jogos terem relevância?
Randomizar um sprite!
Como Fazer para uma partícula aparecer por um período de tempo e sumir?
[DUVIDA]alguém que entende de marketing pode ajudar?
Como fazer o persogem após bater ele impulsione na posição oposta
DOTS - ECS + JOBS + Burst!
The freddy krueger's pie (Game)
Por que a rotação do Box Collider não está certa?
Como fazer o onTriggerEnter carregar uma cena?
[RESOLVIDO] Erro de carregamento no Android
botoes e texturas
Como fazer o inimigo atirar projétil na direção do jogador? por favor
Materiais e texturas em otimização
[TUTORIAL] Unity 3D - NavMesh
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
visual code dando erro
Como resolver problema com lag por conta de sprites Instanciados? Mesmo destruindo em 2f
Usar o mouse?
Objeto em movimento bate no box collider e fica tremendo até bugar a cena?
Facebook SDK "launcher:checkReleaseDuplicateClasses"
Como abrir portas/gavetas com click do mouse, usando raycast!
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Unity3D - Meu boneco fica girando no eixo Y sem parar, parece o sonic
Alguém sabe o nome desse efeito?
Ajuda - Como crio um botão touch usando o Bolt visual Scripting
as luzes diminuem mt o fps no android, alguma dica de como melhorar isso?
click mouse
RigidBody Agarrando no BoxCollider [Mobile 3D]
Como alterar informações de objeto UI
Desconectar jogador após acabar o tempo de jogo utilizando a rede - Bolt
quero adicionar mais colisores a esse script de movimentação
SEM CURSOR EM JOGO.
Conexão entre app Android e internet.
CURSOR DO MOUSE NÃO DESAPARECE AO CLICAR EM "JOGAR" NO MENU
Script não funcionando
Destruir um objeto ao colidir com o componente dele.
RigidBodyFPSController não carrega o script, é do pacote standard assets
Preciso saber matemática para programar?
[RESOLVIDO] Prefab com altura diferente na Scene
Problema com os FPS do jogo
pq da erro ao tentar mover arquivo para unity
[RESOLVIDO] Como saber se um Transform está se movendo?
Problema com animaç]ao de fechar porta ao clicar com mouse raycast
Fala Pessoal! saiu um trailer da sequência do meu jogo Project Lazarus parte 2
Exportação do SketchUp para Unity
[RESOLVIDO] Como fazer com que os valores do bool sejam iguais ao da lista?
[RESOLVIDO] Trocar valor de variável apos X segundos que ativar o triggercollider
PEGADAS DO PLAYER QUE APARECEM APÓS ANDAR SOBRE UMA ÁREA "ÚMIDA". UNITY 2D
[RESOLVIDO] Erro com Facebook SDK
Como deixar touch apenas 50% da tela (código que estou usando)
terreno plano pesa muito em mobile?
Dúvida sobre o script de Mover Objetos
Duvida sobre um sistema de Lap Timer junto com o box collider!
Como passar cena sem perder o que conseguiu em outra?
[RESOLVIDO] OverlapBox detectar colisão
APK trava com Admob
[Lançado] TapNav: Vaporwave Edition já está disponível!
[RESOLVIDO] Tentando implementar sons no Character Controller
como posso criar um filtro de cor igual post processing?
[RESOLVIDO] Problema com movimentação do Joystick
[RESOLVIDO] Inimigo aparecer depois de certa ação
Como redirecionar o usuário pelo app do Facebook?
[TUTORIAL] Codificar e Decodificar Numeros
Como fazer esse mesmo código usando ScriptableObject?
[RESOLVIDO] Pontuação na Unity 3D!
[RESOLVIDO] Unity 2018.2.17 Problemas com o Package Manager
BARRA DE ENERGIA NÃO RESETA QUANDO O PLAYER RENASCE.
[RESOLVIDO] Erro no pacote do Unity Ads
Fazer o personagem apontar na direção do movimento
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
QUE ? Porque não funcionou ? :(
Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
[RESOLVIDO] Meus personagens não iniciam animação no jogo compilado, o que pode ser ?
Como deixar touch apenas 50% da tela
Sistema de tiro teleguiado
[TUTORIAL] Script para jogo FPS Mobile
[RESOLVIDO] Como faço para o personagem entrar e sair do carro?
[RESOLVIDO] Como salvar itens da fase?
Oque é API?
Salvar dados unity
NavMesh em uma esfera
[TUTORIAL] Dicas Para Otimização de Código
[POR QUE O OBJETO FICA DEFORMADO QUANDO ROTACIONA?]
Jogo Maria Bella
[DUVIDA]sobre Time.deltaTime
SIGLETON
Shader Causa Tela Preta
Objeto continuar em movimento após tira o dedo da direção
"Problema" com o script de mover objetos versão free do Marcos Schultz
como fazer joystick's Mobile para shooter topDown ?
Unity 2018.2 Erro de janela no Editor
Duvida sobre um script de contagem 1, 2, 3, GO!.
Onde Encontro Música De Background Para o Meu Projeto?
problema na AI quando passa pro unity 2020
[RESOLVIDO] Problema em configurar o pneu de 1 carro no MSVehicle System Free
[RESOLVIDO] Dicas sobre criação de ruas??
[RESOLVIDO] Utilizar o Range
Hoje à(s) 3:25 pm
Hoje à(s) 11:35 am
Hoje à(s) 7:30 am
Ontem à(s) 9:16 pm
Ontem à(s) 5:36 pm
Ontem à(s) 1:14 pm
Ontem à(s) 12:10 pm
Ontem à(s) 10:13 am
Ontem à(s) 6:10 am
Qua Set 23, 2020 11:56 pm
Qua Set 23, 2020 9:12 pm
Qua Set 23, 2020 8:53 pm
Qua Set 23, 2020 3:11 pm
Qua Set 23, 2020 8:23 am
Qua Set 23, 2020 1:44 am
Ter Set 22, 2020 9:12 pm
Ter Set 22, 2020 2:14 pm
Ter Set 22, 2020 11:37 am
Seg Set 21, 2020 10:54 pm
Seg Set 21, 2020 9:07 pm
Seg Set 21, 2020 4:47 pm
Dom Set 20, 2020 9:37 pm
Dom Set 20, 2020 12:59 am
Sab Set 19, 2020 8:53 pm
Sab Set 19, 2020 8:10 pm
Sab Set 19, 2020 6:30 pm
Sab Set 19, 2020 6:04 pm
Sab Set 19, 2020 4:51 pm
Sab Set 19, 2020 10:24 am
Sab Set 19, 2020 10:21 am
Sab Set 19, 2020 10:03 am
Sab Set 19, 2020 2:30 am
Sex Set 18, 2020 10:13 pm
Sex Set 18, 2020 8:14 am
Sex Set 18, 2020 8:09 am
Qui Set 17, 2020 2:36 pm
Qui Set 17, 2020 10:07 am
Qua Set 16, 2020 11:22 pm
Qua Set 16, 2020 5:31 pm
Qua Set 16, 2020 12:10 pm
Qua Set 16, 2020 12:02 am
Ter Set 15, 2020 11:33 pm
Ter Set 15, 2020 11:32 pm
Ter Set 15, 2020 5:28 pm
Ter Set 15, 2020 11:52 am
Ter Set 15, 2020 6:13 am
Seg Set 14, 2020 3:51 pm
Seg Set 14, 2020 3:41 pm
Seg Set 14, 2020 11:06 am
Seg Set 14, 2020 10:12 am
Seg Set 14, 2020 9:14 am
Seg Set 14, 2020 3:21 am
Seg Set 14, 2020 3:11 am
Dom Set 13, 2020 1:07 am
Sab Set 12, 2020 8:01 pm
Sab Set 12, 2020 6:34 pm
Sab Set 12, 2020 6:32 pm
Sab Set 12, 2020 2:28 pm
Sab Set 12, 2020 2:15 pm
Sab Set 12, 2020 1:20 pm
Sab Set 12, 2020 12:28 pm
Sab Set 12, 2020 1:37 am
Sex Set 11, 2020 7:08 pm
Sex Set 11, 2020 4:30 pm
Sex Set 11, 2020 4:26 pm
Sex Set 11, 2020 1:59 pm
Sex Set 11, 2020 1:40 pm
Qui Set 10, 2020 8:39 pm
Qui Set 10, 2020 6:26 pm
Qui Set 10, 2020 1:01 pm
Qui Set 10, 2020 2:19 am
Qui Set 10, 2020 2:17 am
Qui Set 10, 2020 2:08 am
Qui Set 10, 2020 1:51 am
Qua Set 09, 2020 10:03 pm
Qua Set 09, 2020 5:43 pm
Qua Set 09, 2020 6:21 am
Ter Set 08, 2020 10:47 pm
Ter Set 08, 2020 8:47 pm
Ter Set 08, 2020 12:59 pm
Ter Set 08, 2020 9:55 am
Seg Set 07, 2020 10:41 pm
Seg Set 07, 2020 9:32 pm
Seg Set 07, 2020 9:11 pm
Seg Set 07, 2020 8:07 pm
Seg Set 07, 2020 7:18 pm
Seg Set 07, 2020 3:06 am
Seg Set 07, 2020 2:52 am
Dom Set 06, 2020 9:29 pm
Dom Set 06, 2020 8:37 pm
Dom Set 06, 2020 7:37 pm
Dom Set 06, 2020 6:13 pm
Dom Set 06, 2020 6:12 pm
Dom Set 06, 2020 6:11 pm
Dom Set 06, 2020 5:33 pm
Dom Set 06, 2020 5:30 pm
Dom Set 06, 2020 4:46 pm
Dom Set 06, 2020 11:42 am
Sab Set 05, 2020 9:45 pm
Giwn
glauco
thales.ulisses
AndryelBlanco
TIKO
LúcioHenrique098
brizaloka
Magnatah
Callyde Jr
glauco
Th2y
Fagner
Th2y
speedluk
Fagner
MarcosSchultz
Gabriel M
mitonoo
Wily
Magnatah
marcio21
TioUV
MarcosSchultz
BatataBugada54321
darkrj
diegopds
Lohmz
JulioWinchester
Magnatah
Magnatah
Magnatah
ProBrStalker
BatataBugada54321
NKKF
NKKF
FelipeSouza11
Magnatah
bruno700mb
darkrj
Magnatah
Ricardito
Magnatah
Magnatah
fantastic137
SamonBR
Callyde Jr
Fagner
Th2y
Shidote
ViniciusTKH
TioUV
MarcosSchultz
MarcosSchultz
MarcosSchultz
mateusschw
MayLeone
KurotamaXIII
Ploleo
RodriGO3477
PacienteZERO
Fagner
BlesseD
zhentox
MarcosSchultz
MarcosSchultz
Fagner
SauloeArthur
ProBrStalker
Callyde Jr
tautologias357
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Callyde Jr
bruno700mb
Callyde Jr
JulioWinchester
FlavinGiroflex
merike11
TioUV
Weslley
GattiMene
Magnatah
MarcosSchultz
TIKO
MarcosSchultz
MarcosSchultz
Fagner
Magnatah
Rangel Oblivion
MarcosSchultz
ProBrStalker
mateusschw
MarcosSchultz
MarcosSchultz
mateusschw
FlavinGiroflex
Th2y

Enemy IA 1x1 movement!?

Ir em baixo

DÚVIDA Enemy IA 1x1 movement!?

Mensagem por speedluk em Qua Maio 06, 2020 2:08 am

Gente voltei a mexer em um projeto antigo que tinha parado porque não encontrei solução em lugar nenhum, só algo parecido com A* ou astar sei lá '-'

uma vez pedi ajuda aqui sobre criar uma movimentação tipo a do game legend of grimrock que o player anda de 1x1 com smooth movement e tudo, ate ai deu tudo certo a parte do player mas o código dele não consigo de forma nenhuma adaptar pra criar uma IA com isso Distressed

queria saber se alguém tem uma ideia de como criar um inimigo que ande 1x1 também e que rotacione como o player(no caso 90°,-90°...)

tentei com um script que encontrei na net modificar e o mais próximo que cheguei o inimigo fica todo louco fora de sincronia -_-

speedluk
Avançado
Avançado

Masculino PONTOS : 1118
REPUTAÇÃO : 21
Idade : 28
Respeito as regras : Enemy IA 1x1 movement!? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Enemy IA 1x1 movement!?

Mensagem por Fagner em Qua Maio 06, 2020 3:02 am

Eu iria de A* com um sistema de Nodes para os pontos, pois facilita bastante quando se tem paredes ou obstáculos. Mas se o A* não for uma opção, tenta fazer com navmesh mesmo, define o destino e calcula o caminho, depois, faz um gameobject vazio(vamos chamá-lo de guia) percorrer esse caminho bem rápido.
No cenário você vai ter um grid de gameobjects vazios a cada 1m, conforme a guia vai se movendo, você calcula qual dos objetos da grid está mais perto e o coloca numa lista(ou ainda melhor, numa hashset) , se ja estiver lá, não faz nada.
Quando a guia chegar no destino, você vai ter uma lista completa de cada ponto que precisa percorrer, respeitando a grid, ela é que você vai usar pra mover o inimigo de 1 em 1 metro.
O resultado vai ser igual ao que você teria usando A* (ironicamente, você está usando A*, navmesh é baseado nele)
Fagner
Fagner
Moderador

Masculino PONTOS : 2297
REPUTAÇÃO : 414
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Enemy IA 1x1 movement!? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Enemy IA 1x1 movement!?

Mensagem por speedluk em Qua Maio 06, 2020 3:14 am

sim sim pensei no navmesh também só que não encontrei uma forma em que ele respeita a velocidade e o movimento de 1 em 1 metro mas no caso terei que bolar uma forma de IA com esse sistema de navmesh que você falou mesmo

o problema é o tempo de decisão para os lados que ele vai, queria que esse tempo fosse aleatório como no script que eu tinha achado só que não deixasse o inimigo todo fora de sincronia Intrigado
de qualquer forma muito obrigado =)

speedluk
Avançado
Avançado

Masculino PONTOS : 1118
REPUTAÇÃO : 21
Idade : 28
Respeito as regras : Enemy IA 1x1 movement!? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Enemy IA 1x1 movement!?

Mensagem por Fagner em Qua Maio 06, 2020 11:05 pm

Já tentou usar Root Motion nas animações? se utilizar isso, pode alterar a velocidade das animações direto no Animator, fazendo ela ser executada com velocidades aleatórias, e o melhor, tudo permanece em sincronia.
Fagner
Fagner
Moderador

Masculino PONTOS : 2297
REPUTAÇÃO : 414
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Enemy IA 1x1 movement!? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Enemy IA 1x1 movement!?

Mensagem por speedluk em Qui Maio 07, 2020 4:40 am

Tentei o root motion tambem mas fica meio bugado acho que pelo random =/
esse é o script que achei na net modifiquei algumas coisas pra tentar melhor resultadi mas muito sem sucesso
vou estudar sobre coroutines, enum entre outras coisas ^^ sei que não é o caminho mas talvez me ajude mais que esse ^^

Codigo:

Código:
using UnityEngine;
using System.Collections;

public class EnemyMovement : MonoBehaviour {

    public static bool CanMoveForward;
    public bool FoundPlayer;



    //Translation:
    float movSpeed = 4.0f;
    Vector3 pos;
    Transform tr ;
    public static bool moving = false;

    //Rotation:
    public static bool rotating = false;
    public float rotSpeed = 360f;
    float rotDegrees = 0f;
    Quaternion rotToAngle ;


    void Start () { 
        pos = transform.position;
        tr = transform;
        CanMoveForward = true;
        FoundPlayer = false;
    }



    // Update is called once per frame
    void Update () {
        int randomValue = Random.Range (1, 100);
        Debug.DrawRay(transform.position, transform.forward, Color.red);

        if (!moving && !rotating && !FoundPlayer) {
            if (randomValue == (1 | 2) && tr.position == pos && CanMoveForward) {
                pos += transform.forward;
                moving=true;

            }
            else if (randomValue == 5 && tr.position == pos) {
                rotDegrees -= 90f;
                rotToAngle = Quaternion.Euler(0, rotDegrees, 0);
                rotating = true;
            }
            else if (randomValue == 6 && tr.position == pos) {
                rotDegrees += 90f;
                rotToAngle = Quaternion.Euler(0, rotDegrees, 0);
                rotating = true;
            }
        } else if (FoundPlayer) {

        }
        
        //Translation:
        if (moving) {
            if (Vector3.Distance(transform.position,pos) <0.05f){
                transform.position = pos;
                moving=false;
                //print ("FINISHED MOVE");
            } else {
                transform.position = Vector3.MoveTowards(transform.position, pos, Time.deltaTime * movSpeed);
            }
        }

        //Rotation:
        if (rotating) {
            if (Quaternion.Angle(transform.rotation,rotToAngle) <10f) {
                transform.rotation = rotToAngle;
                rotating=false;

                //print ("FINISHED TURN");

            } else {
                transform.rotation = Quaternion.RotateTowards(transform.rotation, rotToAngle, rotSpeed * Time.deltaTime);
            }
        }
    }
}



speedluk
Avançado
Avançado

Masculino PONTOS : 1118
REPUTAÇÃO : 21
Idade : 28
Respeito as regras : Enemy IA 1x1 movement!? WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Enemy IA 1x1 movement!?

Mensagem por Fagner em Qui Maio 07, 2020 8:50 pm

Eu montei um exemplo de como é possível transformar um caminho de Navmesh em uma grid de pontos, seguindo o que sugeri anteriormente.

Pra começar, defini um valor alto pro raio do navmesh agent, para que a navmesh gerada fosse bem fina, isso ajuda o calculo de distância ser mais preciso.
Aqui você pode ver como ficou o Navmesh calculado (azul) e os pontos que coloquei no cenário para montar a grid(verde).


Enemy IA 1x1 movement!? 9LjOQMx

Outra vista
Enemy IA 1x1 movement!? ALPSP8s

Feito isso, criei um navmeshpath e populei com um caminho gerado entre o Inimigo(Vermelho), e o destino (Azul).
Com o caminho gerado, foi só questão de usar um for pra percorrer os corners no caminho e pegar o ponto mais próximo dele.
Os pontos mais próximos são armazenados numa Hashset pra evitar que existam duplicatas. Depois é só usar esse Hashset como o caminho do seu inimigo, que ele irá respeitar o movimento em 1 por 1m. Veja como fica o caminho que o inimigo enxerga.
Enemy IA 1x1 movement!? ZmPiZWp
Acredito que isso sirva de guia pra você adaptar na IA do seu jogo. O projeto pode ser baixado logo abaixo:
ProjetoGridPathfind
Fagner
Fagner
Moderador

Masculino PONTOS : 2297
REPUTAÇÃO : 414
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : Enemy IA 1x1 movement!? Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Enemy IA 1x1 movement!?

Mensagem por speedluk em Sex Maio 08, 2020 3:06 am

Shocked Puts Fagner muito obrigado amigo, especificamente essa parte da movimentação do inimigo é o que me fez a muito quase abandonar esse projeto, baixando aqui e já vou pro laboratório fazer os testes ^^

speedluk
Avançado
Avançado

Masculino PONTOS : 1118
REPUTAÇÃO : 21
Idade : 28
Respeito as regras : Enemy IA 1x1 movement!? WvDYdlf

Voltar ao Topo Ir em baixo

Voltar ao Topo


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