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:
[TUTORIAL] Camera que segue o Player ( estilo GTA )
[____SUGESTÕES PARA O FÓRUM____]
Script De Seleção de Objetos
SpaceInvaders - Android
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
[____NOVA ÁREA____] Projetos em andamento
[DEVLOG] Projeto Coming Back(AHOWNN town) um MMO RPG 3D Game(Protótipo)
(DUVIDA) Acessar um valor de outro Script em c#
Videos Recompensados AdMob
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[TUTORIAL] Mensagem aparecer na tela conforme a distância do jogador (Unity 5)
Jogo
Direitos autorais de personagens.
Jogo
Pegar item...
Fazer 4 Objetos receberem cada um uma Tag aleatoriamente
Acessar funçoes de outro script?
Criar os scrips no Android ?????
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
como Desativar do inspector no script ?
Tem um modo facil para esperar tanto tempo e ocorrer uma açao?
Qual o melhor lugar para vender o jogo de PC e ganhar dinheiro sem ser a STEAM?
Mudar de scene multiplayer?
Raycast em circulos(point to ckick)
Problema com mutiplayer
Script LUZ PISCANDO
(duvida) porque esse erro estranho acontece com o modelo do scketchup
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Como tira aquele caixinha que aparece erros ou avisos no jogo depois de fazer a build?
problema com ADMOB
Problema em dedectar a TAG
[DUVIDA] Da para colocar anúncios em jogos para PC ?
Lookat para o mais próximo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Dano no inimigo
[Jogo] Flap OCO (Android & PC)
Como eu faço sprites ficarem escuras anoite?
Object Pooling
Como faz aparecer uma mensagem quando o jogador sair do jogo?
Inventario e craft estilo ark
como fazer o player aparecer do outro lado da porta quando muda de cena?
Quando fizer a build e recomendado deixar o architeture no x86 ou x86_64?
Como Chamar o Audio
Cenário
Unity não reconhece meu celular
Textos de UI ficão com qualidade ruim
Como faço para a musica continuar tocando quando muda de cena?
Meu script de ser morto atropelado não funciona
[RESOLVIDO] Arrumar erros
[Asset] Simple Unity Assets - Pacote de assets para Unity.
Mostrar Pontuação No Game Over
Como eu faço um ontrigger "invertido"?
[RESOLVIDO] COMO FAZ PARA FAZER 2 TERRAINS TOTALMENTE DIFERENTES DO OUTRO?
MultiPlayer Unity Para Android!
Props Animations Asset
Mostrar Pontuação no game over
Terminei o meu jogo, mas algo deu errado.
[ASSET] Facilitação de controle de objetos
Problema em listar salas
Ranking com nome
Novo jogo - Stackx
Segurança no Unity
[TUTORIAL] Entrar no carro estilo GTA
[RESOLVIDO] Tem como melhorar a colisao? os objetos entram nos outros, caem do chao ,etc..
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
DÚVIDA RECRIAR EFEITO NA UNITY
Me ofereço como escritor
Como adicionar uma força oposta a colisão no rigidbody?
Ajuda com script
[Dúvida]Erro error CS1525: Unexpected symbol 'u' em script
[Resolvido] É possível usar a unity com outros programas ? (config do pc na dúvida ;-; )
[Dúvida]Erro "UnityEngine.AI.NavMeshAgent.Stop()' is obsolete" como resolver ?
[Dúvida]Erro "Building to the assets folder is not allowed" ao tentar fazer build
[Equipe]Preciso de ajuda de um programador
CAMERA ENTRANDO NA PAREDE
como posso fazer um corpo perder a animação
Teste De Multiplayer
Como adicionar uma força oposta a colisão no rigidbody?
Usar o unity sem internet
Cenário jogo Endless Running
Photon Unity como funcina?
UM FANTASMA APARECEU NO MEU JOGO.
Como mudar cor do botao UI
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Como sincronizar objetos do client para o host
Em breve EDU_animal-controle
Preciso de level designers com conhecimento avançado no Blender
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[Duvida] Script pegar itens
Um processador de 2 nucleos versus um de 8 nucleos tem diferença na Unity?
[TUTORIAL] SALVAR JOGO AUTOMATICAMENTE
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Como faço para deixar o objeto transparente ao passar atraz?
Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
Existe Alguma VOID que atualize menos que a update
Movimento dos seios e cabelo
[TUTORIAL] Barra de VIDA / HP contínua
[Modelo]Modelo Com osso[Modelo]
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Hoje à(s) 8:48 pm
Hoje à(s) 8:37 pm
Hoje à(s) 7:57 pm
Hoje à(s) 6:24 pm
Hoje à(s) 6:08 pm
Hoje à(s) 5:41 pm
Hoje à(s) 5:35 pm
Hoje à(s) 5:32 pm
Hoje à(s) 4:17 pm
Hoje à(s) 3:51 pm
Hoje à(s) 3:47 pm
Hoje à(s) 1:53 pm
Hoje à(s) 1:06 pm
Hoje à(s) 12:20 pm
Hoje à(s) 11:15 am
Hoje à(s) 10:44 am
Hoje à(s) 7:27 am
Hoje à(s) 7:20 am
Hoje à(s) 3:46 am
Ontem à(s) 11:22 pm
Ontem à(s) 9:49 pm
Ontem à(s) 9:44 pm
Ontem à(s) 7:48 pm
Ontem à(s) 7:16 pm
Ontem à(s) 7:11 pm
Ontem à(s) 6:41 pm
Ontem à(s) 6:41 pm
Ontem à(s) 6:06 pm
Ontem à(s) 2:31 pm
Ontem à(s) 1:23 pm
Ontem à(s) 1:18 pm
Ontem à(s) 1:00 pm
Ontem à(s) 10:54 am
Ontem à(s) 5:59 am
Ontem à(s) 12:55 am
Dom Nov 19, 2017 10:05 pm
Dom Nov 19, 2017 9:52 pm
Dom Nov 19, 2017 8:15 pm
Dom Nov 19, 2017 8:07 pm
Dom Nov 19, 2017 7:13 pm
Dom Nov 19, 2017 7:01 pm
Dom Nov 19, 2017 6:43 pm
Dom Nov 19, 2017 6:15 pm
Dom Nov 19, 2017 5:23 pm
Dom Nov 19, 2017 5:13 pm
Dom Nov 19, 2017 4:21 pm
Dom Nov 19, 2017 2:43 pm
Dom Nov 19, 2017 1:26 pm
Dom Nov 19, 2017 4:10 am
Dom Nov 19, 2017 2:00 am
Sab Nov 18, 2017 10:35 pm
Sab Nov 18, 2017 5:50 pm
Sab Nov 18, 2017 1:30 pm
Sab Nov 18, 2017 10:30 am
Sab Nov 18, 2017 7:29 am
Sex Nov 17, 2017 10:05 pm
Sex Nov 17, 2017 5:10 pm
Sex Nov 17, 2017 4:43 pm
Sex Nov 17, 2017 3:20 pm
Sex Nov 17, 2017 2:01 pm
Sex Nov 17, 2017 11:46 am
Sex Nov 17, 2017 8:33 am
Sex Nov 17, 2017 12:31 am
Qui Nov 16, 2017 11:18 pm
Qui Nov 16, 2017 11:12 pm
Qui Nov 16, 2017 10:48 pm
Qui Nov 16, 2017 10:47 pm
Qui Nov 16, 2017 10:46 pm
Qui Nov 16, 2017 10:20 pm
Qui Nov 16, 2017 10:15 pm
Qui Nov 16, 2017 10:09 pm
Qui Nov 16, 2017 8:13 pm
Qui Nov 16, 2017 8:10 pm
Qui Nov 16, 2017 8:07 pm
Qui Nov 16, 2017 7:56 pm
Qui Nov 16, 2017 5:39 pm
Qui Nov 16, 2017 5:21 pm
Qui Nov 16, 2017 3:33 pm
Qui Nov 16, 2017 2:56 pm
Qui Nov 16, 2017 1:37 pm
Qui Nov 16, 2017 1:20 pm
Qui Nov 16, 2017 11:24 am
Qua Nov 15, 2017 9:32 pm
Qua Nov 15, 2017 9:00 pm
Qua Nov 15, 2017 7:05 pm
Qua Nov 15, 2017 6:05 pm
Qua Nov 15, 2017 2:09 pm
Qua Nov 15, 2017 10:35 am
Qua Nov 15, 2017 2:24 am
Ter Nov 14, 2017 9:54 pm
Ter Nov 14, 2017 9:53 pm
Ter Nov 14, 2017 6:41 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 12:00 pm
Seg Nov 13, 2017 3:12 pm
Seg Nov 13, 2017 8:27 am
Dom Nov 12, 2017 10:09 pm
Dom Nov 12, 2017 8:52 pm
Phph09
Phph09
recagonlei
junkflash30
glauco
recagonlei
recagonlei
recagonlei
Duarte
MarcosSchultz
MarcosSchultz
Nyland
Callyde Jr
Germanor
Ronnisz
googolepton
Callyde Jr
Phph09
rafaelllsd
RW.
recagonlei
recagonlei
Phph09
recagonlei
recagonlei
dimmuo
glauco
Phph09
DUT
junkflash30
DUT
ronito
recagonlei
glauco
recagonlei
DUT
DUT
Phph09
Phph09
rafaelllsd
glauco
DUT
RW.
googolepton
otavio00augusto
DUT
DUT
DUT
jamaisfiih
dimmuo
jamaisfiih
Zecandy
DUT
Phph09
Phph09
jamaisfiih
Josivaldo Augusto
BRGC
MRX
recagonlei
recagonlei
sabbath
recagonlei
luiz12345
dstaroski
rafaelllsd
recagonlei
rafaelllsd
recagonlei
recagonlei
recagonlei
PauloFR
PauloFR
PauloFR
Diego Felix
ronito
ronito
Phph09
recagonlei
jamaisfiih
MRX
dstaroski
rafaelllsd
ronito
Phph09
Unidade3d5
AnderGames
Phph09
Giwn
DUT
Zecandy
Callyde Jr
natanael.olimpio
natanael.olimpio
recagonlei
stratengine
Phph09
felipehobs1
HPGBR

