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 Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Dúvida sobre terrenos em 3D
[Duvida] Problema em relação ao transform.rotate
(Dúvida) Wheel Joint 2D Rodas saindo do pivo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[Duvida]Relacionada a RayCast
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Error No Console
COMO POSSO COLOCAR A CHUVA NO CENARIO TODO E FAZER COLIDIR
Ponto na tela
OBJETO INSTANCIANDO EM POSIÇÃO ERRADA
Transformar velocidade em forca
Sombra preta
Alguma alternativa para os JOINT do unity
Sistema de Sensibilidade Do Mouse X e Y!
Unity Congelando
Dúvida sobre jogo android...
For lista
PROBLEMA TEXTURA E TELA GAME
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Receber tiro(animação)
Limite de tela
O que vocês acham de um jogo com formato de capitulos?
Animacao da Colt
Problema com NetworkServer.spawn
[TUTORIAL] FAZENDO UM SITE PROFISSIONAL COMPLETO PARA SEU JOGO GRATIS
Pontos luminosos em objeto 3D
Procuro modelador para projeto similar à My summer Car
[TUTORIAL] Avião Script
Duvida Iluminação
PROCURO ANIMADOR + PROGRAMADOR
[ATUALIZAÇÃO] Projeto - Girl Blade
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
Avaliem (Meu cenário)!!
Ajuda com Script
Verificar cena anterior?
Verificar se game object está habilitado ou desabilitado
Colisão no terreno
[Duvida] - Como criar um botao de sair com mensage?
[RESOLVIDO] DUVIDA COM SCRIPT DE DANO POR TRIGER ENTER
QUER UMA PEQUENA GAMEPLAY DO MEU GAME?
[RESOLVIDO] Instanciar em Posição "Y" Especifica
Shop UI
[Duvida] Como carregar cenas aleatoriamente?
save game
Alguns modelos low poly
Fui mexer denovo na minha lixeira do mediafire e olha no que deu..
Faculdade de jogos digitais vale a pena?
GAMEPLAY DO JOGO 171 ESTILO GTA (não sou eu que estou fazendo)
Como Criar uma Loja Virtual e WebSite para Seu Jogo Gratis
[Resolvido]Tocar Audio ao Colidir com Tag Player
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO BETA)
Survive - atualização do jogo
Formação de Equipe Battle of Worlds
Pegar coisas do chao
Site Profissional Completo Gratis para Jogos
Como eu faço um "Sprint" para minha nave:
[DÚVIDA] APERTAR 2 VAI PRA PRÓXIMA MÚSICA, APERTAR 1 VOLTA A MÚSICA ANTERIOR
Site para Baixar Character em 3D
Cut Scene com video player
Só o networkIndetity é o suficiente para o que eu quero fazer? Como ele funciona?
O que acham dos meus modelos? (Prédios)
Como faz para colocar som nos passos do personagem?
[Pack de Modelos 3d] Kit Pau Pra Toda Obra [Low Poly]
Canvas UI
[Dúvida] tiro
[DUVIDA] Shader
[RESOLVIDO] Mais scripts ou mais linhas de codigo????
Photon Duvida
(RESOLVIDO)Ajuda na animação do Mixamo
[Duvida] Como dar play e pausar uma animacao??
Como criar um timer?
Sistema multiplayer por Salas
Vender ideia de jogo para desenvolvedora
FORMAÇÃO DE EQUIPE PARA JOGO MULTIPLAYER DE SOBREVIVENCIA
eu preciso de um script de contagem para o me jogo alguem pode me ajudar?
[Resolvido]Como pode ser feito um HUD?
Script sem erro, mas não funciona
Google VR
Ajuda sobre melhorar a Fricção no Wheel Collider
sombrancelha do mixamo
[RESOLVIDO]Oque significa "?"
[Duvida] NavMeshAgente se movendo muito rapido!
Projeto B
Script + Direção
Alguem quer ajudar em meu jogo???
[Resolvido] Como chamar uma void ou função, através de um botão.
[RESOLVIDO] Como subir escadas
[RESOLVIDO] Sistema de recarregamento Precário.
[Duvida] Com NavMesh;
[Duvida] Com LookAt
[Resolvido]Objeto não está sendo instanciado
[DUVIDA] - Pontuação e fim de jogo
Network Manager opção sumiu
[Resolvido] Colisores nao colidem!!
Como colocar dano no inimigo? e vida no player?
QUEM AI TA DISPOSTO A DESENVOLVER UM GAME EM EQUIPE??
[Resolvido]COMO CONSULTAR O PAINEL DE PREFERENÇIAS DA UNITY?
Alguém poderia me dizer o que estou fazendo de errado nesses scripts? (Vuforia SDK).
[RESOLVIDO] Como movimentar um objeto de um lado para o outro
Hoje à(s) 13:54
Hoje à(s) 13:53
Hoje à(s) 13:45
Hoje à(s) 13:42
Hoje à(s) 13:40
Hoje à(s) 13:39
Hoje à(s) 13:37
Hoje à(s) 13:33
Hoje à(s) 13:26
Hoje à(s) 13:24
Hoje à(s) 13:24
Hoje à(s) 13:21
Hoje à(s) 13:21
Hoje à(s) 13:18
Hoje à(s) 13:14
Hoje à(s) 13:13
Hoje à(s) 13:01
Hoje à(s) 12:57
Hoje à(s) 12:55
Hoje à(s) 12:53
Hoje à(s) 12:50
Hoje à(s) 12:20
Hoje à(s) 12:08
Hoje à(s) 12:04
Hoje à(s) 11:06
Hoje à(s) 7:45
Hoje à(s) 7:41
Hoje à(s) 7:40
Hoje à(s) 7:39
Hoje à(s) 7:38
Hoje à(s) 7:26
Ontem à(s) 16:21
Ontem à(s) 14:54
Ontem à(s) 13:56
Ontem à(s) 9:22
Ontem à(s) 8:59
Sab 27 Maio 2017 - 23:46
Sab 27 Maio 2017 - 20:50
Sab 27 Maio 2017 - 18:49
Sab 27 Maio 2017 - 18:45
Sab 27 Maio 2017 - 17:54
Sab 27 Maio 2017 - 17:39
Sab 27 Maio 2017 - 17:28
Sab 27 Maio 2017 - 17:08
Sab 27 Maio 2017 - 16:52
Sab 27 Maio 2017 - 16:46
Sab 27 Maio 2017 - 15:05
Sab 27 Maio 2017 - 14:50
Sab 27 Maio 2017 - 13:59
Sab 27 Maio 2017 - 13:45
Sab 27 Maio 2017 - 10:38
Sab 27 Maio 2017 - 1:59
Sab 27 Maio 2017 - 1:29
Sab 27 Maio 2017 - 0:37
Sex 26 Maio 2017 - 23:57
Sex 26 Maio 2017 - 23:13
Sex 26 Maio 2017 - 20:56
Sex 26 Maio 2017 - 20:24
Sex 26 Maio 2017 - 19:53
Sex 26 Maio 2017 - 19:30
Sex 26 Maio 2017 - 17:27
Sex 26 Maio 2017 - 17:17
Sex 26 Maio 2017 - 17:15
Sex 26 Maio 2017 - 16:28
Sex 26 Maio 2017 - 16:13
Sex 26 Maio 2017 - 14:42
Sex 26 Maio 2017 - 13:57
Sex 26 Maio 2017 - 13:50
Sex 26 Maio 2017 - 11:59
Sex 26 Maio 2017 - 11:49
Sex 26 Maio 2017 - 11:38
Sex 26 Maio 2017 - 9:26
Sex 26 Maio 2017 - 2:49
Sex 26 Maio 2017 - 2:35
Sex 26 Maio 2017 - 0:58
Qui 25 Maio 2017 - 22:49
Qui 25 Maio 2017 - 22:39
Qui 25 Maio 2017 - 22:03
Qui 25 Maio 2017 - 20:55
Qui 25 Maio 2017 - 20:51
Qui 25 Maio 2017 - 20:46
Qui 25 Maio 2017 - 17:54
Qui 25 Maio 2017 - 17:17
Qui 25 Maio 2017 - 15:08
Qui 25 Maio 2017 - 13:08
Qui 25 Maio 2017 - 11:51
Qui 25 Maio 2017 - 10:49
Qui 25 Maio 2017 - 9:39
Qui 25 Maio 2017 - 9:00
Qua 24 Maio 2017 - 23:31
Qua 24 Maio 2017 - 22:13
Qua 24 Maio 2017 - 21:57
Qua 24 Maio 2017 - 21:38
Qua 24 Maio 2017 - 20:23
Qua 24 Maio 2017 - 20:00
Qua 24 Maio 2017 - 17:51
Qua 24 Maio 2017 - 15:15
Qua 24 Maio 2017 - 14:44
Qua 24 Maio 2017 - 14:41
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
PauloFR
MarcosSchultz
MarcosSchultz
glauco
MarcosSchultz
bruxamissi
MarcosSchultz
MarcosSchultz
AndyShow
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
Ramon Davidson
als260502
Mic4el
dstaroski
dstaroski
dstaroski
dstaroski
dstaroski
dstaroski
Mic4el
Zecandy
thiagograssi
weslleyFx
zZAndersonZz
PauloFR
dstaroski
Unidade3d5
Gabriel César O
thiagograssi
bruxamissi
PauloFR
Callyde Jr
Mic4el
Mic4el
julioou
julioou
fecirineu
bruxamissi
glauco
thiagograssi
Dom3000
Mikeofcoji
fecirineu
rafaelllsd
PauloFR
AndyShow
hrr23
thiagograssi
DuViDoSo34
Gabriel César O
DuViDoSo34
Weverton Borges da Silva
aleksander700
Xurupitinha
dazentt55
LuizFixa3D
Zecandy
PauloFR
Callyde Jr
weslleyFx
JoelMJunior
hen000
rafaelllsd
thiagograssi
wender
Henrique Ramires
dazentt55
916anderson
Matrirxp
DuViDoSo34
julioou
Madness
felipefell
DuViDoSo34
DuViDoSo34
DuViDoSo34
DuViDoSo34
DuViDoSo34
thiagograssi
PauloFR
thiagograssi
Junim
Manawydan
Junim
marcos4503
WolfTheZelda
Games Indie

