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:
[Script] Sistema de headshot estilo sniper elite [BÁSICO]
Como otimizar meu game para android?
Fazer objeto preview andar de gridsize em gridsize
IA zumbie veloz de mais
portais ajuda
meu jogo feito na unity
Rotaçao de um objeto e paralizaçao de seu "filho" na hierarquia(Unity 2D)
[RESOLVIDO] INSTANCIAR PARTICULAS
Como fazer o canvas se ajusta com o tamanho da tela?
Problema no checkpoint
Destruir objeto depois da animação
Fazer o player abrir caixas
Sistema de marcha de carro
(Duvida) Camera Seguir Player...
[Modelo 3D]Unity Interior 3D Estilo De Terror + Download Grátis
[____TÓPICO LIVRE____] FALE O QUE QUISER
[TUTORIAL] Como programar um VOLANTE para veículos
[DUVIDA] "encostar" em um GameObject e Tomar Dano
Foice gigante
TOP SECRET - Programador iniciante com experiencia em 2D
Dúvida sobre multiplayer!
PARTICULAS PLAY/STOP
ABRIR E FECHAR PORTA!
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Criação de uma mensagem notificação em objeto 3d no unity
Fazer a camera seguir o personagem porem quando ela chegar na parede ela pare de se movimenta
Tocar som ao andar.
Verificar se é a primeira vez que joga
COMO POSSO FAZER O INIMIGO MORRER COM TIRO?
Unity Microfone
OBJETO GIRAR QUANDO ARRASTAR O MOUSE
Instanciar objetos aonde mira
disolver/ desintegrar um objeto
BARRINHA PARA REBAIXAR O CARRO!
Chamar Metodo
Gerador de códigos
Duvida sobre patrulha aleatória
[TUTORIAL] Ligar e Desligar Lanterna
[TUTORIAL] ARMA NO UNITY 3D
SOM DO TIRO
Como usar uma animação de uma arma animada na Unity...
[Tutorial] Porta ativada por alavanca
MIRA PARA JOGO DE FPS ESTILO CSGO
Game Resistência
Parede ocas
Modificar uma barrinha!
[Quase Pronto] Survival Block. Testem e mandem os bugs pra mim.
[ME AJUDA] O player não se movimenta...
SIRENE ESTILO POLÍCIA MILITAR
Movimentaçao player
Cena Loading para carregar proximo Level
SITE MODELOS 3D PARA USO COMERCIAL
Home Simulator 2017 (Estilo The Sims em 1ª Pessoa) (Download Grátis)
MUDAR FLOAT NO FIM DE UMA ANIMAÇÃO
RagDoll + Download Free -- feito por um gringo
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
[AJUDA] Cronometro
[PEDIDO] Designers ou Entendedores (Capa,Menu e ToolTip) 3 Imagens
[RESOLVIDO] Publicando Apk Parte 2
[TUTORIAL] IA Simples
[TUTORIAL] Ajustar o Brilho do LensFlare de Acordo com a Distância
CONTROLE ARCADE PARA JOGO DE CORRIDA
[TUTORIAL] IA Simples Parte 2 (Atirar)
[DEMO] Survival Block
Aprimoramento IA Inimiga
Batalha de Canhão
[RESOLVIDO] Camera Collider
Todos os inimigos morrem
Canal de tutoriais android
Area Para modeladores
Inimigo ao seguir flutua [ajuda]
[TUTORIAL] Sistema de tiro com RAYCAST (várias armas, mira laser, munição, dano, etc, etc)
Demo de jogo para testarem...
[TUTORIAL] Fazer um VOLANTE com UI, para Android
[DUVIDA] Como destruir um GameObject (cubo etc...) sem destruir seus "afilhados"
[Duvida] Como fazer uma luz se desativar ao ficar longe dela
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
GRAFICO BUGADO [MOBILE]
Duvida sobre array de gameobject
ERRO NO APK
ANIMAÇÃO
sincronizar um Variável String multiplayer
DUVIDAS VARIADAS
Publicando Apk na PlayStore
Curar vida ao coletar itens
(Dúvida) Rotacionar roda
Sistema de tráfego
ObjetoCair
Existe alguma forma de fazer multiplayer por lan ou por bluethooth?
Duvida Script
converter para C#
Animação de movimento
Modelos 3D para uso gratuito ou comercial
Ajuda com jogos em flash
[RESOLVIDO] Dano No Player Ajuda erro
Como fazer parar de seguir em uma distancia determinada
Meus modelos 3D em fase de experimento
Lampião Vs Zombies - FORMAÇÃO DE EQUIPE - Jogo 2D
Criando Inteligencia Artificial Para BOSS.
Hoje à(s) 7:19 pm
Hoje à(s) 6:33 pm
Hoje à(s) 6:30 pm
Hoje à(s) 6:25 pm
Hoje à(s) 6:24 pm
Hoje à(s) 5:44 pm
Hoje à(s) 4:59 pm
Hoje à(s) 3:57 pm
Hoje à(s) 3:39 pm
Hoje à(s) 1:51 pm
Hoje à(s) 1:42 pm
Hoje à(s) 1:28 pm
Hoje à(s) 12:13 pm
Hoje à(s) 6:41 am
Hoje à(s) 12:03 am
Ontem à(s) 10:56 pm
Ontem à(s) 8:08 pm
Ontem à(s) 7:04 pm
Ontem à(s) 4:03 pm
Ontem à(s) 1:58 pm
Ontem à(s) 1:34 pm
Ontem à(s) 1:13 pm
Ontem à(s) 10:43 am
Ontem à(s) 1:37 am
Ontem à(s) 12:53 am
Ontem à(s) 12:52 am
Ontem à(s) 12:49 am
Ontem à(s) 12:46 am
Ontem à(s) 12:45 am
Ontem à(s) 12:34 am
Ontem à(s) 12:30 am
Ontem à(s) 12:22 am
Ontem à(s) 12:20 am
Ontem à(s) 12:15 am
Ontem à(s) 12:05 am
Sab Mar 25, 2017 11:59 pm
Sab Mar 25, 2017 11:58 pm
Sab Mar 25, 2017 8:59 pm
Sab Mar 25, 2017 6:50 pm
Sab Mar 25, 2017 3:37 pm
Sab Mar 25, 2017 1:51 am
Sab Mar 25, 2017 1:31 am
Sex Mar 24, 2017 8:54 pm
Sex Mar 24, 2017 8:05 pm
Sex Mar 24, 2017 7:43 pm
Sex Mar 24, 2017 7:18 pm
Sex Mar 24, 2017 6:52 pm
Sex Mar 24, 2017 6:48 pm
Sex Mar 24, 2017 3:46 pm
Sex Mar 24, 2017 1:50 pm
Sex Mar 24, 2017 12:29 pm
Sex Mar 24, 2017 10:05 am
Qui Mar 23, 2017 10:13 pm
Qui Mar 23, 2017 6:55 pm
Qui Mar 23, 2017 4:50 pm
Qui Mar 23, 2017 4:38 pm
Qui Mar 23, 2017 4:33 pm
Qui Mar 23, 2017 12:46 pm
Qui Mar 23, 2017 8:56 am
Qua Mar 22, 2017 7:47 pm
Qua Mar 22, 2017 7:35 pm
Qua Mar 22, 2017 7:30 pm
Qua Mar 22, 2017 3:28 pm
Ter Mar 21, 2017 11:50 pm
Ter Mar 21, 2017 10:14 pm
Ter Mar 21, 2017 7:22 pm
Ter Mar 21, 2017 6:08 pm
Ter Mar 21, 2017 5:00 pm
Ter Mar 21, 2017 3:22 pm
Ter Mar 21, 2017 3:08 pm
Ter Mar 21, 2017 2:13 pm
Ter Mar 21, 2017 10:53 am
Ter Mar 21, 2017 10:13 am
Ter Mar 21, 2017 12:26 am
Ter Mar 21, 2017 12:10 am
Ter Mar 21, 2017 12:09 am
Ter Mar 21, 2017 12:05 am
Ter Mar 21, 2017 12:02 am
Seg Mar 20, 2017 11:58 pm
Seg Mar 20, 2017 11:55 pm
Seg Mar 20, 2017 9:10 pm
Seg Mar 20, 2017 7:57 pm
Seg Mar 20, 2017 6:41 pm
Seg Mar 20, 2017 4:31 pm
Seg Mar 20, 2017 8:10 am
Dom Mar 19, 2017 11:32 pm
Dom Mar 19, 2017 8:50 pm
Dom Mar 19, 2017 8:20 pm
Dom Mar 19, 2017 12:06 pm
Sab Mar 18, 2017 10:31 pm
Sab Mar 18, 2017 10:01 pm
Sab Mar 18, 2017 8:26 pm
Sab Mar 18, 2017 8:06 pm
Sab Mar 18, 2017 6:53 pm
Sab Mar 18, 2017 5:31 pm
Sab Mar 18, 2017 9:41 am
Sab Mar 18, 2017 7:23 am
Sex Mar 17, 2017 10:02 pm
Sex Mar 17, 2017 3:21 pm
hackernew404
PauloFR
hackernew404
Junim
bielmol
Junim
PauloFR
Junim
Callyde Jr
Jogos mini
rafaelllsd
rafaelllsd
PauloFR
Édipo
MateusWTP
PauloFR
Gabriel César O
DuViDoSo34
Mic4el
masterjohn12
artplayer
Junim
Gabriel César O
Atiradogamer
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
wender
MarcosSchultz
MarcosSchultz
MarcosSchultz
MateusWTP
Gabriel César O
Gabriel César O
Sheyk
PauloFR
Gabriel César O
Weverton Borges da Silva
maikonluis
HeF Software
Junim
Junim
wender
bravoent
Marc7
Callyde Jr
hen000
rafaelllsd
MateusWTP
Gabriel César O
Gabriel César O
Madness
Paizudo
Gabriel César O
AnderGames
Gabriel César O
Matrirxp
rafaelllsd
Matrirxp
AndyShow
ffabim
rafaelllsd
MikaelSteam
PauloFR
bravoent
DuViDoSo34
Édipo
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
lucasfera15
Khilua
PauloFR
Paizudo
willtuck
rafaelllsd
rafaelllsd
IanLuan
John Rambo
kalielson
willtuck
MikaelSteam
joabr
Luiz Mauro TCC
bravoent
AndyShow
joabr
BatataName
Callyde Jr

