SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[DÚVIDA] ANIMAÇÕES DA ARMA
[Parceria] Parceria com meu fórum
Menu principal
[2d] Pistola Usp-s (CSGO) vetorizada em 2d
alguem tem um modelo 3d de arvore realista
Vídeo - RPG - DEMO de uma parte do mapa + Vegetação
FPS MULTIPLAYER (PHOTON) : Salas não aparecem para os outros jogadores.
Como usar o GetButton(¨Vertical¨) e o GetButton(¨Horizontal¨)
Virtual joystick controle para movimentar personagem
Atualização 0.0.1.0 Do meu rpg cartoon . Deem suas opnioes
[_____CRONOGRAMA (ASSET DE VEÍCULOS)_____]
[Ajuda "Rec" na unity]
[____ADMINISTRADOR OFFLINE____]
TROCAR RODAS DO CARRO NA OFICINA
[Em teste] Jogo Fps sem nome :/
Como Posso Fazer isto ? Marco Uma Toggle no Canvas e um Mesh Seja ativado ?
[Duvida] Criei um script para rotacionar e andar e deu ruin.
character collide
-[ALGUEM SABE ALGUM ASSETS OU TENHA ALGUMA PASTA QUE TENHA AUDIOS CAR?]-
Duvida personagem ao passar certo ponto quero q um objeto suma e outro apareça.
(Pedido) Presciso de Um Script q quando eu Chegar em Um Local a camera alterar !
[Duvida] Rotate e RigidBody e Carro Andando de Lado.
[Dúvida] - Rotacionar a camera com touch screen
Deixar cenário 2d Totalmente escuro
Mirar e atirar na posiçao do mouse?
[TUTORIAL] Multiplicador de inimigos
MOVIMENTAÇÃO DE TANK DE GUERRA UNITY 3D
Quais são as ferramentas que as grandes empresas usam para fazer o mult-player na unity?
[RESOLVIDO] Ponteiro do mouse
Script de Spawn Aleatório
Salvar vida do player por tempo
To string return
programa que cria automaticamente Mapas com vegetacao
alguem sabe como eu posso colocar um joystick para mover a camera
O que está errado neste script ?
[TUTORIAL] Sistema COMPLETO de câmeras
[Modelo]Deem uma julgada ae garotada!
Reviver o Car Town EX
[Votação] Mira jogo fps ;-; [Terminada]
alguem sabe por que ta acontecendo isso com a minha unity
Script de seleção de player deu erro no UI
[RESOLVIDO] Como usar LookAt em apenas um eixo?
[AWP CS-GO] A PEDIDO DE UM Fã MEU
Mecanismo dos jogos da LEGO (troca de personagens)
Motivacional
DirectX ou Vulkan?
[Tutoria] Pegar item no chao. [Corrigido]
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
apagar posicoes ao morrer
Problema em criar tiros múltiplos
[____TÓPICO LIVRE____] FALE O QUE QUISER
[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
[TUTORIAL] Sistema de escolha de personagens
[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
Hoje à(s) 6:05 am
Hoje à(s) 4:39 am
Hoje à(s) 4:08 am
Hoje à(s) 4:02 am
Hoje à(s) 4:00 am
Hoje à(s) 3:57 am
Hoje à(s) 3:53 am
Hoje à(s) 3:49 am
Hoje à(s) 3:22 am
Hoje à(s) 3:15 am
Hoje à(s) 3:09 am
Ontem à(s) 11:40 pm
Ontem à(s) 11:06 pm
Ontem à(s) 10:19 pm
Ontem à(s) 10:03 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:21 pm
Ontem à(s) 8:55 pm
Ontem à(s) 8:48 pm
Ontem à(s) 8:45 pm
Ontem à(s) 7:57 pm
Ontem à(s) 7:42 pm
Ontem à(s) 7:26 pm
Ontem à(s) 1:20 pm
Ontem à(s) 12:51 pm
Ontem à(s) 12:06 pm
Ontem à(s) 12:02 pm
Ontem à(s) 10:14 am
Ontem à(s) 7:23 am
Ontem à(s) 7:21 am
Ontem à(s) 5:51 am
Ontem à(s) 4:46 am
Ontem à(s) 12:24 am
Qua Abr 26, 2017 11:05 pm
Qua Abr 26, 2017 10:35 pm
Qua Abr 26, 2017 9:23 pm
Qua Abr 26, 2017 9:14 pm
Qua Abr 26, 2017 6:53 pm
Qua Abr 26, 2017 5:55 pm
Qua Abr 26, 2017 5:53 pm
Qua Abr 26, 2017 5:05 pm
Qua Abr 26, 2017 2:27 pm
Qua Abr 26, 2017 1:55 pm
Qua Abr 26, 2017 1:20 pm
Qua Abr 26, 2017 1:18 pm
Qua Abr 26, 2017 1:17 pm
Qua Abr 26, 2017 6:42 am
Ter Abr 25, 2017 10:07 pm
Ter Abr 25, 2017 9:57 pm
Ter Abr 25, 2017 9:55 pm
Ter Abr 25, 2017 9:33 pm
Ter Abr 25, 2017 9:05 pm
Ter Abr 25, 2017 8:29 pm
Ter Abr 25, 2017 5:52 pm
Ter Abr 25, 2017 1:55 pm
Ter Abr 25, 2017 12:26 pm
Ter Abr 25, 2017 12:24 pm
Ter Abr 25, 2017 9:53 am
Ter Abr 25, 2017 7:46 am
Ter Abr 25, 2017 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:24 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
Gabriel César O
LucasPettine
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Gabriel César O
Madness
MarcosSchultz
wender
PauloFR
PauloFR
DuViDoSo34
PauloFR
PauloFR
PauloFR
nicolasfive
rafaelllsd
marcos4503
IanLuan
rafaelllsd
Callyde Jr
IanLuan
sabbath
GloryGames
GloryGames
Callyde Jr
maikonluis
artplayer
Gabriel César O
Lando
silva75
DuViDoSo34
thiagograssi
PauloFR
rafaelllsd
IanLuan
916anderson
DuViDoSo34
IanLuan
HeF Software
Moa
DuViDoSo34
Weverton Borges da Silva
John Rambo
John Rambo
thzin
bravoent
JailtonUnity
Mic4el
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
HeF Soft
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

(Ajuda) Inteligencia do inimigo

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

DÚVIDA (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Dom Maio 01, 2016 2:40 am

Olá, estou aqui com uma duvida de um assunto complexo que é inteligencia artificial, estou fazendo um script bem simples para quando o player estiver perto o inimigo atira nele, mais caso ele não esteja ele vai no inimigo mais proximo, ou pelo menos isto que tentei repassar para o script. só que quando duplico o inimigo um segue normalmente as regras só que o outro fica parado, mas quando eu chego perto ele vai em mim, só que quando saio de perto ele para novamente e não segue o outro inimigo. no inimigo duplicado ele não recebe a distancia do outro.
Código:

   private GameObject Player, Inimigos;
   private NavMeshAgent naveMesh;
   public float distancia, distanciaInimigo;
   public bool Instancia, contar, playerPerto;
   public Rigidbody Pedra;
   public Transform posicao;
   private float tempo;
   void Start (){
      Instancia = true;
      contar = false;
      naveMesh = transform.GetComponent<NavMeshAgent> ();
      Player = GameObject.FindWithTag ("Player");
      Inimigos = GameObject.FindWithTag ("Inimigo");
      playerPerto = false;

   }
   void Update (){
      distancia = Vector3.Distance (Player.transform.position, transform.position);
      distanciaInimigo = Vector3.Distance (Inimigos.transform.position, transform.position);
      if (distancia <= 30) {
         naveMesh.destination = Player.transform.position;
         playerPerto = true;
      } else {
         playerPerto = false;
      }
      if (Instancia == true && distancia <= 30) {
         Instantiate (Pedra, posicao.position, transform.rotation);
         Instancia = false;
         contar = true;
      }
      if (contar == true) {
         tempo += Time.deltaTime;
      }
      if (tempo >= 2) {
         tempo = 0;
         Instancia = true;
      }
      if (distanciaInimigo >= 0 && playerPerto == false) {
         naveMesh.destination = Inimigos.transform.position;
      }
      if (Instancia == true && distanciaInimigo >= 0) {
         Instantiate (Pedra, posicao.position, transform.rotation);
         Instancia = false;
         contar = true;
      }
   }
}
nunca fiz algo parecido, então para mim é meio complicado.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por weslleyFx em Dom Maio 01, 2016 1:16 pm

Fiz um script
caso não entenda diga que eu explico

Código:

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(NavMeshAgent))]
public class EnemyBehaviour : MonoBehaviour
{

