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:
[Tutoria] Pegar item no chao.
Menu principal
Reviver o Car Town EX
Deixar cenário 2d Totalmente escuro
Vídeo - RPG - DEMO de uma parte do mapa + Vegetação
Galera?, Vamos Trocar umas Musicas Favoritas?
[Duvida]Como fazer um objeto Filho de outro
[Duvidas Com Arrays]
Como mudar o prefab do network por meio de uma UI
[2d] Pistola Usp-s (CSGO) vetorizada em 2d
apagar posicoes ao morrer
Problema em criar tiros múltiplos
[Votação] Mira para jogo de fps ;-;
[AWP CS-GO] A PEDIDO DE UM Fã MEU
[____TÓPICO LIVRE____] FALE O QUE QUISER
alguem sabe como eu posso colocar um joystick para mover a camera
Ponteiro do mouse
Script de Spawn Aleatório
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Mira de Third Person Shooter
NavMeshAgent não aparece no script
AI simples inimiga
Criar jogo estilo clash of clans
Como fazer o personagem virar a cabeça junto com a camera, em jogo de terceira pessoa?
[Ajuda] Third Person subir degrau
Script para sistema de genética
Adicionar arma em uma animação do Mixamo
Meu rpg Lendarios
[Duvida]Centralizar Cursor
[TUTORIAL] SISTEMA DE TREM.
[Modelo 3d] Machadinha
Enabling or adding a Renderer during rendering; this is not allowed
[TUTORIAL] Importando animação do mixamo para Unity3d.
Dúvidas na estrutura de puzzle.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Alguem que Conhece boas musicas para um game de suspense
É possivel aumentar a renderização de distancia da câmera?
Trocar Position Por Rotation
[RESOLVIDO] Script mira mouse?
Check-in no facebook dentro da Unity
Salvar vida do player por tempo
[TUTORIAL] Sistema de escolha de personagens
character collide
[Socorro] Deu Um Erro Aqui e Eu Acho q Fiz Tudo Certo.
[Asset] Efeitos Realistas Pack V3 + Download
[Duvida]Como pegar todos os arquivos de uma pasta.
Tutorial PassarValor entre Scenas
Modelo HK SL8 (arma)
Compilar para Android
Problema com script para joystick virtual
CÂMERA ORBITAL PARA ANDROID
Mudar de cana ao clicar numa tecla
Pack de arvores Lowpoly
[TUTORIAL] Banco de dados || MySQL
Preciso de integrantes!
problema para acessar arquivos da pasta StreamingAssets
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Cenários Espaciais vs Escala
RESTAURAR A POSIÇÃO DO CARRO
-[COMO FAÇO O TOUCH PAD DO UNITY MOVER MINHA CAMERA?]-
-[ COMO FAÇO PARA MOVER UM OBJ NO EIXO "Y" COM UM BOTÃO? ]-
Spotlight Otimizada para Android
Modelo AK-12 (Arma)
Clicar no botão
Alguém pode me indicar um site de tutorial de c# sem ser em videos
A.S TRUCK
[Tutorial]C# 1 variáveis.
Audio Player C#
[Duvida] NN consigo importar um asset
Qual o melhor pra vcs ?
TROCAR RODAS DO CARRO NA OFICINA
[Terrorista] Avaliem ae galerinha!
[Tutorial] Script de um animal!!!
[Ajuda]Apenas um simples favorzinho que vai me ajudar muito
ANIMAÇÃO DE TIRO NO UNITY
touch botão sair som
Problema com player e animação
[TUTORIAL] Multiplayer global em múltiplos dispositivos
[TUTORIAL] Como salvar dados em arquivos de texto .txt, .ini ou . qualquer coisa.
como q eu faço quando aperto um botão UI Aparece outro Canvas ?
Salvar dados do player ao trocar de cenas
Blender Duvida
(ATUALIZADO) Demo Jogo para testes...(ANDROID)
Erro
[ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais
[Dúvida] Erro ao tentar compilar jogo para android
Quais são as ferramentas que as grandes empresas usam para fazer o mult-player na unity?
Script para salva o jogo?
[____FÓRUM SEM PROPAGANDAS____]
Menu Marcos Não Fuinciona Em Android !
Micro escala
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
SCRIPT QUE, AO APERTAR O BOTÃO DIREITO DO MOUSE DÊ ZOOM NA CAMERA
Ajuda em animação mira
[Em teste] Jogo sem nome :/
como saber a versao que coloco em meu game
Nao quero um script novo quero aprender onde errei
Asset Architecture
[TUTORIAL] Sistema COMPLETO de câmeras
Hoje à(s) 6:42 am
Hoje à(s) 4:00 am
Hoje à(s) 1:38 am
Ontem à(s) 11:35 pm
Ontem à(s) 10:30 pm
Ontem à(s) 10:07 pm
Ontem à(s) 9:57 pm
Ontem à(s) 9:55 pm
Ontem à(s) 9:33 pm
Ontem à(s) 9:18 pm
Ontem à(s) 9:05 pm
Ontem à(s) 8:29 pm
Ontem à(s) 6:22 pm
Ontem à(s) 6:04 pm
Ontem à(s) 5:52 pm
Ontem à(s) 5:38 pm
Ontem à(s) 3:25 pm
Ontem à(s) 2:05 pm
Ontem à(s) 1:55 pm
Ontem à(s) 12:26 pm
Ontem à(s) 12:24 pm
Ontem à(s) 9:53 am
Ontem à(s) 7:46 am
Ontem à(s) 12:40 am
Seg Abr 24, 2017 9:55 pm
Seg Abr 24, 2017 8:29 pm
Seg Abr 24, 2017 8:04 pm
Seg Abr 24, 2017 4:44 pm
Seg Abr 24, 2017 4:22 pm
Seg Abr 24, 2017 12:51 pm
Seg Abr 24, 2017 9:52 am
Seg Abr 24, 2017 9:50 am
Seg Abr 24, 2017 1:06 am
Dom Abr 23, 2017 10:09 pm
Dom Abr 23, 2017 10:09 pm
Dom Abr 23, 2017 9:21 pm
Dom Abr 23, 2017 8:56 pm
Dom Abr 23, 2017 8:49 pm
Dom Abr 23, 2017 8:39 pm
Dom Abr 23, 2017 8:20 pm
Dom Abr 23, 2017 7:44 pm
Dom Abr 23, 2017 7:24 pm
Dom Abr 23, 2017 7:05 pm
Dom Abr 23, 2017 6:19 pm
Dom Abr 23, 2017 6:10 pm
Dom Abr 23, 2017 5:12 pm
Dom Abr 23, 2017 3:52 pm
Dom Abr 23, 2017 2:25 pm
Dom Abr 23, 2017 2:23 pm
Dom Abr 23, 2017 12:06 pm
Dom Abr 23, 2017 11:47 am
Dom Abr 23, 2017 10:54 am
Dom Abr 23, 2017 9:28 am
Dom Abr 23, 2017 2:07 am
Sab Abr 22, 2017 10:38 pm
Sab Abr 22, 2017 7:22 pm
Sab Abr 22, 2017 5:17 pm
Sab Abr 22, 2017 5:00 pm
Sab Abr 22, 2017 4:56 pm
Sab Abr 22, 2017 3:31 pm
Sab Abr 22, 2017 3:27 pm
Sab Abr 22, 2017 2:09 pm
Sab Abr 22, 2017 11:22 am
Sab Abr 22, 2017 11:19 am
Sab Abr 22, 2017 11:10 am
Sab Abr 22, 2017 12:29 am
Sex Abr 21, 2017 11:44 pm
Sex Abr 21, 2017 10:12 pm
Sex Abr 21, 2017 9:59 pm
Sex Abr 21, 2017 9:50 pm
Sex Abr 21, 2017 8:59 pm
Sex Abr 21, 2017 7:25 pm
Sex Abr 21, 2017 6:17 pm
Sex Abr 21, 2017 3:07 pm
Sex Abr 21, 2017 1:43 pm
Sex Abr 21, 2017 1:31 pm
Sex Abr 21, 2017 12:01 pm
Sex Abr 21, 2017 11:46 am
Sex Abr 21, 2017 11:32 am
Sex Abr 21, 2017 10:15 am
Sex Abr 21, 2017 5:46 am
Sex Abr 21, 2017 1:49 am
Qui Abr 20, 2017 11:45 pm
Qui Abr 20, 2017 11:37 pm
Qui Abr 20, 2017 9:57 pm
Qui Abr 20, 2017 8:42 pm
Qui Abr 20, 2017 8:38 pm
Qui Abr 20, 2017 8:34 pm
Qui Abr 20, 2017 8:21 pm
Qui Abr 20, 2017 8:15 pm
Qui Abr 20, 2017 7:40 pm
Qui Abr 20, 2017 1:08 pm
Qui Abr 20, 2017 1:03 pm
Qui Abr 20, 2017 12:58 pm
Qui Abr 20, 2017 12:56 pm
Qui Abr 20, 2017 12:51 pm
Qui Abr 20, 2017 8:56 am
Qua Abr 19, 2017 7:19 pm
Qua Abr 19, 2017 7:17 pm
DuViDoSo34
ffabim
thiagograssi
IanLuan
Madness
Weverton Borges da Silva
John Rambo
John Rambo
thzin
IanLuan
bravoent
JailtonUnity
rafaelllsd
DuViDoSo34
Mic4el
PauloFR
PauloFR
Ále Kauvy
GameS DoG
Callyde Jr
xXGianlucksXx
dstaroski
dstaroski
916anderson
Zecandy
DuViDoSo34
lelouchsdky
zZAndersonZz
DuViDoSo34
rafaelllsd
PauloFR
dstaroski
Hardencio
hbesm
cody0033
DuViDoSo34
Eric Vinicius
HeF Soft
Callyde Jr
Hardencio
Callyde Jr
HeF Soft
mtmateus
DuViDoSo34
weslleyFx
Matrirxp
Callyde Jr
DuViDoSo34
Ále Kauvy
dstaroski
HeF Soft
dstaroski
Mic4el
NyanHeavyBR
cody0033
erick.q.faria
MarcosSchultz
JohnSantosGamer
rafaelllsd
MrTFGamer1
MrTFGamer1
IanLuan
DuViDoSo34
weslleyFx
weslleyFx
Gabriel César O
Strogonoff
Matrirxp
JailtonUnity
PauloFR
PauloFR
thzin
sabbath
dstaroski
PauloFR
deikson
iagokennedyy
JailtonUnity
DuViDoSo34
John Rambo
Callyde Jr
Dom3000
iagokennedyy
WiredD
Ronmaster
JailtonUnity
artplayer
Callyde Jr
MarcosSchultz
HeF Soft
JohnSantosGamer
Gabriel César O
Gabriel César O
deikson
PauloFR
Encracker
weslleyFx
Callyde Jr
PauloFR

[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 : 8436
REPUTAÇÃO : 1250
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 : 861
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 : 8436
REPUTAÇÃO : 1250
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 : 861
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 : 8436
REPUTAÇÃO : 1250
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 : 861
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 : 777
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 : 8436
REPUTAÇÃO : 1250
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 : 732
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 : 8436
REPUTAÇÃO : 1250
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 : 978
REPUTAÇÃO : 6
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 : 8436
REPUTAÇÃO : 1250
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 : 978
REPUTAÇÃO : 6
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 : 978
REPUTAÇÃO : 6
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 : 8436
REPUTAÇÃO : 1250
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 : 704
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 : 8436
REPUTAÇÃO : 1250
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 : 1159
REPUTAÇÃO : 26
Idade : 23
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 : 8436
REPUTAÇÃO : 1250
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 : 1159
REPUTAÇÃO : 26
Idade : 23
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 : 611
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 : 1002
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 : 8436
REPUTAÇÃO : 1250
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 : 1002
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 : 8436
REPUTAÇÃO : 1250
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 : 512
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 : 8436
REPUTAÇÃO : 1250
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
Programador

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


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 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 : 8436
REPUTAÇÃO : 1250
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
Programador

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


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 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 : 611
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 : 8436
REPUTAÇÃO : 1250
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 : 474
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 : 640
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 : 855
REPUTAÇÃO : 194
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 : 640
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 : 8436
REPUTAÇÃO : 1250
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 : 263
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 : 1909
REPUTAÇÃO : 459
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 : 263
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 : 1909
REPUTAÇÃO : 459
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 : 263
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 : 263
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 : 1909
REPUTAÇÃO : 459
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 : 263
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 : 8436
REPUTAÇÃO : 1250
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 : 244
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 : 1909
REPUTAÇÃO : 459
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 : 244
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 : 244
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