[TUTORIAL] Inteligência artificial, inimigo e AIPoints

Página 1 de 2 1, 2  Seguinte

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

TUTORIAL [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Ter Jan 06, 2015 8:45 pm



Estive trabalhando neste script, e finalmente está pronto. trata-se de uma inteligência artificial simples, usando AIPoints

O inimigo se move randomicamente entre os AIPoints e se ve o player, começa a persegui-lo e s conseguir, ataca-lo também

se perder o player de vista, volta para a rotina de andar aleatoriamente pelos AIpoints.



Como usar? Primeiramente coloque a tag " Player " no seu player

agora jogue este script no seu inimigo ( o nome do script deve ser " AIPOINTS " ) :: 

Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(CharacterController))]
public class AIPOINTS : MonoBehaviour {
 public Transform[] AIPoints; // PONTOS POR ONDE O INIMIGO PODE TRANSITAR
 private List<Transform> ListaDeAiPoints = new List<Transform>(); // LISTA QUE IRA GUARDAR OS AIPoints DISPONIVEIS PARA O INIMIGO ANDAR NO MOMENTO
 public float velocidadeDeMovimento = 5,DistanciaDeObservacao = 30,DistanciaDeSeguir = 20,DistanciaDeAtaque = 2; // VARIAVEIS A SEREM CONFIGURADAS
 private float distanciaDoJogador,cronometroTempoNoLocal;
 private int AIpoitAtual; // AIPoint ATUAL PARA ONDE O INIMIGO ESTA SE MOVENDDO
 private GameObject Player;
 private bool VendoOPlayer,EsperandoNoLocal,SeguindoOPlayer;
 public float TempoNoLocal = 0.001f; // TEMPO QUE O INIMIGO AGUARDA NO AIPoint ATE COMEÇAR A IR PARA O PROXIMO
 void Start (){  
 Player = GameObject.FindWithTag ("Player"); // PLAYER = OBJETO QUE CONTEM A TAG PLAYER
 for (int x=0; x<AIPoints.Length; x++) { // AQUI EU FAÇO UM FOR EM TODOS OS OBJETOS DA VARIAVEL AIPoints
 Vector3 de = transform.position; // A VARIAVEL " de " RECEBE A POSIÇAO ATUAL DO INIMIGO
 Vector3 para = AIPoints [x].transform.position; // A VARIAVEL " para " RECEBE A POSIÇAO DO AIpointAtual
 if (!Physics.Linecast (de, para)) { // AQUI EU CHEGO SE O CAMINHO ENTRE O INIMIGO E O AIPOINT ESTA LIVRE, SE ESTIVER:
 if(!ListaDeAiPoints.Contains( AIPoints [x] )){ // AQUI EU CHECO SE O ELEMENTO JA ESTA NA LISTA, SE NAO ESTA, FAZ ISSO ABAIXO:
 ListaDeAiPoints.Add(AIPoints [x]); //ADICIONA O AIPoint[X] NA LISTA
 }
 }
 else if (Physics.Linecast (de, para)) { // SEM TEM ALGUMA COISA ENTRE O AIPoint ATUAL E O INIMIGO
 ListaDeAiPoints.Remove(AIPoints [x]) ; // REMOVE O ITEM AIPoint[X] ATUAL DA LISTA, PARA TORNA-LO INDISPONIVEL
 }
 }
 }
 void Update () {
 //================================================RAYCAST ( INIMIGO ESTA VENDO O PLAYER? )=========================================================//
 RaycastHit hit; // DECLARO UM RAYCAST
 Vector3 deOnde = transform.position; //A VARIAVEL deOnde RECEBE A POSIÇAO ATUAL DO INIMIGO
 Vector3 paraOnde = Player.transform.position;//A VARIAVEL paraOnde RECEBE A POSIÇAO ATUAL DO INIMIGO
 Vector3 direction = paraOnde - deOnde; // O VETOR direction RECEBE A POSIÇAO CORRESPONDENTE A B-A, OU SEJA, O VETOR paraOnde - o vetor deOnde
 if (Physics.Raycast (transform.position, direction, out hit, 1000) && distanciaDoJogador < DistanciaDeObservacao) { // SE RAYCAST, E SE A DISTANCIA DO PLAYER FOR MENOR DO QUE A MAXDISTANCIA
 if (hit.collider.gameObject.CompareTag ("Player")) { // SE A TAG DO OBJETO QUE O RAYCAST COLIDIU FOR "PLAYER"
 VendoOPlayer = true; // VARIAVEL VendoOPlayer FICA VERDADEIRA
 } else { // SE NAO
 VendoOPlayer = false;// VARIAVEL VendoOPlayer FICA FALSA
 }
 }
 //===========================================LINECAST ( DEIXAR ACESSIVEL APENAS OS AIPOINTS VISIVEIS)=========================================//
 if (EsperandoNoLocal == true) { // SE A VARIAVEL EsperandoNoLocal ESTIVER VERDADEIRA
 for (int x=0; x<AIPoints.Length; x++) { // AQUI EU FAÇO UM FOR EM TODOS OS OBJETOS DA VARIAVEL AIPoints
 Vector3 de = transform.position; // A VARIAVEL " de " RECEBE A POSIÇAO ATUAL DO INIMIGO
 Vector3 para = AIPoints [x].transform.position; // A VARIAVEL " para " RECEBE A POSIÇAO DO AIpointAtual
 if (!Physics.Linecast (de, para)) { // AQUI EU CHEGO SE O CAMINHO ENTRE O INIMIGO E O AIPOINT ESTA LIVRE, SE ESTIVER:
 Debug.DrawLine(de,para); // APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
 if(!ListaDeAiPoints.Contains( AIPoints [x] )){ // AQUI EU CHECO SE O ELEMENTO JA ESTA NA LISTA, SE NAO ESTA, FAZ ISSO ABAIXO:
 ListaDeAiPoints.Add(AIPoints [x]); //ADICIONA O AIPoint[X] NA LISTA
 }
 }
 else if (Physics.Linecast (de, para)) { // SEM TEM ALGUMA COISA ENTRE O AIPoint ATUAL E O INIMIGO
 Debug.DrawLine(de,para);// APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
 ListaDeAiPoints.Remove(AIPoints [x]) ; // REMOVE O ITEM AIPoint[X] ATUAL DA LISTA, PARA TORNA-LO INDISPONIVEL
 }
 }
 EsperandoNoLocal = false; // A VARIAVEL EsperandoNoLocal FICA FALSA
 }
 //==================================================== COMANDO PARA FAZER O INIMIGO ANDAR PELOS AIPOINTS======================================//
 distanciaDoJogador = Vector3.Distance (Player.transform.position, transform.position); // MEDE A DISTANCIA ENTRE O INIMIGO E O PLAYER
 if (distanciaDoJogador >= DistanciaDeObservacao || VendoOPlayer == false && EsperandoNoLocal == false) { // SE A DISTANCIA ENTRE INIMIGO E PLAYER FOR MENOR DO QUE A DISTANCIA DE OBSERVAÇAO E VAR'S....
 if (AIpoitAtual < ListaDeAiPoints.Count) { // CHECAGEM PRA NAO DAR ERRO DE ARRAY
 Vector3 target = ListaDeAiPoints [AIpoitAtual].transform.position;//A VARIAVEL target RECEBE A POSIÇAO DO AIpointAtual
 transform.LookAt (target);//O INIMIGO OLHA NA DIREÇAO DO AIPOINT SELECIONADO ( O AIpointAtual )
 transform.position = Vector3.MoveTowards (transform.position, target, velocidadeDeMovimento * Time.deltaTime); // MOVE O PALYER EM DIREÇAO AO AIpointAtual
 if (transform.position == ListaDeAiPoints [AIpoitAtual].transform.position) { // SE A POSIÇAO DO PLAYER FOR IGUAL A POSIÇAO DO AIpointAtual, OU SEJA, CHEGOU NO DESTINO
 cronometroTempoNoLocal+=Time.deltaTime; // COMEÇA A CONTAR O CRONOMETRO DE ESPERA NO LOCAL
 EsperandoNoLocal = true; // A VARIAVEL EsperandoNoLocal FICA VERDADEIRA PARA INDICAR QUE ESTA ESPERANDO
 }
 if(cronometroTempoNoLocal >= TempoNoLocal){ // SE JA ESPEROU O TEMPO QUE DEVERIA ESPERAR NO LOCAL
 cronometroTempoNoLocal = 0; // ZERA O CRONOMETRO PARA PODER REUTILIZAR ELE
 int NumeroDeElementosDaLista2 = ListaDeAiPoints.Count; // UMA INT COM NOME NumeroDeElementosDaLista2 RECEBE O NUMERO DE ITENS QUE TEM NA LISTA
 AIpoitAtual = Random.Range (0, NumeroDeElementosDaLista2); // A VARIAVEL AIpoitAtual RECEBE UM VALOR ALEATORIO ENTRE 0 E O O NUMERO DE ITENS QUE TEM NA LISTA
 }
 }
 }
 //================================================= COMANDOS PARA CHECAR DISTANCIA, OLHAR E SEGUIR================================================//
 else if (distanciaDoJogador >= DistanciaDeSeguir && distanciaDoJogador < DistanciaDeObservacao && VendoOPlayer == true) { // SE ESTA PERTO PARA OLHAR MAS AINDA E LONGE PARA SEGUIR:
 Olhar (); // VOID PARA O INIMIGO FICAR OLHANDO PARA O PLAYER
 }else if (distanciaDoJogador <= DistanciaDeSeguir && VendoOPlayer == true) {  //SE JA ESTA PERTO O SUFICIENTE PARA SEGUIR E ESTA VENDO O PLAYER
 Seguir ();  // VOID PARA O INIMIGO SEGUIR O PLAYER
 }
 //=======================================================CORRIGIR BUGS DE INDEX RANGE=============================================================//
 if (AIpoitAtual >= ListaDeAiPoints.Count) { // SE O AIpoitAtual TIVER UM VALOR MAIOR DO QUE O MAXIMO DE ELEMENTOS QUE EXISTEM NA LISTA
 AIpoitAtual = ListaDeAiPoints.Count -1; // A VARIAVEL AIpoitAtual RECEBE O NUMERO DE ELEMENTOS DA LISTA -1, ISSO EVITARA BUGS
 }else if (AIpoitAtual <= 0) { //SE O AIpoitAtual TIVER UM VALOR MENOR DO QUE ZERO:
 AIpoitAtual = 0;//AIpoitAtual RECEBERA O VALOR ZERO, ISSO EVITARA BUGS
 }
 //==========================================FAZER O PLAYER RECEBER DANO AO CHEGAR PERTO DO INIMIGO================================================//
 if (distanciaDoJogador <= DistanciaDeAtaque) { // SE A DISTANCIA ENTRE O INIMIGO E O PLAYER FOR MENOR DO QUE A DISTANCIA DE ATAQUE
 VidaPlayer.RecebendoDano = true; // A VARIAVEL RecebendoDano DO SCRIPT VidaPlayer FICA VERDADEIRA
 } else if (distanciaDoJogador > DistanciaDeAtaque) { // SE A DISTANCIA ENTRE O INIMIGO E O PLAYER FOR MAIOR DO QUE A DISTANCIA DE ATAQUE
 VidaPlayer.RecebendoDano = false; // A VARIAVEL RecebendoDano DO SCRIPT VidaPlayer FICA FALSA
 }
 //===============================================ESTAVA SEGUINDO MAS PAROU DE VER O PLAYER========================================================//
 if (SeguindoOPlayer == true && VendoOPlayer == false) { // SE ESTA SEGUINDO O PLAYER MAS NAO ESTA VENDO ELE
 for (int x=0; x<AIPoints.Length; x++) { // AQUI EU FAÇO UM FOR EM TODOS OS OBJETOS DA VARIAVEL AIPoints
 Vector3 de = transform.position;  // A VARIAVEL " de " RECEBE A POSIÇAO ATUAL DO INIMIGO
 Vector3 para = AIPoints [x].transform.position;  // A VARIAVEL " para " RECEBE A POSIÇAO DO AIpointAtual
 if (!Physics.Linecast (de, para)) { // AQUI EU CHEGO SE O CAMINHO ENTRE O INIMIGO E O AIPOINT ESTA LIVRE, SE ESTIVER:
 Debug.DrawLine(de,para); // APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
 if(!ListaDeAiPoints.Contains( AIPoints [x] )){ // AQUI EU CHECO SE O ELEMENTO JA ESTA NA LISTA, SE NAO ESTA, FAZ ISSO ABAIXO:
 ListaDeAiPoints.Add(AIPoints [x]); //ADICIONA O AIPoint[X] NA LISTA
 }
 }
 else if (Physics.Linecast (de, para)) { // SEM TEM ALGUMA COISA ENTRE O AIPoint ATUAL E O INIMIGO
 Debug.DrawLine(de,para);// APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
 ListaDeAiPoints.Remove(AIPoints [x]) ; // REMOVE O ITEM AIPoint[X] ATUAL DA LISTA, PARA TORNA-LO INDISPONIVEL
 }
 }
 int NumeroDeElementosDaLista2 = ListaDeAiPoints.Count; // A VARIAVEL NumeroDeElementosDaLista2 RECEBE O NUMERO DE ELEMENTOS CONTIDOS NA LISTA
 AIpoitAtual = Random.Range (0, NumeroDeElementosDaLista2); // A VARIAVEL AIpoitAtual RECEBE UM VALOR ALEATORIO ENTRE 0 E O O NUMERO DE ITENS QUE TEM NA LISTA
 SeguindoOPlayer = false; // A VARIAVEL SeguindoOPlayer RECEBE FALSE
 }
 }
 //================================================================= OUTRAS VOIDS=======================================================================//
 void Olhar (){ // VOID QUE FAZ O INIMIGO OLHAR PARA O PLAYER
 Vector3 OlharPlayer = Player.transform.position; // O VETOR OlharPlayer RECEBE A POSIÇAO DO PLAYER
 transform.LookAt (OlharPlayer); // O INIMIGO PLHA EM DIREÇAO AO PLAYER
 }
 void Seguir (){
 SeguindoOPlayer = true; // A VARIAVEL SeguindoOPlayer FICA VERDADEIRA
 Vector3 SeguirPlayer = Player.transform.position; // O VETOR SeguirPlayer RECEBE A POSIÇAO DO PLAYER
 transform.position = Vector3.MoveTowards (transform.position, SeguirPlayer, velocidadeDeMovimento * Time.deltaTime); // O INIMIGO SE MOVE EM DIREÇAO AO PLAYER
 }
}