    private GameObject player = null;
    private NavMeshAgent navMesh;
    private bool canShoot;

    public float distanceToShoot;

   void Start ()
    {
        navMesh = GetComponent<NavMeshAgent>();
        player = GameObject.FindWithTag("Player");
   }

   void Update ()
    {

        if (canShoot)
        {
            Shoot();
            navMesh.stoppingDistance = distanceToShoot;
        }
        else
        {
            navMesh.SetDestination(player.transform.position);
        }

        if (DistacePlayer <= distanceToShoot)
        {
            canShoot = true;
        }
        else
        {
            canShoot = false;
        }
   }

    private void Shoot()
    {
        Debug.Log("Atirando");
    }

    private float DistacePlayer
    {
        get
        {
            float distace = Vector3.Distance(transform.position, player.transform.position);
            return distace;
        }
    }
}

avatar
weslleyFx
Moderador

Masculino PONTOS : 2384
REPUTAÇÃO : 526
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Dom Maio 01, 2016 3:37 pm

Por favor gostaria da explicação.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por weslleyFx em Dom Maio 01, 2016 3:55 pm

Bom vamos começar pegando a distancia do player usando property (propriedade)
quando eu uso get ele e executado quando a propriedade é lida a sim retornando um valor

Código:

    private float DistacePlayer
    {
        get
        {
            float distace = Vector3.Distance(transform.position, player.transform.position);
            return distace;
        }
    }

