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:
Error NullReferenceException: Object reference not set to an instance of an object
Como faço para este item aparecer no meu inventário de forma correta?
Desativar butão de acordo valor em seu script [Avançado]
Otimizacoa por Colisor - (Desativar/Ativar)
Como fazer skins completa de battle Royale
Controle de Personagem
Unity Banco de Dados
Dúvidas Sobre OnCollider
[TUTORIAL] DEBUG DE TEMPO
[Duvida] Como ajustar o volume em todo o jogo
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 20 de fevereiro de 2018). Lançamento!
FantasyDragon Online - Formação de Equipe (P.A / Designer Gráfico )
Tem como eu Salvar os Dados de Um Terreno?
Como "grudar" objetos no unity?
Slime Shop: Multiplayer (Teste De Jogo :D )
Monitorar Usuarios
Dúvida sobre animação
Alpha Fossil
Configuração de efeitos com água na Unity
Dúvida sobre o uso da Unity em fonte de 47-63hz
Como fazer 1 gerador
[TUTORIAL] Explodir Mesh "Explodir Objeto"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[Asset]Terreno .dae
[Asset] Personagem 3d basico sem uso
Erro ai importar
[Duvida] Menu Input
[RESOLVIDO] Adaptar o script para mostrar o erro
Objetos girando em órbita de outro
Erro Build Android
[RESOLVIDO] Não consigo alterar o shader de modelo feito no makehuman
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL]Sistema de Pet Virtual -AULA 3 NOVO[20/02/2018]
Pack de animações para jogos de Luta
GamePad Android!
Mudar um .TXT usando um site
"Simular" uma VPS
Velocimetro de Ponteiro!
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Formação de Equipe
[ENCERRADO] Preciso de Programadores para equipe
GC.Collect
[Duvida] Como acessar uma variavel nãa estatica(static).
Inserir Trigger
Fps Caindo Instanteneamente
LoadSceneAsync em varias cenas e escolher qual chamar
Script de Semaforo
Qual versão da unity é recomendada HOJE?
duvida de desempenho ao Instanciar Gameobject
[RESOLVIDO] Bug provavelmente pivot
[TUTORIAL]Sistema de Pet Virtual -AULA 2 [Tamagotchi](ANDROID/PC)
[TUTORAIL] Loja Virtual Fácil e Grátis
Fiz esse jogo a bastante tempo que tipo de mecanica eu poderia adicionar?
Carregar um prefab usando byte[]
[RESOLVIDO] Tem como Um Script rodar antes de Outro
Procuro modelador
Duvida com velocidade X e velocidade Z
Problemas para criar um BackGround
[TUTORIAL] Calculando distância entre gameObjects
Restringir InpultField!
Preciso Modelador com experiencia em Modelar Veículos
Script inimigo x Player
Novo Jogo (BETA ~ Sem Nome)
Multiplayer Unet: no meio da partida os client saem do nada(sistema de Checar conexão)
[RESOLVIDO] Não Consigo Acessar meus Materiais do Modelo !
como alterar o Rect Transform?
[WIP] Projeto ainda sem título
Mudar a densidade de Pixels na tela
O que fazer para ser um programador
[TUTORIAL] Capturar Imagem da WebCam e Salvar No seu Pc
tem como criar Uma Imagem no Canvas?
Membro Avançado
Tem como fazer um cube 3d invisível?
Player não acompanha plataforma
Jogo de plataforma que eu fiz
Alguém para testar alguns jogos meus (Saber se estão legais, se tem bugs e tals)
(Duvida) Como criar um sistema de dialogos?
Equipe para criação de jogo de terror.
Espelho Realista
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Equipe para criação de assets
Procuro Modelador Low Poly
Unity não reconhece meu celular
[TUTORIAL]Sistema Basico de Combustivel (PC e Android)
[ Run Sara, run ! ] Em desenvolvimento para android.
[SCRIPT] Controle Simples com movimento e rotação
Metodos Assincrono na Unity
Alterar componentes de todos os objeto de um array
Duvida com spawn de IA
[TUTORIAL] CARREGAR CENA APÓS UM TEMPO UNITY 4.7
Melhorar Script
QRcode em unity
ajuda com os scripts fps entre outros
Menu Principal
[TUTORIAL] Avião Script
[DEVLOG] Projeto - Pocket Girl Blade - Atualização
[TUTORIAL] Player executar LookAt apenas no eixo Y
Divulgaçao de Battle of Worlds
Hoje à(s) 7:27 pm
Hoje à(s) 7:27 pm
Hoje à(s) 7:22 pm
Hoje à(s) 7:04 pm
Hoje à(s) 7:02 pm
Hoje à(s) 5:49 pm
Hoje à(s) 5:13 pm
Hoje à(s) 5:01 pm
Hoje à(s) 4:29 pm
Hoje à(s) 4:06 pm
Hoje à(s) 2:42 pm
Hoje à(s) 2:36 pm
Hoje à(s) 1:40 pm
Hoje à(s) 1:50 am
Ontem à(s) 10:36 pm
Ontem à(s) 8:53 pm
Ontem à(s) 8:35 pm
Ontem à(s) 7:55 pm
Ontem à(s) 7:37 pm
Ontem à(s) 7:00 pm
Ontem à(s) 6:33 pm
Ontem à(s) 5:58 pm
Ontem à(s) 4:52 pm
Ontem à(s) 4:51 pm
Ontem à(s) 3:55 pm
Ontem à(s) 3:21 pm
Ontem à(s) 2:57 pm
Ontem à(s) 2:35 pm
Ontem à(s) 12:46 pm
Ontem à(s) 11:40 am
Ontem à(s) 10:32 am
Ontem à(s) 10:03 am
Ontem à(s) 9:05 am
Ter Fev 20, 2018 11:43 pm
Ter Fev 20, 2018 8:55 pm
Ter Fev 20, 2018 7:51 pm
Ter Fev 20, 2018 7:48 pm
Ter Fev 20, 2018 7:20 pm
Ter Fev 20, 2018 7:12 pm
Ter Fev 20, 2018 7:11 pm
Ter Fev 20, 2018 6:54 pm
Ter Fev 20, 2018 6:15 pm
Ter Fev 20, 2018 5:52 pm
Ter Fev 20, 2018 5:14 pm
Ter Fev 20, 2018 4:49 pm
Ter Fev 20, 2018 4:48 pm
Ter Fev 20, 2018 4:42 pm
Ter Fev 20, 2018 4:38 pm
Ter Fev 20, 2018 4:31 pm
Ter Fev 20, 2018 4:30 pm
Ter Fev 20, 2018 4:25 pm
Ter Fev 20, 2018 1:31 pm
Ter Fev 20, 2018 12:20 pm
Ter Fev 20, 2018 12:56 am
Ter Fev 20, 2018 12:21 am
Seg Fev 19, 2018 8:29 pm
Seg Fev 19, 2018 12:19 pm
Seg Fev 19, 2018 9:23 am
Seg Fev 19, 2018 12:35 am
Dom Fev 18, 2018 9:57 pm
Dom Fev 18, 2018 7:51 pm
Dom Fev 18, 2018 5:03 pm
Dom Fev 18, 2018 3:56 pm
Dom Fev 18, 2018 2:41 pm
Dom Fev 18, 2018 1:21 pm
Dom Fev 18, 2018 12:09 pm
Dom Fev 18, 2018 11:45 am
Dom Fev 18, 2018 3:03 am
Dom Fev 18, 2018 2:24 am
Sab Fev 17, 2018 10:41 pm
Sab Fev 17, 2018 7:25 pm
Sab Fev 17, 2018 7:09 pm
Sab Fev 17, 2018 6:58 pm
Sab Fev 17, 2018 5:35 pm
Sab Fev 17, 2018 4:37 pm
Sab Fev 17, 2018 3:15 pm
Sab Fev 17, 2018 2:52 pm
Sab Fev 17, 2018 1:23 pm
Sex Fev 16, 2018 11:43 pm
Sex Fev 16, 2018 11:15 pm
Sex Fev 16, 2018 10:54 pm
Sex Fev 16, 2018 10:18 pm
Sex Fev 16, 2018 10:17 pm
Sex Fev 16, 2018 6:27 pm
Sex Fev 16, 2018 6:09 pm
Sex Fev 16, 2018 5:18 pm
Sex Fev 16, 2018 4:56 pm
Sex Fev 16, 2018 3:57 pm
Sex Fev 16, 2018 1:59 pm
Sex Fev 16, 2018 1:56 pm
Sex Fev 16, 2018 1:08 pm
Sex Fev 16, 2018 11:24 am
Sex Fev 16, 2018 11:21 am
Qui Fev 15, 2018 9:37 pm
Qui Fev 15, 2018 9:19 pm
Qui Fev 15, 2018 8:19 pm
Qui Fev 15, 2018 5:38 pm
Qui Fev 15, 2018 4:13 pm
Qui Fev 15, 2018 3:58 pm
junior93
Fluttershy28
Phph09
ffabim
Daniel Dória
felipehobs1
Callyde Jr
ffabim
luKkaSs
Dom3000
marcos4503
Dom3000
Souris
rafaelllsd
marcos4503
natanael.olimpio
Souris
Édipo
dstaroski
dstaroski
Souris
Samuelsk
dstaroski
dstaroski
Dom3000
felipehobs1
Dom3000
marcos4503
marcos4503
Phph09
maxwell111
Gilberto555
Dom3000
marcos4503
GameLACK
felipehobs1
Souris
Souris
Souris
Zack2
Zack2
marcos4503
Duarte
MarcosSchultz
michelly
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
fecirineu
felipehobs1
Zecker
Dom3000
alexs
AlvaroWalker
felipehobs1
recagonlei
Weslley
Jhonatham1
dstaroski
fabriciorsz34
recagonlei
nicolasfive
Dom3000
rafaelllsd
rafaelllsd
marcos4503
felipehobs1
Phph09
Phph09
Daniel Dória
Simplizãum S
Daniel Pires da Silva
GamersBR
Bruno
ÁguaMineral
Souris
fecirineu
minosso
minosso
otavio00augusto
fecirineu
ruanzikaad
Simplizãum S
junkflash30
MarcosSchultz
MarcosSchultz
TruffleDevelop
dstaroski
JrdeAmorim
Daniel Pires da Silva
alexs
Matrirxp
dstaroski
Dom3000
Dom3000

[TUTORIAL] IA Simples

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
ProgramadorMaster

Masculino PONTOS : 813
REPUTAÇÃO : 64
Idade : 15
Áreas de atuação : Unity: Programação JavaScript e C#.
Programação: Python, C#, Java, HTML5,CSS.

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 : 1022
REPUTAÇÃO : 148
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 : 719
REPUTAÇÃO : 125
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 : 1533
REPUTAÇÃO : 211
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

Voltar ao Topo


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