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:
Sistema de build place
[ERRO] Unity Bug Reporter
[2 interiores Modelo] + Download Grátis --Para uso comercial!
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
Pode coolocar os jogos que aprendeu a fazer no youtube a venda?
Procurando animador
sistema de combos e danos
//Script com tuto//
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
Cor
Modelos 3D
ROLLER BALL DO STANDARD ASSETS
[____TÓPICO LIVRE____] FALE O QUE QUISER
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
[Resolvido]Trocar cena ao eliminar objetos
Menu Right Click igual Tibia
Sistema de Skins estilo CsGo ou Critical Ops...
[RESOLVIDO] Carro flutuando
[Teste]Laqua - Jogo de slá oque
TELA ROSA NO GAME
Como usar o Multi Touch para movimentar um personagem ?
[DUVIDA] Script Não Funciona
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
[Assets/Scripts] Repositório no Github com sistemas free.
// RAIN no unity//
[DÚVIDA]Texto Não Aparece Unity 5
Texturização para Game em android
Como fazer aparecer notificações no celular android?
Limite e Volta no transform translate
objeto descer ao apertar um botão
[RESOLVIDO]Erro com script OnTriggerEnter e BoxCollider
Duvida com script
Problema com Animation
Ajudem com efeito "gelatina" em modelos.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[_____CRONOGRAMA DO CANAL_____]
Testem meu Jogo de Aventura
Inteligência Artificial
Como fazer 1 Portal
[Assets] modelos 3d
Da para criar com o unity?
Existe algum tipo de FPSController para android?
[TUTORIAL] Unity 5 - Porta automática
Problema com o MonoDevelop
Como melhorar desempenho de animações
Cena Loading para carregar proximo Level
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Jogo da Memória para crianças. (Android)
(Dúvida) Mirar em terceira pessoa.
Eu produzi esse jogo na unity e gostaria que vocês testassem e avaliassem
I.A Que ataca qualquer coisa inclusive Players..
[DUVIDA]Pergunta Aleatória
Teclado igual o jogo do milhão
Modelos 3d para uso gratuito ou comercial
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
///Duvida///
Unity 5 lag com muitas arvores e grass
Problema com "Non-convex MeshCollider"
[____REGRAS DO FÓRUM____]
modelo 3d rotaçao estranha
Direitos autorais de modelos 3D?
ZombieAI
Iluminação ou Shader Bugado ?!
como criar uma barra de vida?
[Asset]Terreno .dae
Problema com GetComponent
[RESOLVIDO] Como ativar e desativar um objeto.
COMO ATIVAR ANIMACAO EMPURRAR OBJETO?
(DUVIDA) Empurrar caixas estilo Resident Evil
Erro de falsa memoria
preciso usar o Lerp fora do Update
[ AJUDA ]Probemas Com seleção de Carros.
Terminei meu game de terror...joguem...
[RESOLVIDO] COMO CRIAR UM ASSET ?
[RESOLVIDO] Como posto o link do game q fiz para o pessoal testar e avaliar?
Criação de tags para objetos
Hoje à(s) 12:27 am
Hoje à(s) 12:26 am
Ontem à(s) 11:38 pm
Ontem à(s) 10:46 pm
Ontem à(s) 10:38 pm
Ontem à(s) 10:12 pm
Ontem à(s) 10:10 pm
Ontem à(s) 10:05 pm
Ontem à(s) 9:31 pm
Ontem à(s) 9:31 pm
Ontem à(s) 8:40 pm
Ontem à(s) 8:39 pm
Ontem à(s) 7:28 pm
Ontem à(s) 7:26 pm
Ontem à(s) 7:17 pm
Ontem à(s) 6:12 pm
Ontem à(s) 3:54 pm
Ontem à(s) 9:44 am
Ontem à(s) 8:08 am
Ontem à(s) 2:49 am
Qui Fev 23, 2017 9:09 pm
Qui Fev 23, 2017 7:21 pm
Qui Fev 23, 2017 2:50 pm
Qui Fev 23, 2017 12:18 pm
Qui Fev 23, 2017 12:06 pm
Qua Fev 22, 2017 11:32 pm
Qua Fev 22, 2017 8:27 pm
Qua Fev 22, 2017 8:19 pm
Qua Fev 22, 2017 6:26 pm
Qua Fev 22, 2017 5:53 pm
Qua Fev 22, 2017 3:15 pm
Qua Fev 22, 2017 2:20 pm
Qua Fev 22, 2017 1:58 pm
Qua Fev 22, 2017 11:52 am
Qua Fev 22, 2017 9:18 am
Qua Fev 22, 2017 9:07 am
Qua Fev 22, 2017 12:36 am
Ter Fev 21, 2017 10:18 pm
Ter Fev 21, 2017 9:15 pm
Ter Fev 21, 2017 8:45 pm
Ter Fev 21, 2017 8:21 pm
Ter Fev 21, 2017 7:20 pm
Ter Fev 21, 2017 4:40 pm
Ter Fev 21, 2017 3:26 pm
Ter Fev 21, 2017 1:53 pm
Ter Fev 21, 2017 1:18 pm
Ter Fev 21, 2017 11:42 am
Ter Fev 21, 2017 11:25 am
Seg Fev 20, 2017 10:43 pm
Seg Fev 20, 2017 10:00 pm
Seg Fev 20, 2017 9:04 pm
Seg Fev 20, 2017 9:02 pm
Seg Fev 20, 2017 9:00 pm
Seg Fev 20, 2017 8:58 pm
Seg Fev 20, 2017 8:56 pm
Seg Fev 20, 2017 8:49 pm
Seg Fev 20, 2017 8:46 pm
Seg Fev 20, 2017 8:44 pm
Seg Fev 20, 2017 8:42 pm
Seg Fev 20, 2017 8:40 pm
Seg Fev 20, 2017 8:36 pm
Seg Fev 20, 2017 8:28 pm
Seg Fev 20, 2017 8:25 pm
Seg Fev 20, 2017 8:23 pm
Seg Fev 20, 2017 8:19 pm
Seg Fev 20, 2017 8:14 pm
Seg Fev 20, 2017 8:12 pm
Seg Fev 20, 2017 7:37 pm
Seg Fev 20, 2017 3:35 pm
Seg Fev 20, 2017 3:19 pm
Seg Fev 20, 2017 8:54 am
Seg Fev 20, 2017 12:10 am
Dom Fev 19, 2017 10:55 pm
Dom Fev 19, 2017 9:18 pm
Dom Fev 19, 2017 9:02 pm
Dom Fev 19, 2017 8:31 pm
Dom Fev 19, 2017 6:37 pm
Dom Fev 19, 2017 6:32 pm
Dom Fev 19, 2017 3:46 pm
Dom Fev 19, 2017 3:33 pm
Dom Fev 19, 2017 10:43 am
Sab Fev 18, 2017 11:53 pm
Sab Fev 18, 2017 9:17 pm
Sab Fev 18, 2017 8:34 pm
Sab Fev 18, 2017 8:13 pm
Sab Fev 18, 2017 6:58 pm
Sab Fev 18, 2017 5:32 pm
Sab Fev 18, 2017 4:20 pm
Sex Fev 17, 2017 9:27 pm
Sex Fev 17, 2017 7:18 pm
Sex Fev 17, 2017 9:54 am
Qui Fev 16, 2017 6:40 pm
Qui Fev 16, 2017 4:59 pm
Qui Fev 16, 2017 1:14 pm
Qui Fev 16, 2017 11:32 am
Qua Fev 15, 2017 11:24 pm
Qua Fev 15, 2017 10:10 pm
Qua Fev 15, 2017 8:12 pm
Qua Fev 15, 2017 3:08 pm
Luiz Mauro TCC
Rafael Kuriki
MateusWTP
PauloFR
zBanidor
AndyShow
AndyShow
AndyShow
joabr
richerd
Junim
lucasfera15
lucasfera15
PauloFR
PauloFR
AndyShow
weslleyFx
AndyShow
dstaroski
nobruzada
BatataName
GabrielRaaposo
MarcosSchultz
dimmuo
Zecandy
Blue Ark
DoctorGame15
PauloFR
thiagograssi
thiagograssi
PauloFR
Junim
anizioNoob
lucasfera15
Fábiow775
tom ramber
MateusWTP
zBanidor
tom ramber
PauloFR
Willian Wii
Willian Wii
silva75
zZAndersonZz
sabbath
Marc7
thiagograssi
rafaelllsd
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow
Pulitano
artplayer
niao
vegasbr
Manawydan
rafaelllsd
joabr
Blue Ark
Zecandy
AndyShow
regisbaldo
MarcosSchultz
joabr
joabr
tom ramber
lordstrik
Callyde Jr
PauloFR
cron
BananaSmith
LukiAli
Zecandy
LukiAli
erick.q.faria
dstaroski
hackernew404
LuizFixa3D
John Rambo
Marc7

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 Set 07, 2016 10:48 pm

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?

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 08, 2016 11:12 pm

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