Depois disso, jogue este script no seu player( o nome do script deve ser " VidaPlayer " ) :

Código:
using UnityEngine;
using System.Collections;
public class VidaPlayer : MonoBehaviour {
 public static bool RecebendoDano; //VARIAVEL ESTATICA QUE INDICA SE ESTA RECEBENDO DANO OU NAO
 public float tempoPorAtaque = 1.5f; // TEMPO MINIMO ENTRE CADA ATAQUE QUE O INIMIGO PODE DAR
 private float cronometroDeAtaque; // CRONOMETRO QUE CONTROLA O TEMPO DOS ATAQUES
 public int VidaDoPlayer = 100; // VIDA DO PERSONAGEM
 public int DanoPorAtaque = 40;
 void Start (){
 RecebendoDano = false; // A VARIAVEL RecebendoDano RECEBE FALSO
 }
 void Update (){
 if (RecebendoDano == true) { // SE RecebendoDano ESTA VERDADEIRO
 cronometroDeAtaque += Time.deltaTime; // O CRONOMETRO COMEÇA A CONTAR
 } else { // SE NAO, OU SEJA, SE RecebendoDano ESTA FALSO
 cronometroDeAtaque = 0; // O CRONOMETRO RECEBE 0
 }
 if (cronometroDeAtaque >= tempoPorAtaque) { // SE O CRONOMETRO ULTRAPASSOU O TEMPO POR ATAQUE
 cronometroDeAtaque = 0; // CRONOMETRO RECEBE 0
 VidaDoPlayer = VidaDoPlayer - DanoPorAtaque; // A VIDA DO PLAYER RECEBE O VALOR DELA MESMA MENOS O DANO DO ATAQUE
 }
 if (VidaDoPlayer <= 0) { // SE A VIDA FOR MENOR OU IGUAL A 0
 Application.Quit (); // SAI DO JOGO
 }
 }
}