logo se a distancia for menor ou igual canShoot = true se não canShoot = false

Código:


 if (DistacePlayer <= distanceToShoot)
        {
            canShoot = true;
        }
        else
        {
            canShoot = false;
        }


logo canShoot igual a true faço o inimigo parar e chamar a void Shot que sera dedicada ao tiro se não o inimigo vai em busca do player

Código:

        if (canShoot)
        {
            Shoot();
            navMesh.stoppingDistance = distanceToShoot;
        }
        else
        {
            navMesh.SetDestination(player.transform.position);
        }


like Very Happy
avatar
weslleyFx
Moderador

Masculino PONTOS : 2384
REPUTAÇÃO : 526
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Dom Maio 01, 2016 6:22 pm

Entendi, obrigado vou testar.

@Edit:
Fico bom, mais acho que não expressei minha ideia corretamente, é apenas assim, se o player tiver menos de 30 metros do inimigo o inimigo vai atrás do player se não ele vai atras de outro inimigo com a Tag(Inimigo). só que quando eu duplico o inimigo, o inimigo duplicado fica parado atirando no vento em vez de ir atrás de outro inimigo. mas se chego perto ele vem atras de mim, caso ao contrario fica parado atirando no vento. apenas é se eu tiver perto o inimigo vem atrás de mim se não ele vai atras de outro inimigo que esteja na fase.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por weslleyFx em Dom Maio 01, 2016 8:02 pm

rafaelllsd escreveu:Entendi, obrigado vou testar.

@Edit:
Fico bom, mais acho que não expressei minha ideia corretamente, é apenas assim, se o player tiver menos de 30 metros do inimigo o inimigo vai atrás do player se não ele vai atras de outro inimigo com a Tag(Inimigo). só que quando eu duplico o inimigo, o inimigo duplicado fica parado atirando no vento em vez de ir atrás de outro inimigo. mas se chego perto ele vem atras de mim, caso ao contrario fica parado atirando no vento. apenas é se eu tiver perto o inimigo vem atrás de mim se não ele vai atras de outro inimigo que esteja na fase.


trocando em miudos vc quer que o inimigo vá a traz do player se a distancia for menor que 30 se não ele vai em busca de outro player mais próximo ?
avatar
weslleyFx
Moderador

Masculino PONTOS : 2384
REPUTAÇÃO : 526
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Dom Maio 01, 2016 8:17 pm

praticamente sim. tentei no script acima deu +/- certo mais tem esse bug do inimigo clone n seguir o outro caso esteja longe do player.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por weslleyFx em Dom Maio 01, 2016 9:19 pm

rafaelllsd escreveu:praticamente sim. tentei no script acima deu +/- certo mais tem esse bug do inimigo clone n seguir o outro caso esteja longe do player.

vc tem skype ? se tiver manda ai la vc me explica direito
avatar
weslleyFx
Moderador

Masculino PONTOS : 2384
REPUTAÇÃO : 526
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Dom Maio 01, 2016 9:51 pm

Eu uso steam em vez de skype. é aquilo que você disse "trocando em miudos vc quer que o inimigo vá a traz do player se a distancia for menor que 30 se não ele vai em busca de outro player mais próximo ?"
Sim é isso, mais o inimigo segue outro inimigo entendeu, como se o outro inimigo fosse um player. ou seja um inimigo mata o outro '-'
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por weslleyFx em Dom Maio 01, 2016 9:57 pm

rafaelllsd escreveu:Eu uso steam em vez de skype. é aquilo que você disse "trocando em miudos vc quer que o inimigo vá a traz do player se a distancia for menor que 30 se não ele vai em busca de outro player mais próximo ?"
Sim é isso, mais o inimigo segue outro inimigo entendeu, como se o outro inimigo fosse um player. ou seja um inimigo mata o outro '-'

Então todos matão todos ?
avatar
weslleyFx
Moderador

Masculino PONTOS : 2384
REPUTAÇÃO : 526
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Dom Maio 01, 2016 10:02 pm