MarcosSchultz
Administrador

Masculino PONTOS : 7852
REPUTAÇÃO : 1072
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 Set 08, 2016 11:49 pm

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

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 08, 2016 11:52 pm

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

MarcosSchultz
Administrador

Masculino PONTOS : 7852
REPUTAÇÃO : 1072
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 Set 09, 2016 12:51 am

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.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 11, 2016 11:07 pm

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

MarcosSchultz
Administrador

Masculino PONTOS : 7852
REPUTAÇÃO : 1072
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 Set 12, 2016 9:59 am

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

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Resolvido Re: IA para jogo 2d

Mensagem por joaogabrielfer em Qua Set 14, 2016 5:25 pm

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

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 15, 2016 5:31 pm

Up.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 15, 2016 5:43 pm

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.

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 15, 2016 6:01 pm

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.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 15, 2016 6:55 pm

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.

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 15, 2016 8:31 pm

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.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 15, 2016 8:42 pm

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.

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 15, 2016 8:50 pm

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.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 15, 2016 8:52 pm

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

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 15, 2016 9:25 pm

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;
   }
}

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 15, 2016 9:46 pm

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...

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 15, 2016 10:28 pm

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.

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 15, 2016 10:56 pm

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.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 16, 2016 6:05 pm

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;

George Lucas Vieira
Moderador

Masculino PONTOS : 573
REPUTAÇÃO : 119
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 Set 16, 2016 11:43 pm

Problema persiste.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 17, 2016 12:59 am

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.

MarcosSchultz
Administrador

Masculino PONTOS : 7852
REPUTAÇÃO : 1072
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 Set 17, 2016 3:59 am

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.


joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 18, 2016 10:53 am

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.

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 18, 2016 11:47 am

Poderia colocar o script do seu player completo aqui man? Preciso analisar melhor isso ai

George Lucas Vieira
Moderador

Masculino PONTOS : 573
REPUTAÇÃO : 119
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 Set 18, 2016 12:15 pm

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?

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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 Set 18, 2016 1:33 pm

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

George Lucas Vieira
Moderador

Masculino PONTOS : 573
REPUTAÇÃO : 119
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 Set 18, 2016 1:48 pm

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;
   }
}

Manawydan
Moderador

PONTOS : 647
REPUTAÇÃO : 114
Idade : 20
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 Set 18, 2016 2:59 pm

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

joaogabrielfer
Membro
Membro

Masculino PONTOS : 271
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