[TUTORIAL] IA Simples

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

TUTORIAL [TUTORIAL] IA Simples

Mensagem por Matrirxp em Qua Mar 22, 2017 12:17 am

Eae galera.
Resolvi fazer um tutorial bem simples e rápido aqui para vocês.
Como ja esta no titulo vou ensinar a fazer uma ia simples de um inimigo. 
Então Vamos la:

Primeira passo:
Vamos criar um terreno,depois coloque um FirstPersonalControler (Nosso Player) e crie um inimigo no meu caso o inimigo vai ser um cubo.


Segundo passo:
Crie uma script C#, essa é a script do inimigo IA.

Vamos criar 3 variáveis 

Código:
using UnityEngine;
using System.Collections;

public class Inimigo : MonoBehaviour {

public float vida;//Vida do inimigo
public  float dano;//Dano do inimigo
public  float velo;//Velocidade do inimigo


 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
 
 }
}


Primeira coisa a fazer e setar um alvo para o inimigo e fazer ele mirar na direção dele;
Vamos usar um Quaternion para isso:

Crie uma variável tipo Transform com o nome alvo e uma tipo Quaternion:

Código:
public Transform alvo;//Mira
Quaternion alvoroteition;
agora no nosso Void update coloque:

Código:
void Update () {

alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);

transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);
  
}

Isso vai fazer nosso inimigo mirar no nosso player, mas ficaria melhor se agente limita-se o campo de visão dele, vamos fazer assim:

Crie uma variável: float campo;   

Código:
void Update () {

campo = Vector3.Distance (transform.position, alvo.transform.position);

//O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
if(campo > 2 & campo < 10){

alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);
transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);

    }  

}


Proto agora nosso inimigo só vai mirar no player se a distancia entre eles for menor que 10.

Terceiro passo:
Seguir o player.
vamos usar um AddRelativeForce, assim:

Crie uma variável: Rigidbody rb;

No Void Start vamos pegar o componente Rigidbody:

Código:
Rigidbody rb;

void Start(){
rb = GetComponent<Rigidbody> ();
}

Dentro do nosso Void Update:


Código:
void Update () {

 campo = Vector3.Distance (transform.position, alvo.transform.position);

 //O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
 if(campo > 2 & campo < 10){
 alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);
 transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);

 //isso vai fazer ele seguir o player
 rb.AddRelativeForce(Vector3.forward * velo);

 }  

 }
 
Script inteira:

Código:
using UnityEngine;
using System.Collections;

public class Inimigo : MonoBehaviour {

   public float vida;//Vida do inimigo
   public float dano;//Dano do inimigo
   public float velo;//Velocidade do inimigo
   public Transform alvo;
   Rigidbody rb;
   Quaternion alvoroteition;
   float campo;

   // Use this for initialization
   void Start () {
      rb = GetComponent<Rigidbody> ();
   }
   
   // Update is called once per frame
   void Update () {

      campo = Vector3.Distance (transform.position, alvo.transform.position);

      //O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
      if(campo > 2 & campo < 10){
         alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);
         transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);

         //isso vai fazer ele seguir o player
         rb.AddRelativeForce(Vector3.forward * velo);

      }  

   }


}



Nossa IA ja pode mirar e seguir o player mas na segunda parte desse tutorial vamos fazer ela atirar também.
É isso galera espero que tenham gostado.

Referencias:


https://docs.unity3d.com/ScriptReference/Rigidbody.AddRelativeForce.html
https://docs.unity3d.com/ScriptReference/Rigidbody.html
https://docs.unity3d.com/ScriptReference/Quaternion.html
https://docs.unity3d.com/ScriptReference/Vector3.html
https://docs.unity3d.com/ScriptReference/Transform.html
avatar
Matrirxp
Programador

Masculino PONTOS : 704
REPUTAÇÃO : 60
Idade : 15
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C++, Java, HTML .

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] IA Simples

Mensagem por Zecandy em Qua Mar 22, 2017 1:50 pm