IA para jogo 2d

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido IA para jogo 2d

Mensagem por joaogabrielfer em Qua 7 Set 2016 - 22:48

Bom, estava procurando uma IA para o meu jogo, que é top down, mas não encontrei nada, apenas para jogos plataforma. Pelo que vi, para fazer uma ia simples para jogos 3d se usa o pathfinding, mas não encontrei nada sobre pathfinding 2d. Alguem sabe como fazer uma ia para jogos top down 2d?
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por MarcosSchultz em Qui 8 Set 2016 - 23:12

Cara, é que existe um problema bem grande neste sentido... a NavMesh da Unity é feita apenas para terrenos em 3D, mas não tem nada para 2D, sendo necessário que você crie o seu próprio pathfinding.

Mas este bixo é um algoritmo extremamente complexo e chato de se fazer, então, você pode procurar algumas fugas, como por exemplo, AIPoints... dê uma olhada:

http://www.schultzgames.com/t101-tutorial-inteligencia-artificial-inimigo-e-aipoints
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8754
REPUTAÇÃO : 1350
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 8 Set 2016 - 23:49

Hm, pelo que parece, usando ai points o inimigo não consegue seguir o player corretamente, fica batendo nas paredes, problema.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por MarcosSchultz em Qui 8 Set 2016 - 23:52