Os dois scripts extão COMPLETAMENTE comentados para um melhor entendimento.


Agora basta configurar as variáveis dos dois scripts e jogar AIpoints( pontos por onde o inimigo irá se mover ) na variavel  " AIPoints " do script do seu inimigo

Dúvidas postem ae


Última edição por MarcosSchultz em Ter Jun 07, 2016 9:15 pm, editado 1 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Dionilson em Qua Jan 07, 2015 3:16 pm

Quando ele persegue o player ele ignora os aipoints e fica travado em objetos do cenário. Como fazer o inimigo evitar esses objetos, e perseguir o player através de um caminho específico pelos aipoints assim n travando em objetos ou "paredes"?

Dionilson
Iniciante
Iniciante

Masculino PONTOS : 831
REPUTAÇÃO : 1
Idade : 25
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Qua Jan 07, 2015 4:34 pm

Isto é possivel apenas com A*pathfinding, más é algo extremamente complexo... eu precisaria de 4 vídeoAulas para explicar como funciona...


Uma solução boa para isto é usar o NaveMesh da propria Unity
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Dionilson em Qua Jan 07, 2015 5:00 pm

Você pode explicar ou mostrar como usar o NaveMesh da unity para essa situação?

Dionilson
Iniciante
Iniciante

Masculino PONTOS : 831
REPUTAÇÃO : 1
Idade : 25
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Qua Jan 07, 2015 5:42 pm

Este aqui Very Happy

avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Dionilson em Qua Jan 07, 2015 9:14 pm

Mano Brigado cara, me ajudo pakas mano vlws mesmo.

Dionilson
Iniciante
Iniciante

Masculino PONTOS : 831
REPUTAÇÃO : 1
Idade : 25
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Alan Porfirio em Ter Abr 21, 2015 6:08 pm

Marcos eu coloquei o script no inimigo mas não funcionou.
Era pra colocar objetos vazio no transform?Ou era pra fazer de outro jeito.

Alan Porfirio
Iniciante
Iniciante

PONTOS : 747
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Ter Abr 21, 2015 7:37 pm

tem que seguir passo a passo como eu citei...

nenhuma variavel pode ficar vazia, você deve linkar os AIPoints e tudo mais, senão vai dar erro
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Rafael Pirani em Dom Abr 26, 2015 1:56 am

Da dando erro de index!

Rafael Pirani
Iniciante
Iniciante

PONTOS : 702
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Dom Abr 26, 2015 12:53 pm

Tem que anexar os AIPoints na array deles
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Lucas Garcia Frade em Dom Abr 26, 2015 6:48 pm


Ta dando erro de Index como pode ver, mas linkei tudo nas variaveis certas, o que esta errado?

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 933
REPUTAÇÃO : 1
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Dom Abr 26, 2015 11:12 pm