Sim, é tipo um multiplayer com bot, só que offline '--'
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por weslleyFx em Seg Maio 02, 2016 12:25 am

isso podia ser resolvido fazendo com que todos os "jogadores" tivessem a mesma Tag Mais acho que você quer preservar certo ? se for o caso o jeito que pensei no momento foi esse tem vários outros mais creio que esse seja mais simples de compreender e mais didático


pegando os componentes e removendo um inimigo da lista que no caso ele mesmo

Código:

    void Start ()
    {
        navMesh = GetComponent<NavMeshAgent>();
        GetEnemy();
        enemy.Remove(gameObject);
    }

   a variável enemyForFollow e igualada FindEnemy a propriedade que retorna o player que esta em seu range(alcance)
   logo se enemyForFollow não for null ele vai executar o bloco

   
Código:

    void Update()
    {

        enemyForFollow = FindEnemy;

        if (enemyForFollow != null)
        {
            if (thisAttack)
            {
                Shoot();
                navMesh.stoppingDistance = distanceToShoot;
            }
            else
            {
                navMesh.SetDestination(enemyForFollow.transform.position);
            }


            if (DistacePlayer <= distanceToShoot)
            {
                thisAttack = true;
            }
            else
            {
                thisAttack = false;
            }

        }
        else
        {
            navMesh.SetDestination(transform.position);
        }

    }
    

   procurando todos os objetos e adicionando e suas determinadas matrizes
   logo depois adicionado a lista de inimigos

   
Código:

    private void GetEnemy()
    {
        GameObject[] playersFind = GameObject.FindGameObjectsWithTag("Player");
        GameObject[] enemiesFind = GameObject.FindGameObjectsWithTag("Enemy");

        enemy.AddRange(playersFind);
        enemy.AddRange(enemiesFind);
    }
    


   esse e propriedade que retornara um player que esta em seu alcance fazendo uma pesquisa na lista de inimigos

   
Código:

    private GameObject FindEnemy
    {
        get
        {
            foreach (var player in enemy)
            {
                float tempDistance = Vector3.Distance(transform.position, player.transform.position);

                if (tempDistance <= distanceForFollow)
                {
                    return player;
                }
            }

            return null;
        }
    }
    

script
Código:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[RequireComponent(typeof(NavMeshAgent))]
public class EnemyBehaviour : MonoBehaviour
{

    private NavMeshAgent navMesh;
    private bool thisAttack;

    public float distanceForFollow;
    public float distanceToShoot;
    public List<GameObject> enemy;

    private GameObject enemyForFollow;


    void Start ()
    {
        navMesh = GetComponent<NavMeshAgent>();
        GetEnemy();
        enemy.Remove(gameObject);
    }

    void Update()
    {

        enemyForFollow = FindEnemy;

        if (enemyForFollow != null)
        {
            if (thisAttack)
            {
                Shoot();
                navMesh.stoppingDistance = distanceToShoot;
            }
            else
            {
                navMesh.SetDestination(enemyForFollow.transform.position);
            }


            if (DistacePlayer <= distanceToShoot)
            {
                thisAttack = true;
            }
            else
            {
                thisAttack = false;
            }

        }
        else
        {
            navMesh.SetDestination(transform.position);
        }

    }

    private void Shoot()
    {
        Debug.Log("Atirando");
    }

    private void GetEnemy()
    {
        GameObject[] playersFind = GameObject.FindGameObjectsWithTag("Player");
        GameObject[] enemiesFind = GameObject.FindGameObjectsWithTag("Enemy");

        enemy.AddRange(playersFind);
        enemy.AddRange(enemiesFind);
    }

    private GameObject FindEnemy
    {
        get
        {
            foreach (var player in enemy)
            {
                float tempDistance = Vector3.Distance(transform.position, player.transform.position);

                if (tempDistance <= distanceForFollow)
                {
                    return player;
                }
            }

            return null;
        }
    }

    private float DistacePlayer
    {
        get
        {
            if (enemyForFollow != null)
            {
                float distace = Vector3.Distance(transform.position, enemyForFollow.transform.position);
                return distace;
            }

            return 0;
        }
    }
}


talvez seja oque vc queira ou não '-' caso seja vai ser de grande importância que vc intenda o Código


Última edição por weslleyFx em Qui Maio 05, 2016 10:03 pm, editado 1 vez(es)
avatar
weslleyFx
Moderador

Masculino PONTOS : 2384
REPUTAÇÃO : 526
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: (Ajuda) Inteligencia do inimigo

Mensagem por rafaelllsd em Seg Maio 02, 2016 1:00 am

Funcionou, era o que eu queria obrigado pela ajuda.
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 1661
REPUTAÇÃO : 211
Idade : 16
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

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

- Tópicos similares

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