Para resolver isto, só utilizando NavMesh em 3D e usar uma camera ortográfica para ver o jogo de cima, ou fazer o próprio pathfinding
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8754
REPUTAÇÃO : 1350
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Sex 9 Set 2016 - 0:51

Sim, vou fazer o teste, so mais uma coisa, tem coisa usar o NavMesh num objeto 3d sem o mesh renderer? Por que ai eu colocava um quad sem o mesh renderer na fase e nos sprites um collider 3d.

EDIT : Fui testar o navmesh mas a unity não esta fazendo o bake. Eu seleciono todos os objetos(são todos cubos, apenas testando), depois vou em navigation e clico em bake mas nada acontece.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por MarcosSchultz em Dom 11 Set 2016 - 23:07

joaogabrielfer escreveu:Sim, vou fazer o teste, so mais uma coisa, tem coisa usar o NavMesh num objeto 3d sem o mesh renderer? Por que ai eu colocava um quad sem o mesh renderer na fase e nos sprites um collider 3d.

EDIT : Fui testar o navmesh mas a unity não esta fazendo o bake. Eu seleciono todos os objetos(são todos cubos, apenas testando), depois vou em navigation e clico em bake mas nada acontece.

quando você criou o seu projeto, você criou para a plataforma 2D? talvez possa ser isto. tente em um projeto 3D
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8754
REPUTAÇÃO : 1350
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Seg 12 Set 2016 - 9:59