Por favor, copie o código inteiro que você está utilizando e cole aqui para eu analiza-lo ?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Lucas Garcia Frade em Seg Abr 27, 2015 9:37 am

Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
[RequireComponent(typeof(CharacterController))]
public class AIPOINTS : MonoBehaviour {
   public static bool Inimigo;
   public Transform[] AIPoints; // PONTOS POR ONDE O INIMIGO PODE TRANSITAR
   private List<Transform> ListaDeAiPoints = new List<Transform>(); // LISTA QUE IRA GUARDAR OS AIPoints DISPONIVEIS PARA O INIMIGO ANDAR NO MOMENTO
   public float velocidadeDeMovimento = 5,DistanciaDeObservacao = 30,DistanciaDeSeguir = 20,DistanciaDeAtaque = 2; // VARIAVEIS A SEREM CONFIGURADAS
   private float distanciaDoJogador,cronometroTempoNoLocal;
   private int AIpoitAtual; // AIPoint ATUAL PARA ONDE O INIMIGO ESTA SE MOVENDDO
   private GameObject Player;
   private bool VendoOPlayer,EsperandoNoLocal,SeguindoOPlayer;
   public float TempoNoLocal = 0.001f; // TEMPO QUE O INIMIGO AGUARDA NO AIPoint ATE COMEÇAR A IR PARA O PROXIMO
   void Start (){ 
      Inimigo = true;
      Screen.lockCursor = true;
      Player = GameObject.FindWithTag ("Player"); // PLAYER = OBJETO QUE CONTEM A TAG PLAYER
      for (int x=0; x<AIPoints.Length; x++) { // AQUI EU FAÇO UM FOR EM TODOS OS OBJETOS DA VARIAVEL AIPoints
         Vector3 de = transform.position; // A VARIAVEL " de " RECEBE A POSIÇAO ATUAL DO INIMIGO
         Vector3 para = AIPoints [x].transform.position; // A VARIAVEL " para " RECEBE A POSIÇAO DO AIpointAtual
         if (!Physics.Linecast (de, para)) { // AQUI EU CHEGO SE O CAMINHO ENTRE O INIMIGO E O AIPOINT ESTA LIVRE, SE ESTIVER:
            if(!ListaDeAiPoints.Contains( AIPoints [x] )){ // AQUI EU CHECO SE O ELEMENTO JA ESTA NA LISTA, SE NAO ESTA, FAZ ISSO ABAIXO:
               ListaDeAiPoints.Add(AIPoints [x]); //ADICIONA O AIPoint[X] NA LISTA
            }
         }
         else if (Physics.Linecast (de, para)) { // SEM TEM ALGUMA COISA ENTRE O AIPoint ATUAL E O INIMIGO
            ListaDeAiPoints.Remove(AIPoints [x]) ; // REMOVE O ITEM AIPoint[X] ATUAL DA LISTA, PARA TORNA-LO INDISPONIVEL
         }
      }
   }
   void Update () {
      if (Inimigo){
      //================================================RAYCAST ( INIMIGO ESTA VENDO O PLAYER? )=========================================================//
      RaycastHit hit; // DECLARO UM RAYCAST
      Vector3 deOnde = transform.position; //A VARIAVEL deOnde RECEBE A POSIÇAO ATUAL DO INIMIGO
      Vector3 paraOnde = Player.transform.position;//A VARIAVEL paraOnde RECEBE A POSIÇAO ATUAL DO INIMIGO
      Vector3 direction = paraOnde - deOnde; // O VETOR direction RECEBE A POSIÇAO CORRESPONDENTE A B-A, OU SEJA, O VETOR paraOnde - o vetor deOnde
      if (Physics.Raycast (transform.position, direction, out hit, 1000) && distanciaDoJogador < DistanciaDeObservacao) { // SE RAYCAST, E SE A DISTANCIA DO PLAYER FOR MENOR DO QUE A MAXDISTANCIA
         if (hit.collider.gameObject.CompareTag ("Player")) { // SE A TAG DO OBJETO QUE O RAYCAST COLIDIU FOR "PLAYER"
            VendoOPlayer = true; // VARIAVEL VendoOPlayer FICA VERDADEIRA
         } else { // SE NAO
            VendoOPlayer = false;// VARIAVEL VendoOPlayer FICA FALSA
         }
      }
      //===========================================LINECAST ( DEIXAR ACESSIVEL APENAS OS AIPOINTS VISIVEIS)=========================================//
      if (EsperandoNoLocal == true) { // SE A VARIAVEL EsperandoNoLocal ESTIVER VERDADEIRA
         for (int x=0; x<AIPoints.Length; x++) { // AQUI EU FAÇO UM FOR EM TODOS OS OBJETOS DA VARIAVEL AIPoints
            Vector3 de = transform.position; // A VARIAVEL " de " RECEBE A POSIÇAO ATUAL DO INIMIGO
            Vector3 para = AIPoints [x].transform.position; // A VARIAVEL " para " RECEBE A POSIÇAO DO AIpointAtual
            if (!Physics.Linecast (de, para)) { // AQUI EU CHEGO SE O CAMINHO ENTRE O INIMIGO E O AIPOINT ESTA LIVRE, SE ESTIVER:
               Debug.DrawLine(de,para); // APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
               if(!ListaDeAiPoints.Contains( AIPoints [x] )){ // AQUI EU CHECO SE O ELEMENTO JA ESTA NA LISTA, SE NAO ESTA, FAZ ISSO ABAIXO:
                  ListaDeAiPoints.Add(AIPoints [x]); //ADICIONA O AIPoint[X] NA LISTA
               }
            }
            else if (Physics.Linecast (de, para)) { // SEM TEM ALGUMA COISA ENTRE O AIPoint ATUAL E O INIMIGO
               Debug.DrawLine(de,para);// APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
               ListaDeAiPoints.Remove(AIPoints [x]) ; // REMOVE O ITEM AIPoint[X] ATUAL DA LISTA, PARA TORNA-LO INDISPONIVEL
            }
         }
         EsperandoNoLocal = false; // A VARIAVEL EsperandoNoLocal FICA FALSA
      }
      //==================================================== COMANDO PARA FAZER O INIMIGO ANDAR PELOS AIPOINTS======================================//
      distanciaDoJogador = Vector3.Distance (Player.transform.position, transform.position); // MEDE A DISTANCIA ENTRE O INIMIGO E O PLAYER
      if (distanciaDoJogador >= DistanciaDeObservacao || VendoOPlayer == false && EsperandoNoLocal == false) { // SE A DISTANCIA ENTRE INIMIGO E PLAYER FOR MENOR DO QUE A DISTANCIA DE OBSERVAÇAO E VAR'S....
         if (AIpoitAtual < ListaDeAiPoints.Count) { // CHECAGEM PRA NAO DAR ERRO DE ARRAY
            Vector3 target = ListaDeAiPoints [AIpoitAtual].transform.position;//A VARIAVEL target RECEBE A POSIÇAO DO AIpointAtual
            transform.LookAt (target);//O INIMIGO OLHA NA DIREÇAO DO AIPOINT SELECIONADO ( O AIpointAtual )
            transform.position = Vector3.MoveTowards (transform.position, target, velocidadeDeMovimento * Time.deltaTime); // MOVE O PALYER EM DIREÇAO AO AIpointAtual
            if (transform.position == ListaDeAiPoints [AIpoitAtual].transform.position) { // SE A POSIÇAO DO PLAYER FOR IGUAL A POSIÇAO DO AIpointAtual, OU SEJA, CHEGOU NO DESTINO
               cronometroTempoNoLocal+=Time.deltaTime; // COMEÇA A CONTAR O CRONOMETRO DE ESPERA NO LOCAL
               EsperandoNoLocal = true; // A VARIAVEL EsperandoNoLocal FICA VERDADEIRA PARA INDICAR QUE ESTA ESPERANDO
            }
            if(cronometroTempoNoLocal >= TempoNoLocal){ // SE JA ESPEROU O TEMPO QUE DEVERIA ESPERAR NO LOCAL
               cronometroTempoNoLocal = 0; // ZERA O CRONOMETRO PARA PODER REUTILIZAR ELE
               int NumeroDeElementosDaLista2 = ListaDeAiPoints.Count; // UMA INT COM NOME NumeroDeElementosDaLista2 RECEBE O NUMERO DE ITENS QUE TEM NA LISTA
               AIpoitAtual = Random.Range (0, NumeroDeElementosDaLista2); // A VARIAVEL AIpoitAtual RECEBE UM VALOR ALEATORIO ENTRE 0 E O O NUMERO DE ITENS QUE TEM NA LISTA
            }
         }
      }
      //================================================= COMANDOS PARA CHECAR DISTANCIA, OLHAR E SEGUIR================================================//
      else if (distanciaDoJogador >= DistanciaDeSeguir && distanciaDoJogador < DistanciaDeObservacao && VendoOPlayer == true) { // SE ESTA PERTO PARA OLHAR MAS AINDA E LONGE PARA SEGUIR:
         Olhar (); // VOID PARA O INIMIGO FICAR OLHANDO PARA O PLAYER
      }else if (distanciaDoJogador <= DistanciaDeSeguir && VendoOPlayer == true) {  //SE JA ESTA PERTO O SUFICIENTE PARA SEGUIR E ESTA VENDO O PLAYER
         Seguir ();  // VOID PARA O INIMIGO SEGUIR O PLAYER
      }
      //=======================================================CORRIGIR BUGS DE INDEX RANGE=============================================================//
      if (AIpoitAtual >= ListaDeAiPoints.Count) { // SE O AIpoitAtual TIVER UM VALOR MAIOR DO QUE O MAXIMO DE ELEMENTOS QUE EXISTEM NA LISTA
         AIpoitAtual = ListaDeAiPoints.Count -1; // A VARIAVEL AIpoitAtual RECEBE O NUMERO DE ELEMENTOS DA LISTA -1, ISSO EVITARA BUGS
      }else if (AIpoitAtual <= 0) { //SE O AIpoitAtual TIVER UM VALOR MENOR DO QUE ZERO:
         AIpoitAtual = 0;//AIpoitAtual RECEBERA O VALOR ZERO, ISSO EVITARA BUGS
      }
      //==========================================FAZER O PLAYER RECEBER DANO AO CHEGAR PERTO DO INIMIGO================================================//
      if (distanciaDoJogador <= DistanciaDeAtaque) { // SE A DISTANCIA ENTRE O INIMIGO E O PLAYER FOR MENOR DO QUE A DISTANCIA DE ATAQUE
         PlayerVida.RecebendoDano = true; // A VARIAVEL RecebendoDano DO SCRIPT VidaPlayer FICA VERDADEIRA
      } else if (distanciaDoJogador > DistanciaDeAtaque) { // SE A DISTANCIA ENTRE O INIMIGO E O PLAYER FOR MAIOR DO QUE A DISTANCIA DE ATAQUE
         PlayerVida.RecebendoDano = false; // A VARIAVEL RecebendoDano DO SCRIPT VidaPlayer FICA FALSA
      }
      //===============================================ESTAVA SEGUINDO MAS PAROU DE VER O PLAYER========================================================//
      if (SeguindoOPlayer == true && VendoOPlayer == false) { // SE ESTA SEGUINDO O PLAYER MAS NAO ESTA VENDO ELE
         for (int x=0; x<AIPoints.Length; x++) { // AQUI EU FAÇO UM FOR EM TODOS OS OBJETOS DA VARIAVEL AIPoints
            Vector3 de = transform.position;  // A VARIAVEL " de " RECEBE A POSIÇAO ATUAL DO INIMIGO
            Vector3 para = AIPoints [x].transform.position;  // A VARIAVEL " para " RECEBE A POSIÇAO DO AIpointAtual
            if (!Physics.Linecast (de, para)) { // AQUI EU CHEGO SE O CAMINHO ENTRE O INIMIGO E O AIPOINT ESTA LIVRE, SE ESTIVER:
               Debug.DrawLine(de,para); // APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
               if(!ListaDeAiPoints.Contains( AIPoints [x] )){ // AQUI EU CHECO SE O ELEMENTO JA ESTA NA LISTA, SE NAO ESTA, FAZ ISSO ABAIXO:
                  ListaDeAiPoints.Add(AIPoints [x]); //ADICIONA O AIPoint[X] NA LISTA
               }
            }
            else if (Physics.Linecast (de, para)) { // SEM TEM ALGUMA COISA ENTRE O AIPoint ATUAL E O INIMIGO
               Debug.DrawLine(de,para);// APENAS FAÇO UM DEBUG ( OPCIONAL ) PARA VER A TRAJETORIA DAS LINHAS
               ListaDeAiPoints.Remove(AIPoints [x]) ; // REMOVE O ITEM AIPoint[X] ATUAL DA LISTA, PARA TORNA-LO INDISPONIVEL
            }
         }
         int NumeroDeElementosDaLista2 = ListaDeAiPoints.Count; // A VARIAVEL NumeroDeElementosDaLista2 RECEBE O NUMERO DE ELEMENTOS CONTIDOS NA LISTA
         AIpoitAtual = Random.Range (0, NumeroDeElementosDaLista2); // A VARIAVEL AIpoitAtual RECEBE UM VALOR ALEATORIO ENTRE 0 E O O NUMERO DE ITENS QUE TEM NA LISTA
         SeguindoOPlayer = false; // A VARIAVEL SeguindoOPlayer RECEBE FALSE
      }
     }
   }
   //================================================================= OUTRAS VOIDS=======================================================================//
   void Olhar (){ // VOID QUE FAZ O INIMIGO OLHAR PARA O PLAYER
      Vector3 OlharPlayer = Player.transform.position; // O VETOR OlharPlayer RECEBE A POSIÇAO DO PLAYER
      transform.LookAt (OlharPlayer); // O INIMIGO PLHA EM DIREÇAO AO PLAYER
   }
   void Seguir (){
      SeguindoOPlayer = true; // A VARIAVEL SeguindoOPlayer FICA VERDADEIRA
      Vector3 SeguirPlayer = Player.transform.position; // O VETOR SeguirPlayer RECEBE A POSIÇAO DO PLAYER
      transform.position = Vector3.MoveTowards (transform.position, SeguirPlayer, velocidadeDeMovimento * Time.deltaTime); // O INIMIGO SE MOVE EM DIREÇAO AO PLAYER
   }
}

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 933
REPUTAÇÃO : 1
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Lucas Garcia Frade em Seg Abr 27, 2015 9:37 am

