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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Character Bug - Android Unity3d
Animação com mão fechada
bloco de notas
PlayerPrefs??
Firewall bloqueando conexões lan do meu game
Erro com Post Processing e com canvas
Modelo importado para Unity com os Pés tortos .
[TUTORIAL] Acessar nomes de arquivos diretamente da pasta
[Duvida] Script de mover objeto usando o RigidBody
Quero fazer um jogo plataforma 2.5d em curva (como Kirby 64), mas não sei.
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Reproduzir animação com tecla?
[TUTORIAL] Mirar em jogo de fps igual COD, Battlefield e outros
[TUTORIAL] Ciclo de dia e noite com sync no multiplayer
[TUTORIAL] Salvar dados com playerprefs facilmente.
editor de imagem para perfil
Rotacionar player no eixo Y da camera
erro com carregamento de dados
facebook login
Quando o inimigo ataca todos os inimigos ativam a animação
[TUTORIAL] Como desenhar no Unity.
Objeto ter a mesma rotação que outro em apenas um eixo
Sistema De Marchas para Veiculos
[RESOLVIDO] Pegar o meu ping/latencia (Unet)
Alguém pode me dizer como usar as texturas,Normal map,Occlusion...
Começar em Game Design / Design
Material rosa no HDRender Pipeline como resolvo isso
Instanciate objeto lado a lado
[Duvida] movimentação de nave
[RESOLVIDO] Usando o SetActive para reativar um GameObject, ajuda!
Flamehead MMORPG Indie
erro de java
[TUTORIAL] Desenvolvendo um jogo de quebra-cabeças
[RESOLVIDO] Grafico quadriculado?
duvida com asset store
[TUTORIAL] Assinando um Apk e dicas de instalação e configurações
Como fazer um sistema para conectar objetos?
[RESOLVIDO] Unity sem som
Erro ao tentar compilar para Android
Como iniciar uma animação atraves de um clique em um objeto?
Error ao Gerar a KeyStore do Apk Android
Participe da Game Jam - Jaaj do canal Amdré Young!
[JOGO MOBILE] Defeat the Illuminatis
Alguém sabe como posso aplicar a movimentação agachado?!
Script de Spawn Aleatório
Sugestão para o Fórum - "Área Avançada"
(NavMesh) Objeto "Deslizando"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Alguém conhece algum bom tutorial para aprender Algoritmo genético em C# ?
Mudar cor de area
tela branca ao iniciar videoplayer
COMO FAÇO O SISTEMA DE CHUVA ESTILO ETS2 COM GOTAS NO PARA BRISA?
COMO FAZER SISTEMA DE BHOP ESTILO CS ? (BUNNY HOP)
A Arma mudar de posição de acordo coma movimentação
[PEDIDO] Rig Simples para esse modelo.
[TUTORIAL] Acionar a vibração do dispositivo
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Animação no movimento do mouse
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[RESOLVIDO] Colisor
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[RESOLVIDO] Como faço um limitador de tiros por distância?
[RESOLVIDO] Mudar a proporção
[RESOLVIDO] Vuforia bug
Objetos (itens) pegos na cena anterior não são destruídos quando volta para ela
Codigo em Python para colocar Imagens em POT (Power Of Two) e .exe
[RESOLVIDO] Error depois de copilar para Android?
[JOGO ANDROID] PLANET DEFENSE
Sistema de IAP Paypal ou parecido
[RESOLVIDO] JOGO SAINDO (ANDROID)
{Equipe} Programador que tenha interesse de participar de uma JAM.
Como fazer Sistema Dia e Noite Segui o sistema de Hora
fazer script pegar arquivo de som, porem o som sera colocado apos a build...
[RESOLVIDO] Mover Plataforma
Formação de Equipe ( Favela Killer)
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
[Devlog] Lost in the world (1.2_beta)
AJUDA COM SCRIPT DE SISTEMA QTE
Tilesets de Floresta em Pixel Art
[RESOLVIDO] Sistema de login
(UNITY 3D) Mesh Splitter - Como separar uma Mesh em multiplos Game Objects?
Como fazer um sistema de compra de itens?
[JOGO] Tetris em Unity - Para tutorial
Modulo Xbox One
[RESOLVIDO] Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Como apagar parte da grama do terreno para fazer uma calçada?
[RESOLVIDO] Erro ao Copilar: Bug no personagem.
[Opinião] 2d ou 3d?
Como é feito esse efeito?
Teaser 2 do meu jogo
Shader com efeito de dissolução
[TUTORIAL] Geração de Mesh procedural (estilo Minecraft)
[RESOLVIDO] Erro no Baú
Problema ao mudar sprite entre objetos por conta do uso de joystick
Unity 3d TELA PRETA
[Duvida] Como chamar uma void criada por mim, apenas em determinados momentos.
Corcle (Mobile) - Um jogo simples com um nome estranho.
Bomb Battle Jogo Online Em Desenvolvimento
Ajuda com Visual Studio e MonoDevelop
Hoje à(s) 3:53 pm
Hoje à(s) 3:17 pm
Hoje à(s) 11:39 am
Hoje à(s) 11:22 am
Hoje à(s) 10:21 am
Hoje à(s) 7:31 am
Hoje à(s) 1:22 am
Ontem à(s) 10:33 pm
Ontem à(s) 8:58 pm
Ontem à(s) 6:25 pm
Ontem à(s) 6:05 pm
Ontem à(s) 6:02 pm
Ontem à(s) 12:02 pm
Ontem à(s) 11:58 am
Ontem à(s) 5:48 am
Seg Jan 21, 2019 12:04 pm
Seg Jan 21, 2019 11:57 am
Seg Jan 21, 2019 10:51 am
Seg Jan 21, 2019 10:46 am
Dom Jan 20, 2019 6:32 pm
Dom Jan 20, 2019 5:33 pm
Dom Jan 20, 2019 1:46 pm
Dom Jan 20, 2019 4:26 am
Sab Jan 19, 2019 4:48 pm
Sab Jan 19, 2019 8:26 am
Sab Jan 19, 2019 3:45 am
Qui Jan 17, 2019 9:23 pm
Qui Jan 17, 2019 7:10 pm
Qui Jan 17, 2019 2:24 am
Qui Jan 17, 2019 1:48 am
Qui Jan 17, 2019 1:28 am
Qua Jan 16, 2019 6:28 pm
Qua Jan 16, 2019 11:35 am
Ter Jan 15, 2019 10:57 pm
Ter Jan 15, 2019 9:51 pm
Ter Jan 15, 2019 8:20 pm
Ter Jan 15, 2019 5:22 pm
Ter Jan 15, 2019 4:09 pm
Ter Jan 15, 2019 3:50 pm
Ter Jan 15, 2019 2:06 pm
Ter Jan 15, 2019 1:50 pm
Ter Jan 15, 2019 12:26 pm
Ter Jan 15, 2019 10:49 am
Ter Jan 15, 2019 3:27 am
Ter Jan 15, 2019 3:23 am
Ter Jan 15, 2019 3:19 am
Ter Jan 15, 2019 3:15 am
Ter Jan 15, 2019 3:13 am
Ter Jan 15, 2019 3:06 am
Ter Jan 15, 2019 3:04 am
Ter Jan 15, 2019 2:58 am
Ter Jan 15, 2019 2:47 am
Ter Jan 15, 2019 2:39 am
Seg Jan 14, 2019 6:58 pm
Seg Jan 14, 2019 5:54 pm
Seg Jan 14, 2019 2:20 pm
Seg Jan 14, 2019 7:28 am
Dom Jan 13, 2019 6:19 pm
Dom Jan 13, 2019 9:52 am
Sab Jan 12, 2019 8:10 pm
Sab Jan 12, 2019 4:08 pm
Sab Jan 12, 2019 2:41 pm
Sex Jan 11, 2019 10:28 pm
Sex Jan 11, 2019 8:41 pm
Sex Jan 11, 2019 8:31 pm
Sex Jan 11, 2019 12:11 pm
Sex Jan 11, 2019 7:33 am
Sex Jan 11, 2019 2:18 am
Qui Jan 10, 2019 1:04 pm
Qui Jan 10, 2019 12:58 pm
Qui Jan 10, 2019 12:50 pm
Qui Jan 10, 2019 9:23 am
Qua Jan 09, 2019 9:33 pm
Qua Jan 09, 2019 2:47 am
Qua Jan 09, 2019 12:17 am
Qua Jan 09, 2019 12:02 am
Ter Jan 08, 2019 10:24 pm
Ter Jan 08, 2019 5:00 pm
Ter Jan 08, 2019 3:51 pm
Seg Jan 07, 2019 10:42 pm
Seg Jan 07, 2019 10:26 am
Seg Jan 07, 2019 12:43 am
Dom Jan 06, 2019 5:16 pm
Dom Jan 06, 2019 2:22 pm
Sex Jan 04, 2019 3:15 pm
Sex Jan 04, 2019 2:29 pm
Sex Jan 04, 2019 2:25 pm
Sex Jan 04, 2019 12:38 pm
Qui Jan 03, 2019 12:35 am
Qua Jan 02, 2019 9:46 pm
Qua Jan 02, 2019 8:56 pm
Qua Jan 02, 2019 6:48 pm
Qua Jan 02, 2019 5:32 pm
Qua Jan 02, 2019 2:34 pm
Qua Jan 02, 2019 11:17 am
Seg Dez 31, 2018 6:23 pm
Seg Dez 31, 2018 5:53 pm
Seg Dez 31, 2018 11:29 am
Seg Dez 31, 2018 12:26 am
Frits
Zack2
dstaroski
speedluk
AnderGames
Zack2
artplayer
DuViDoSo
NKKF
RGMBrasil
mafipt
heitor
dstaroski
dstaroski
rafaelllsd
Zack2
francisco barroso
Zack2
Zack2
Phph09
vitorhugo
Daniel Pires da Silva
Madness
luiz12345
glauco
Joshuaaaa
MarcosSchultz
MayLeone
MarcosSchultz
bielTuvel
Skurb
zZAndersonZz
MayLeone
heitor
MarcosSchultz
rafaelllsd
henriquegames501
Daniel Dória
dstaroski
dstaroski
Duarte
NKKF
dstaroski
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
dstaroski
BRGC
Callyde Jr
Callyde Jr
TecnoGames
dstaroski
MayLeone
NKKF
bielTuvel
Priste_Hell
Callyde Jr
Wanderli
Andeton
Callyde Jr
MateusPignatti
Callyde Jr
NoobZ
AladoAlan
francisco barroso
luiz12345
speedluk
zeca urubu
Rafal
NKKF
Diego Felix
ismarspn
Zack2
Dom3000
henriquegames501
conceptfac
guimaraf
lhm
EricKBMS
5pntozero
Daniel Dória
Madness
Patrick
AnderGames
kalango studios games
EricKBMS
francisco barroso
dstaroski
MayLeone
PauloFR
glauco
francisco barroso

[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
Matrirxp
Matrirxp
ProgramadorMaster

Masculino PONTOS : 1164
REPUTAÇÃO : 66
Idade : 16
Á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.
Zecandy
Zecandy
Programador

Masculino PONTOS : 1375
REPUTAÇÃO : 154
Idade : 36
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.
zZAndersonZz
zZAndersonZz
Avançado
Avançado

Masculino PONTOS : 1066
REPUTAÇÃO : 133
Idade : 22
Respeito as regras :

Ver perfil do usuário https://github.com/AndersonMarquess

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!
Gabriel César O
Gabriel César O
Profissional
Profissional

Masculino PONTOS : 1868
REPUTAÇÃO : 214
Idade : 17
Á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

- Tópicos similares

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