Existem algumas soluções para Ai 2D e talz, um deles é o A*.
Voce pode usar a versao Free dele e tentar criar uma Ai, pq ela usa Waypoints para encontrar o melhor caminho:
http://arongranberg.com/astar/download
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qua 14 Set 2016 - 17:25

Como faço então para que simplesmente o inimigo siga o player num campo aberto? Acho que assim da pra fazer não é?
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 15 Set 2016 - 17:31

Up.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Qui 15 Set 2016 - 17:43

se o movimento for apenas pra cima/baixo e esquerda/direita voce pode fazer verificacoes e move-lo com velocity do rigidbody2D.
Se posicão do jogador for maior que do inimigo(esquerda/direita) entao inimigo vai pra direita, caso contrario vai pra esquerda
E o mesmo para cima/baixo, e com base nessas verificacoes voce faz o vector de movimento do velocity.
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 15 Set 2016 - 18:01

Então, eu entendi, só não sei transcrever isso em forma de script.


 




E o jogo não é exatamente um top down,
ele é assim, os personagens são desenhados como se fossem de plataforma 2d.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Qui 15 Set 2016 - 18:55

Um exemplo simples do que disse:

Script do inimigo:
Código:
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Rigidbody2D))]
public class Enemy2D : MonoBehaviour {
   private Rigidbody2D rb;
   public float speed = 2f;
   public Transform player;

   void Awake(){
      rb = GetComponent<Rigidbody2D> ();
   }

   void Update(){
      float right;

      if (player.position.x > transform.position.x)
         right = 1f;
      else
         right = -1;

      rb.velocity = new Vector2 (right,0)*speed*Time.deltaTime;

   }
}
Mas esse é um exemplo bem basico, o A star(o link que te passei) ja tem todo um sistema de pathfind feito, voce so precisa configurar a cena e adicionar o script de Seek para seu inimigo e talz.
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 15 Set 2016 - 20:31

O script não funcionou, o inimigo se afasta do player caso o player se mova.
Cara o que eu queria era que simplesmente o inimigo seguisse o player normalmente pelo campo, so que se o player se posicionar a sua esquerda ele rotaciona para esquerda, se o player for para a direita, o inimigo rotaciona para a direita.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Qui 15 Set 2016 - 20:42