É o mesmo

Lucas Garcia Frade
Avançado
Avançado

Masculino PONTOS : 933
REPUTAÇÃO : 1
Idade : 15
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Seg Abr 27, 2015 12:33 pm

Testei novamente com os 2 scripts originais do tutorial e funcionou perfeitamente. basta seguir passo a passo tudo que escrevi
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Jhonny_Ayllet em Dom Maio 24, 2015 12:17 pm

eu tipo to fazendo um jogo onde o player é uma "nave" q atira e tudo mais.. queria fazer dos meus inimigos naves semelhantes q atirassem ao me ver e tudo mais.. esta AI vai funcionar para eles ? outra coisa como o cenário se passa no espaço, os obstáculos podem ser asteroides, e pontos de transição por onde ele viaja podem ser gameobjects vazios msm certo ?

Jhonny_Ayllet
Iniciante
Iniciante

PONTOS : 674
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Dom Maio 24, 2015 1:35 pm

Um jogo assim requer uma AI mais especifica, vai ser meio dificil adaptar essa no seu jogo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Chilinger em Sab Jul 11, 2015 7:24 am

Marcos se eu pegar waypoints e colocar varios na tela para carros ele andaram normalmente como trafego de rua

Chilinger
MembroAvançado

Masculino PONTOS : 1126
REPUTAÇÃO : 26
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Sab Jul 11, 2015 12:38 pm

Sim, más funcionará somente se as quadras tiverem predios ou coisas que barrem a visão da diagonal oposta e se so tiver 1 carro, pois se o linecast for em direção a um AIPoint e tiver um veiculo na frente ele vai eliminar o AIPoint...

esta AI é especificamente desenvolvida para inimigos... para carros precisaria de algo mais elaborado
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Chilinger em Sab Jul 11, 2015 1:10 pm

Poderia me ajudar com ela entao por que assim se eu colocar colisao em td vai dar certo por que eu queria fazer uma linha com wayponts indo e outra vindo com varios carros

Chilinger
MembroAvançado

Masculino PONTOS : 1126
REPUTAÇÃO : 26
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Orixinals em Sab Set 05, 2015 1:15 pm