Parabéns cara, pelo tutorial e pela iniciativa me ajudou aqui abss.
avatar
Zecandy
Programador

Masculino PONTOS : 670
REPUTAÇÃO : 84
Idade : 35
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] IA Simples

Mensagem por zZAndersonZz em Qua Mar 22, 2017 3:53 pm

Muito bem explicado, dá pra entender bem o que cada linha faz. Vou acompanhar e ver como usar no meu no meu jogo.
avatar
zZAndersonZz
Avançado
Avançado

Masculino PONTOS : 621
REPUTAÇÃO : 122
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] IA Simples

Mensagem por Gabriel César O em Qua Mar 22, 2017 7:47 pm

Matrirxp escreveu:Eae galera.
Resolvi fazer um tutorial bem simples e rápido aqui para vocês.
Como ja esta no titulo vou ensinar a fazer uma ia simples de um inimigo. 
Então Vamos la:

Primeira passo:
Vamos criar um terreno,depois coloque um FirstPersonalControler (Nosso Player) e crie um inimigo no meu caso o inimigo vai ser um cubo.


Segundo passo:
Crie uma script C#, essa é a script do inimigo IA.

Vamos criar 3 variáveis 

Código:
using UnityEngine;
using System.Collections;

public class Inimigo : MonoBehaviour {

public float vida;//Vida do inimigo
public  float dano;//Dano do inimigo
public  float velo;//Velocidade do inimigo


 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
 
 }
}


Primeira coisa a fazer e setar um alvo para o inimigo e fazer ele mirar na direção dele;
Vamos usar um Quaternion para isso:

Crie uma variável tipo Transform com o nome alvo e uma tipo Quaternion:

Código:
public Transform alvo;//Mira
Quaternion alvoroteition;
agora no nosso Void update coloque:

Código:
void Update () {

alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);

transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);
  
}

Isso vai fazer nosso inimigo mirar no nosso player, mas ficaria melhor se agente limita-se o campo de visão dele, vamos fazer assim:

Crie uma variável: float campo;   

Código:
void Update () {

campo = Vector3.Distance (transform.position, alvo.transform.position);

//O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
if(campo > 2 & campo < 10){

alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);
transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);

    }  

}


Proto agora nosso inimigo só vai mirar no player se a distancia entre eles for menor que 10.

Terceiro passo:
Seguir o player.
vamos usar um AddRelativeForce, assim:

Crie uma variável: Rigidbody rb;

No Void Start vamos pegar o componente Rigidbody:

Código:
Rigidbody rb;

void Start(){
rb = GetComponent<Rigidbody> ();
}

Dentro do nosso Void Update:


Código:
void Update () {

 campo = Vector3.Distance (transform.position, alvo.transform.position);

 //O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
 if(campo > 2 & campo < 10){
 alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);
 transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);

 //isso vai fazer ele seguir o player
 rb.AddRelativeForce(Vector3.forward * velo);

 }  

 }
 
Script inteira:

Código:
using UnityEngine;
using System.Collections;

public class Inimigo : MonoBehaviour {

 public float vida;//Vida do inimigo
 public float dano;//Dano do inimigo
 public float velo;//Velocidade do inimigo
 public Transform alvo;
 Rigidbody rb;
 Quaternion alvoroteition;
 float campo;

 // Use this for initialization
 void Start () {
 rb = GetComponent<Rigidbody> ();
 }
 
 // Update is called once per frame
 void Update () {

 campo = Vector3.Distance (transform.position, alvo.transform.position);

 //O inimigo vai atras do player se a distancia entre eles for menor que 10 e maior que 2
 if(campo > 2 & campo < 10){
 alvoroteition = Quaternion.LookRotation(alvo.position - transform.position, Vector3.up);
 transform.rotation = Quaternion.Slerp(transform.rotation, alvoroteition , Time.deltaTime * 4);

 //isso vai fazer ele seguir o player
 rb.AddRelativeForce(Vector3.forward * velo);

 }  

 }


}



Nossa IA ja pode mirar e seguir o player mas na segunda parte desse tutorial vamos fazer ela atirar também.
É isso galera espero que tenham gostado.

Referencias:


https://docs.unity3d.com/ScriptReference/Rigidbody.AddRelativeForce.html
https://docs.unity3d.com/ScriptReference/Rigidbody.html
https://docs.unity3d.com/ScriptReference/Quaternion.html
https://docs.unity3d.com/ScriptReference/Vector3.html
https://docs.unity3d.com/ScriptReference/Transform.html
também tem esse vídeo!
avatar
Gabriel César O
Programador

Masculino PONTOS : 1443
REPUTAÇÃO : 210
Idade : 16
Áreas de atuação : (ESTUDANDO SEGUNDO GRAU), (FUÇANDO NO UNITY)){
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