Nesse exemplo que te passei o inimigo so vai seguir o player em x, e voce tem que deixar a gravidade do Rigidbody2D do inimigo em 0 senao ele vai cair. Testei aki e funfo. Vc linkou o player na variavel player?
Com base no valor de right voce pode usar um Flip do spriteRenderer do inimigo pra fazer ele virar pro lado certo, ou inverter a escala em x do mesmo.
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 15 Set 2016 - 20:50

No caso o que eu queria era que o inimigo seguisse o player em x e y. Vou te mostrar um exemplo de um jogo.


e uma imagem



No caso do meu jogo, é igual ao jogo do video, o player e o inimigo se movem livremente pelo cenario.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Qui 15 Set 2016 - 20:52

Então para um pathfind 2D adequado eu usaria o A star, se voce quiser tem um video de um gringo mostrando como usar o A star, pq faze um pathfind bem feito do zero é meio xatinho:
https://www.youtube.com/watch?v=4T7KHysRw84
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Qui 15 Set 2016 - 21:25

Se for fazer algo muito simples poderia fazer isso, igual o codigo antigo so que agora ele sobe e desce e tambem vira pros lados, certifique de colocar seu inimigo olhado pra direita:
Código:
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Rigidbody2D))]
public class Enemy2D : MonoBehaviour {
   private Rigidbody2D rb;
   public float speed = 2f;
   public Transform player;
   bool isFaceRight = true;
   SpriteRenderer sr;

   void Awake(){
      rb = GetComponent<Rigidbody2D> ();
      sr = GetComponent<SpriteRenderer> ();
   }

   void Update(){
      float right;
      float up;

      if (player.position.x > transform.position.x)
         right = 1f;
      else
         right = -1;
      if (player.position.y > transform.position.y)
         up = 1f;
      else
         up = -1;

      rb.velocity = new Vector2 (right,up)*speed*Time.deltaTime;

      if(isFaceRight && right == -1f || !isFaceRight && right == 1f)
         Flip ();


   }

   void Flip(){
      sr.flipX = !sr.flipX;
      isFaceRight = !isFaceRight;
   }
}
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 15 Set 2016 - 21:46

Isso, é bem isso, o unico problema agora é que se o inimigo ficar exatamente em cima ou em baixo do player ele buga e fica esquerda,direita,esquerda,direita...
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Qui 15 Set 2016 - 22:28

voce pode usar um Vector2.Distance para checar a distancia do inimigo e do player e pode fazer com que o inimigo pare de seguir e ataque se estiver muito perto.
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qui 15 Set 2016 - 22:56

Não, o inimigo buga quando ele fica na alinhado em cima ou em baixo com o player, ai ele não sabe se rotaciona pra esquerda ou direita.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por George Lucas Vieira em Sex 16 Set 2016 - 18:05

Mude esta linha do código:
Código:
if (player.position.x > transform.position.x)
   right = 1f;
else
   right = -1;

if (player.position.y > transform.position.y)
   up = 1f;
else
   up = -1;



Para esta:
Código:
if (player.position.x >= transform.position.x)
   right = 1f;
else
   right = -1;

if (player.position.y >= transform.position.y)
   up = 1f;
else
   up = -1;
avatar
George Lucas Vieira
Moderador

Masculino PONTOS : 674
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Sex 16 Set 2016 - 23:43

Problema persiste.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por MarcosSchultz em Sab 17 Set 2016 - 0:59

Por que não usa a sugestão do Manawydan?


Usa um Vector2.Distance para fazer o inimigo parar de seguir quando chegar muito perto.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8754
REPUTAÇÃO : 1350
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Sab 17 Set 2016 - 3:59

Acho que vocês não entenderam, o problema não é quando o inimigo encosta no player, e sim quando ele fica alinhado com o player, fica exatamente na mesma linha, seja em cima ou embaixo, ai o inimigo não sabe se vira pra esquerda ou pra direita, ai ele fica virando pros dois lados ao mesmo tempo.

avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Dom 18 Set 2016 - 10:53