Como eu configuro , onde o inimigo vai andar , no caso quais pontos ele vai transitar , pois analisei o comando que você postou , mas não encontrei um lugar especifico que eu possa alterar valores, no caso os pontos de transição, no caso eu quero fazer com que o inimigo transite pelo meu mapa todo ,e caso eu esteja perto dele , ele saia de sua transição , para me seguir.

==EDITADO==
DESCULPE !
Estava procurando no script e achei onde colocar os waypoints , achava que onde era colocado os waypoints , era diretamente no código, mas na verdade é no script do inimigo (interface), sou iniciante e estou começando no unity a pouco tempo, vlw pessoal !.

Orixinals
Iniciante
Iniciante

PONTOS : 581
REPUTAÇÃO : 2
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por cosmoplay em Seg Nov 23, 2015 8:54 pm

Marcos tenho um problema que so fui perceber agora,
tentei fazer do meu jeito mais tive um problema.
o inimigo so me persegue se eu olho para ele com um angulo um pouco aberto, quase que olhando para a cara dele,
se eu olho apenas para suas pernas ou para o chão ele não me persegue, ai voltei a usar o seu e o problema continua, os scripts estão idênticos ao seu. acho que pode ser outra coisa sem ser o script mais não tenho minima ideia
se puder me ajudar ...
avatar
cosmoplay
MembroAvançado

Masculino PONTOS : 972
REPUTAÇÃO : 38
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Seg Nov 23, 2015 11:08 pm

cosmoplay escreveu:Marcos tenho um problema que so fui perceber agora,
tentei fazer do meu jeito mais tive um problema.
o inimigo so me persegue se eu olho para ele com um angulo um pouco aberto, quase que olhando para a cara dele,
se eu olho apenas para suas pernas ou para o chão ele não me persegue, ai voltei a usar o seu e o problema continua, os scripts estão idênticos ao seu. acho que pode ser outra coisa sem ser o script mais não tenho minima ideia
se puder me ajudar ...

Cara, não tem muito sentido estar acontecendo isto, pois nem tem função de OnBecameVisible ou Invisible...

O script está no seu player ou na sua camera?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por cosmoplay em Qua Dez 02, 2015 6:20 pm

no player
avatar
cosmoplay
MembroAvançado

Masculino PONTOS : 972
REPUTAÇÃO : 38
Idade : 19
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Qui Dez 03, 2015 12:37 am

cosmoplay escreveu:no player
Crie um tópico específico para este problema, relatando especificamente o que ocorre, postando prints e os scripts que você utiliza...

Não tem muito sentido estar acontecendo isto ai...
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por gagasilva em Dom Dez 06, 2015 3:58 pm

http://prntscr.com/9b1p6w <----- Link do erro, coloquei tudo certo, e espalhei 30 aipoints e os coloquei no script do nimigo e AIPOINTS e da esse erro

gagasilva
Iniciante
Iniciante

PONTOS : 482
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Seg Dez 07, 2015 12:11 am

gagasilva escreveu:http://prntscr.com/9b1p6w <----- Link do erro, coloquei tudo certo, e espalhei 30 aipoints e os coloquei no script do nimigo e AIPOINTS e da esse erro

Preciso de prints do seu Player, do inimigo, das configs do script no inimigo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por iagokennedyy em Qua Jan 20, 2016 7:29 pm

Oi, funcionou quase tudo aqui, mas meu inimigo ele não fica andando para os UiPoints, ele fica parado no lugar que eu coloquei... Em vermelhos são os pontos e amarelo o inimigo, que é um esfera. Não fiz nenhuma alterações nos scripts em coloquei todos os transforms dos pontos no script, sabe o que pode ser?

avatar
iagokennedyy
Avançado
Avançado

Masculino PONTOS : 647
REPUTAÇÃO : 38
Idade : 18
Áreas de atuação : -Programador na Murano Games;


Respeito as regras :

Ver perfil do usuário http://muranogames.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Qui Jan 21, 2016 2:16 am

iagokennedyy escreveu:Oi, funcionou quase tudo aqui, mas meu inimigo ele não fica andando para os UiPoints, ele fica parado no lugar que eu coloquei... Em vermelhos são os pontos e amarelo o inimigo, que é um esfera. Não fiz nenhuma alterações nos scripts em coloquei todos os transforms dos pontos no script, sabe o que pode ser?


O player tem tag "Player" ???
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por iagokennedyy em Qui Jan 21, 2016 6:33 am

Sim, tem... eu paguei tudo e refiz, funcionou, alguma coisa devo ter esquecido :p
avatar
iagokennedyy
Avançado
Avançado

Masculino PONTOS : 647
REPUTAÇÃO : 38
Idade : 18
Áreas de atuação : -Programador na Murano Games;


Respeito as regras :

Ver perfil do usuário http://muranogames.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por JohnnyKills em Qui Jan 21, 2016 12:40 pm

Vejo esse script, "simples", então realmente tenho a certeza que eu gosto é de trabalhar com gráficos kkkkkk Marcos, a quanto tempo você trabalha com programação? Você manja de muita coisa kkk

JohnnyKills
Membro
Membro

PONTOS : 581
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Qui Jan 21, 2016 1:36 pm

JohnnyKills escreveu:Vejo esse script, "simples", então realmente tenho a certeza que eu gosto é de trabalhar com gráficos kkkkkk Marcos, a quanto tempo você trabalha com programação? Você manja de muita coisa kkk

Acho que vai completar uns 3 anos logo logo
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por Guisao666 em Seg Jul 25, 2016 6:34 pm

Muito obrigado cara.

Guisao666
Iniciante
Iniciante

PONTOS : 444
REPUTAÇÃO : 0
Áreas de atuação : Iniciante em programação da linguagem C#.
Iniciante em Level Designer.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por dinho em Sab Ago 13, 2016 12:39 pm

Olá Galera adaptei um Script ( java para C#) de  uma IA para meu jogo de luta, que é dentro de um ringue , e não seria necessário AIPonints , mas esta dando "Erro"  gostaria de ajuda para esse meu problema ou uma idéia melhor para melhorar a jogabilidade. Talvez o Script do Marcos sem Aipoints, não sei como adaptar.
 Esse é o meu Script:
Código:
using UnityEngine;
using System.Collections;

public class InimigoSegue : MonoBehaviour {


 private int animI;//numeros de comportamentos
 public GameObject Player ;  // Player
 private Vector3 DistV; //Distancia em x,y e z
 public Quaternion rotQ;
 public float rmaxF;
 public float rmedF;
 public float rminF;
 public bool atacB;
 private Animator Animator_Oponente;
 // Use this for initialization
 void Start () {

 animI = 1;
 rmaxF =10;
 rmedF =5;
 rminF =3;
 atacB = false;
 Animator_Oponente = GetComponent<Animator> ();
 }
 
 // Update is called once per frame
 void Update () {


 if(animI==1){Animator_Oponente.Play("Idlle");}
 if(animI==2){Animator_Oponente.GetBool("Running");transform.Translate(0,0,3*Time.deltaTime);}
 if(animI==3){Animator_Oponente.SetTrigger("TriggerKick");}
 if(animI==4){Animator_Oponente.SetTrigger("TriggerCross");}


 
 //Variaveis
 
 DistV = transform.position - Player.transform.position; //distancia
 rotQ = Quaternion.LookRotation (DistV); // local de rotação
 
 
 //Função
 if (atacB==true)
 {transform.rotation.eulerAngles.y = rotQ.eulerAngles.y +180 ;}
 
 if(DistV.x<= rminF && DistV.x >= rminF && DistV.z >= -rminF && DistV.z <= rminF)
 {animI=2;} else
 
 if(DistV.x<= rmedF && DistV.x >= -rmedF && DistV.z <= rmedF && DistV.z >= -rmedF)
 {animI=3; atacB = true;}else

 if (atacB == true) {
 if(DistV.x<= rmaxF && DistV.x >= -rmaxF && DistV.z <= rmaxF && DistV.z >= -rmaxF)
 {animI = 2 ;}
 else
 { animI=1 ; atacB = false;}
 }
 }
}

O erro esta no "Quaternion"
Assets/Scripts/InimigoSegue.cs(46,37): error CS1612: Cannot modify a value type return value of `UnityEngine.Quaternion.eulerAngles'. Consider storing the value in a temporary variable

e esse:
Assets/Scripts/InimigoSegue.cs(46,28): error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.rotation'. Consider storing the value in a temporary variable
  Não estou conseguindo solucionar.
avatar
dinho
Membro
Membro

Masculino PONTOS : 610
REPUTAÇÃO : 5
Áreas de atuação : Desenhista e Modelador 3D.
Modelagem em Blender.
Respeito as regras :

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

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por artplayer em Sab Ago 13, 2016 2:26 pm

Você vai ter que criar um novo vector3 pra passar o valor.

Tipo ...

Código:
transform.rotation.eulerAngles = new Vector3 (ValorX, ValorY, ValorZ);
avatar
artplayer
ProgramadorMaster

Masculino PONTOS : 748
REPUTAÇÃO : 154
Idade : 32
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por dinho em Sab Ago 13, 2016 7:03 pm

Cara não deu certo... Será q tem algum erro nesse Script que eu não estou enxergando.
avatar
dinho
Membro
Membro

Masculino PONTOS : 610
REPUTAÇÃO : 5
Áreas de atuação : Desenhista e Modelador 3D.
Modelagem em Blender.
Respeito as regras :

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

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Dom Ago 14, 2016 11:21 pm

Cria um tópico e posta o seu script, que podemos ver.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por alemaopessoa em Seg Ago 29, 2016 1:32 pm

MarcosSchultz escreveu:Tem que anexar os AIPoints na array deles

como posso fazer isso? sou iniciante e não sei como fazer isso. alguém poderia me ajudar?

alemaopessoa
Iniciante
Iniciante

PONTOS : 233
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por AndyShow em Seg Ago 29, 2016 1:39 pm

alemaopessoa escreveu:
MarcosSchultz escreveu:Tem que anexar os AIPoints na array deles

como posso fazer isso? sou iniciante e não sei como fazer isso. alguém poderia me ajudar?

Assistiu o Video Tutorial ?

avatar
AndyShow
Instrutor

Masculino PONTOS : 1797
REPUTAÇÃO : 417
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por alemaopessoa em Seg Ago 29, 2016 2:02 pm

kara, eu ja coloquei a nav mesh agent no meu inimigo. primeiro eu copiei e colei o script "AIPOINTS" no inimigo, depois copiei e colei o script "VIDA PLAYER" no player, e agora por ultimo eu coloquei a nav mesh agent no inimigo e ainda ta dando erro de index. oque há de eraado? sou iniciante. ainda to apredendo. alguem poderia me explicar oque fazer detalhadamente?

alemaopessoa
Iniciante
Iniciante

PONTOS : 233
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por AndyShow em Seg Ago 29, 2016 2:04 pm

Faz o "Bake" do Terreno ou Plano no Windows/Navigation ?
avatar
AndyShow
Instrutor

Masculino PONTOS : 1797
REPUTAÇÃO : 417
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por alemaopessoa em Seg Ago 29, 2016 2:45 pm

eu fiz o "bake" e ainda ta com o erro de index.

alemaopessoa
Iniciante
Iniciante

PONTOS : 233
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por alemaopessoa em Seg Ago 29, 2016 7:52 pm

eu preciso criar os "waypoints"? se sim, como faço pra criar?

alemaopessoa
Iniciante
Iniciante

PONTOS : 233
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por AndyShow em Seg Ago 29, 2016 8:50 pm

Sim, vc Cria GameObjects Vazios ou Esferas,Cubos (Sem Colisao) etc... oque vc quiser e quantos quiser,Coloca no Lugar que vc quiser que o AI vá,e Linka no Script na Variável AIPoints
avatar
AndyShow
Instrutor

Masculino PONTOS : 1797
REPUTAÇÃO : 417
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por alemaopessoa em Seg Ago 29, 2016 9:25 pm

AndyShow escreveu:Sim, vc Cria GameObjects Vazios ou Esferas,Cubos (Sem Colisao) etc... oque vc quiser e quantos quiser,Coloca no Lugar que vc quiser que o AI vá,e Linka no Script na Variável AIPoints

então mano, ja criei varios gameobjects vazios. o meu problema agora é saber como linkar. nao sei onde eu posso fazer isso no script.

alemaopessoa
Iniciante
Iniciante

PONTOS : 233
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por MarcosSchultz em Ter Ago 30, 2016 11:33 pm

alemaopessoa escreveu:
AndyShow escreveu:Sim, vc Cria GameObjects Vazios ou Esferas,Cubos (Sem Colisao) etc... oque vc quiser e quantos quiser,Coloca no Lugar que vc quiser que o AI vá,e Linka no Script na Variável AIPoints

então mano, ja criei varios gameobjects vazios. o meu problema agora é saber como linkar. nao sei onde eu posso fazer isso no script.

Quando você joga o script no objeto, uma array é criada na aba Inspector. basta digitar o número de componentes da array e dar um enter... vários slots vão se abrir, para você linkar os objetos.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 8126
REPUTAÇÃO : 1143
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

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por arnaldojunior em Seg Mar 13, 2017 1:34 am

Olá, sou novo aqui no fórum, mas adorei os tópicos e estou aprendendo muito com eles, mas estou encontrando dificuldade para fazer este script funcionar. O erro que esta apresentando é este:

NullReferenceException: Object reference not set to an instance of an object
AIPOINTS.Update () (at Assets/AIPOINTS.cs:40)

Se puderem me ajudar serei muito grato.

PS: É um jogo de labirinto onde o guardião deve perambular pelo labirinto e só perseguir o player quando o vir. Configurei o navmesh com os aipoints como statics e tudo que acontece é que o guardião apenas persegue o player, graças a meu outro script.

arnaldojunior
Iniciante
Iniciante

PONTOS : 214
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por AndyShow em Seg Mar 13, 2017 2:49 am

A Linha do Erro é essa:   if (hit.collider.gameObject.CompareTag ("Player")) { // SE A TAG DO OBJETO QUE O RAYCAST COLIDIU FOR "PLAYER"


Veja se seu player esta coma TAG "Player"
avatar
AndyShow
Instrutor

Masculino PONTOS : 1797
REPUTAÇÃO : 417
Idade : 34
Áreas de atuação : Blender e Unity
Respeito as regras :

Ver perfil do usuário http://mundounity3d.forumbom.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por arnaldojunior em Seg Mar 13, 2017 11:35 am

Obrigado pela ajuda, agora descobri como funciona esse sistema de tag, mas estou com um novo problema: Meu guardião fica se movendo do primeiro aipoint para o segundo, o terceiro esta visível para ele, mas por algum motivo ele o ignora.
Não sei se ele não esta incrementando no "for" ou se ele não visualiza o aipoint(3).

arnaldojunior
Iniciante
Iniciante

PONTOS : 214
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inteligência artificial, inimigo e AIPoints

Mensagem por arnaldojunior em Seg Mar 13, 2017 11:46 am

Percebi que o guardião só se encaminha pro "gameobject" para o qual "esta virado", ou seja preciso de um comando que o direcione para o próximo "aipoint". Se puderem me ajudar com isto sei muito grato.

arnaldojunior
Iniciante
Iniciante

PONTOS : 214
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

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