Talvez se colocar um collider gigante em um dos lados do player, direito por exemplo, ai o inimigo so vai rotacionar se ele entrar no collider. Ai deixa o collider um pouco mais para o lado. Acho que da para tentar isso ja que não apareceram soluções para o meu problema acima.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por George Lucas Vieira em Dom 18 Set 2016 - 11:47

Poderia colocar o script do seu player completo aqui man? Preciso analisar melhor isso ai
avatar
George Lucas Vieira
Moderador

Masculino PONTOS : 674
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Dom 18 Set 2016 - 12:15

Coloquei um box collider 2d com o Is Trigger marcado ao lado do player, agora a parte do script eu não sei como fazer.

Coloquei o collider com a tag "Respawn" e fiz isso dai, acho que esta certo, mas como termino?
Código:
void OnTriggerEnter2D (Collider2D colisor)
 {
 if (colisor.gameObject.tag == "Respawn") {

 }


 }
Quais linhas do script do Manawydan eu preciso colocar dentro do if?
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por George Lucas Vieira em Dom 18 Set 2016 - 13:33

Cara, por tópico é bem chato responder isso. Faz o seguinte: upa teu projeto pra um site e me passa o link (pode ser por privado) que vou tentar resolver seu problema diretamente no game. Depois lhe devolvo o projeto já corrigido e com explicações em .txt
avatar
George Lucas Vieira
Moderador

Masculino PONTOS : 674
REPUTAÇÃO : 125
Idade : 14
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por Manawydan em Dom 18 Set 2016 - 13:48

Então cara se ainda continuar com a ideia que eu disse(sobre distancias) voce pode verificar se ele esta muito perto em X para que ele para de ficar indo pra esquerda,direita.
Código:
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Rigidbody2D))]
public class Enemy2D : MonoBehaviour {
   private Rigidbody2D rb;
   public float speed = 2f;
   public Transform player;
   bool isFaceRight = true;
   SpriteRenderer sr;
   public float minDistanceXToTurn = 0.5f;
   public float minDistanceYToTurn = 0.5f;
   public float distanceToStop = 1.5f;

   void Awake(){
      rb = GetComponent<Rigidbody2D> ();
      sr = GetComponent<SpriteRenderer> ();
   }

   void Update(){
      float right = 0;
      float up = 0;
      float distanceX = Vector2.Distance (new Vector2(player.transform.position.x,0),new Vector2(transform.position.x,0));
      float distanceY = Vector2.Distance (new Vector2(0,player.transform.position.y),new Vector2(0,transform.position.y));
      float distanceXY = distanceX + distanceY;

      if (distanceXY <= distanceToStop) {
         // FAZER ALGO QUANDO ESTIVER PERTO
         rb.velocity = Vector2.zero;
      }
      else
      {

         if (distanceX > minDistanceXToTurn) {
            if (player.position.x > transform.position.x)
               right = 1f;
            else
               right = -1;
         
            if (isFaceRight && right == -1f || !isFaceRight && right == 1f)
               Flip ();
         }

         if (distanceY > minDistanceYToTurn) {
            if (player.position.y > transform.position.y)
               up = 1f;
            else
               up = -1;
         }
         
         rb.velocity = new Vector2 (right, up) * speed * Time.deltaTime;
      }
   }

   void Flip(){
      sr.flipX = !sr.flipX;
      isFaceRight = !isFaceRight;
   }
}
avatar
Manawydan
Moderador

PONTOS : 835
REPUTAÇÃO : 152
Idade : 20
Respeito as regras :

Ver perfil do usuário https://wad.ojooo.com/register.php?ref=ManawydanBr

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Dom 18 Set 2016 - 14:59

Aaaaah agora entendi o que você falou sobre distancia, eu tinha entendido algo bem diferente, é isso mesmo, obrigado.  Valeu por responderem.
avatar
joaogabrielfer
Membro
Membro

Masculino PONTOS : 364
REPUTAÇÃO : 1
Idade : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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