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:
Meu personagem parou de andar , sem que eu alterasse ele
Problema com terreno!
Jogo Quiz perguntas aleatórias
Transição de cenas Bug com Scripts
Pintura na tela
Anti Pirataria
Manter a última posic de objetos após sair e voltar de cena
Alguem me ajuda em um script!
Camera
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Erros ao tentar build para android!
Teleporte do player com outro objeto!
Media entre pontos e tempo!
Vídeo player não mostra nada
(Duvida)Sistema de estrelas
Filhos dos filhos
Construção de um save das configurações e ir pro jogo com as config certas
Duvida na hora da POSTAGEM na PLAY STORE
Auto posicionar objeto
Como dar um clique em um determinado botão através de Script
Como faço as personagens causarem dano (e vice-versa)?
Dúvida no uso de loop no Unity
Duvida em Python
Preciso de Programadores, Músicos e Modeladores.
Como usar LOD Group para usar no Mass Place Trees
Como Criar um Sistema de Coop? (Photon)
Fighter camera 3D tekken style, boxing style
Erro no Script- "The script needs to derived from MonoBehavior"
[TUTORIAL] Fixed Joint e Spring Joint - Unity 5
Música Grátis
Not a Dream - Formação de Equipe
Como deixar o código mais dinâmico
Duvida Shader para celular
Ideia para algum jogo
Aplicativo não instalado
Tela cheia em android
duvida de raytracing
[Em Desenvolvimento] Battles of Worlds
[Formação de Equipe] Battles of Worlds
Box Collider 2D Pausando o Jogo.
Como fazer um sistema para conectar objetos?
Jogos Pagos e proteção
[DÚVIDA] sair som do objeto ao pressionar uma tecla
Seleção de personagens sem usar ele como prefab
Duvida Postagem na Play Store
Fazer o player rodar a animação até o final
Ofuscar
Preciso de Ajuda Estou a desenvolver um projeto!
[TUTORIAL] Joystick vistual para mobile
desativa objecto
IDE editor C#
Porque o meu BoxCollider2D não desativa?
Sistema De Skin Na Unity
erro ao abrir projeto na unity 2019.2.0
Jogador Flicando no chão
Mostrar eventos no Inspector
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Algumas Maneiras de Ganhar Dinheiro Com o Blender e Modelagem 3D
[TUTORIAL] Salvar SCORE e substituir caso faça mais pontos.
aplicativo travando
e ai galera to tendo poblema com wheel collider
Shader Editor travando a cada alteração nas propriedades
Tela inteira no Android
Scale Factor de Modelos Faz Diferença Na Performacer do Jogo?
Picos de Queda de FPS!
ERRO NA UNITY, AJUDEM POR FAVOR
Como fazer uma tecla ser pressionado x vezes.
Vamos criar uma comunidade no Discord!
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
Como ativar e desativar o Box Collider utilizando o RayCast.
[RESOLVIDO] Player 2D girando ao descer de plataforma
Road Life - Jogo Mundo Aberto RPG
Como parar o spawn aleatório?
[RESOLVIDO] Pêndulo 2D
[RESOLVIDO] Como faço para clicar em um objeto e visualizar, girar...
Crio Ícones Personalizados Para Jogos
Metadados recusados AppleConnect [Screenshots]
Ajuda na criação de um jogo de Xadrez 3D
> Posso achar Bugs facilmente <
Meu Jogo inspirado em resident evil 2 remake
Unity + Photon 2
[RESOLVIDO] tira uma duvida
[TUTORIAL] Campo de visão dos inimigos (Enemy FOV) com Raycast ou OverlapSphere
Contagem de tempo em classes abstratas
Erro ao compilar em webGL
[RESOLVIDO] Animação na Movimentação (Parado, Andar e Correr)
[RESOLVIDO] Parâmetro "Out" não existe (Duvida com Script)
Duvida de movimentação de câmera 2D (Sem personagem)
[RESOLVIDO] Colocando meu jogo para 64 bits
(Animator) Animação bugada no animator!
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
[RESOLVIDO] Porque o Vector2.Distance não está funcionando?
[TRETA BR] GAME QUASE FINALIZADO !
Algumas perguntas sobre cenas e transições
Sistema de "Avaliação" / Probabilidade / Notas
Problema com boxes colliders
Dúvida quando a interferência de uma colisão em um sistema de chute e passe
Bloom no Android
Duvidas ao transformar um GameObjeto em Prefab
Hoje à(s) 10:54 pm
Hoje à(s) 8:54 pm
Hoje à(s) 2:59 pm
Hoje à(s) 2:20 pm
Hoje à(s) 10:42 am
Hoje à(s) 7:42 am
Ontem à(s) 3:07 pm
Ter Set 17, 2019 8:22 pm
Ter Set 17, 2019 8:06 pm
Ter Set 17, 2019 4:29 pm
Ter Set 17, 2019 4:10 pm
Ter Set 17, 2019 1:32 pm
Ter Set 17, 2019 3:01 am
Ter Set 17, 2019 1:30 am
Seg Set 16, 2019 11:03 pm
Seg Set 16, 2019 8:21 pm
Seg Set 16, 2019 5:37 pm
Seg Set 16, 2019 4:07 pm
Seg Set 16, 2019 4:11 am
Seg Set 16, 2019 2:36 am
Seg Set 16, 2019 12:22 am
Dom Set 15, 2019 11:21 pm
Dom Set 15, 2019 8:29 pm
Dom Set 15, 2019 5:52 pm
Dom Set 15, 2019 4:41 pm
Dom Set 15, 2019 3:52 pm
Dom Set 15, 2019 12:42 pm
Dom Set 15, 2019 12:41 pm
Dom Set 15, 2019 11:20 am
Dom Set 15, 2019 1:58 am
Dom Set 15, 2019 12:08 am
Sab Set 14, 2019 8:45 pm
Sab Set 14, 2019 7:55 pm
Sab Set 14, 2019 7:07 pm
Sab Set 14, 2019 7:06 pm
Sab Set 14, 2019 7:05 pm
Sab Set 14, 2019 6:58 pm
Sab Set 14, 2019 5:00 pm
Sab Set 14, 2019 4:57 pm
Sab Set 14, 2019 1:49 pm
Sab Set 14, 2019 12:37 am
Sex Set 13, 2019 10:58 pm
Sex Set 13, 2019 10:42 pm
Sex Set 13, 2019 8:58 pm
Sex Set 13, 2019 8:33 pm
Sex Set 13, 2019 8:28 pm
Sex Set 13, 2019 8:19 pm
Sex Set 13, 2019 8:17 pm
Sex Set 13, 2019 8:08 pm
Sex Set 13, 2019 8:06 pm
Sex Set 13, 2019 8:04 pm
Sex Set 13, 2019 2:40 pm
Sex Set 13, 2019 5:02 am
Sex Set 13, 2019 4:59 am
Sex Set 13, 2019 4:50 am
Sex Set 13, 2019 4:41 am
Sex Set 13, 2019 4:26 am
Sex Set 13, 2019 4:19 am
Sex Set 13, 2019 4:17 am
Sex Set 13, 2019 3:53 am
Sex Set 13, 2019 3:44 am
Sex Set 13, 2019 3:35 am
Sex Set 13, 2019 3:34 am
Sex Set 13, 2019 3:06 am
Sex Set 13, 2019 2:44 am
Sex Set 13, 2019 2:40 am
Sex Set 13, 2019 2:31 am
Qui Set 12, 2019 9:46 pm
Qui Set 12, 2019 9:46 pm
Qui Set 12, 2019 4:43 pm
Qui Set 12, 2019 3:22 pm
Qui Set 12, 2019 2:50 pm
Qua Set 11, 2019 10:05 pm
Qua Set 11, 2019 9:14 pm
Qua Set 11, 2019 1:16 pm
Qua Set 11, 2019 11:58 am
Qua Set 11, 2019 9:03 am
Qua Set 11, 2019 1:45 am
Ter Set 10, 2019 10:52 pm
Ter Set 10, 2019 6:28 pm
Ter Set 10, 2019 10:12 am
Ter Set 10, 2019 12:38 am
Seg Set 09, 2019 10:04 pm
Seg Set 09, 2019 6:08 pm
Seg Set 09, 2019 2:57 pm
Sab Set 07, 2019 7:23 pm
Sab Set 07, 2019 1:14 pm
Sab Set 07, 2019 12:12 pm
Sex Set 06, 2019 9:06 pm
Sex Set 06, 2019 11:44 am
Qui Set 05, 2019 11:30 pm
Qui Set 05, 2019 10:57 pm
Qui Set 05, 2019 6:26 pm
Qua Set 04, 2019 11:38 pm
Qua Set 04, 2019 9:02 pm
Ter Set 03, 2019 4:42 pm
Ter Set 03, 2019 2:52 pm
Ter Set 03, 2019 12:04 pm
Ter Set 03, 2019 10:14 am
mydaegon
lunaticsgames
MayLeone
MayLeone
Zack2
diegopds
MayLeone
gutovic29
Fagner
MarcosSchultz
Daniel Dória
lesgoy
danielPedra90
ffabim
poyser
NKKF
lucaspoiob
gtcmcsgo
MayLeone
lesgoy
Swordsdragon
joffersoju
victorgx22
LardosJogos
tr4ssh
deikson
Josh123
Samuelostgamer
welberpv2022
JohnRambo
LardosJogos
Hamassfall
SteveRogers
LúcioHenrique098
lesgoy
lesgoy
SteveRogers
Dom3000
Dom3000
Newba
henriquegames501
guimaraf
gcs13
garnios
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
NKKF
MayLeone
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
JohnRambo
dkrazor
recagonlei
CyberPh4ntom
NKKF
TecnoGames
Hamassfall
c4stor
Magnatah
numb123
JohnRambo
LardosJogos
RafaelSquid1
billybmx
katymarques
hao3726
MayLeone
Socates
LardosJogos
Newba
SteveRogers
garnios
JohnVitor
garnios
Hamassfall
ruanzikaad
Magnatah
Mancha
SteveRogers
gabrimo
lesgoy
garnios

[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Ir em baixo

TUTORIAL [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por Yuri Heinz em Qua Ago 23, 2017 10:38 pm

Vídeo tutorial:





Script do inimigo:

devera ter o nome: INTELIGENCIA2



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


public class INTELIGENCIA2 : MonoBehaviour {
 public Transform Player;
 private NavMeshAgent naveMesh;
 public float DistanciaDoPlayer, DistanciaDoAIPoint;
 public float DistanciaDePercepcao = 30,DistanciaDeSeguir = 20, DistanciaDeAtacar = 2, VelocidadeDePasseio = 3, VelocidadeDePerseguicao = 6,TempoPorAtaque = 1.5f, DanoDoInimigo = 40;
 private bool VendoOPlayer;
 public Transform[] DestinosAleatorios;
 private int AIPointAtual;
 private bool PerseguindoAlgo, contadorPerseguindoAlgo,atacandoAlgo,contadorOlhar ;
 private float cronometroDaPerseguicao,cronometroAtaque, cronometroOlhar;
 public bool BPassear, BOlhar, BPerseguir, BAtacar;

 void Start (){
 AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
 naveMesh = transform.GetComponent<NavMeshAgent> ();
 }
 void Update (){
 DistanciaDoPlayer = Vector3.Distance(Player.transform.position,transform.position);
 DistanciaDoAIPoint =  Vector3.Distance(DestinosAleatorios[AIPointAtual].transform.position,transform.position);
 //============================== RAYCAST ===================================//
 RaycastHit hit;
 Vector3 deOnde = transform.position;
 Vector3 paraOnde = Player.transform.position;
 Vector3 direction = paraOnde - deOnde;
 if(Physics.Raycast (transform.position,direction,out hit,1000) && DistanciaDoPlayer < DistanciaDePercepcao ){
 if(hit.collider.gameObject.CompareTag("Player")){
 VendoOPlayer = true;
 }else{
 VendoOPlayer = false;
 }
 }
 //================ CHECHAGENS E DECISOES DO INIMIGO ================//
 if(DistanciaDoPlayer > DistanciaDePercepcao && cronometroOlhar < 5){
 PerseguindoAlgo = false;
 BPassear = true;
 Passear();
 }
 if (DistanciaDoPlayer <= DistanciaDePercepcao && DistanciaDoPlayer > DistanciaDeSeguir && cronometroOlhar < 5) {
 if(VendoOPlayer == true){
 BOlhar = true;
 Olhar ();
 }else{
 BPassear = true;

 Passear();
 }
 }
 if (DistanciaDoPlayer <= DistanciaDeSeguir && DistanciaDoPlayer > DistanciaDeAtacar ) {
 if(VendoOPlayer == true){
 BPerseguir = true;
 Perseguir();
 PerseguindoAlgo = true;
 }else{
 BPassear = true;

 Passear();
 }
 }
 if (DistanciaDoPlayer <= DistanciaDeAtacar ) {
 BAtacar = true;
 Atacar();
 }
 //COMANDOS DE PASSEAR
 if (DistanciaDoAIPoint <= 2) {
 AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
 BPassear = true;

 Passear();
 }
 //CONTADORES DE OLHAR
 if (contadorOlhar == true) {
 cronometroOlhar += Time.deltaTime;
 }
 if (cronometroOlhar >= 5 ) {
 Perseguir();

 }
 if (cronometroOlhar >= 8 ) {
 contadorOlhar = false;
 cronometroOlhar = 0;
 Perseguir();

 }
 //CONTADORES DE PERSEGUICAO
 if (contadorPerseguindoAlgo == true) {
 cronometroDaPerseguicao += Time.deltaTime;
 }
 if (cronometroDaPerseguicao >= 5 && VendoOPlayer == false) {
 contadorPerseguindoAlgo = false;
 cronometroDaPerseguicao = 0;
 PerseguindoAlgo = false;
 }
 // Freio do ATAQUE

 if (DistanciaDoPlayer <= DistanciaDeAtacar - 1) {
 naveMesh.destination = gameObject.transform.position;
 }

 // CONTADOR DE ATAQUE
 if (atacandoAlgo == true) {
 transform.LookAt (new Vector3 (Player.transform.position.x, transform.position.y, Player.transform.position.z));

 cronometroAtaque += Time.deltaTime;
 }
 if (cronometroAtaque >= TempoPorAtaque && DistanciaDoPlayer <= DistanciaDeAtacar) {
 atacandoAlgo = true;
 cronometroAtaque = 0;



 //PLAYER.VIDA = PLAYER.VIDA - DanoDoInimigo;
 Debug.Log ("recebeuAtaque");
 } else if (cronometroAtaque >= TempoPorAtaque && DistanciaDoPlayer > DistanciaDeAtacar) {
 atacandoAlgo = false;
 cronometroAtaque = 0;
 Debug.Log ("errou");
 }
 }
 void Passear (){
 
 BOlhar = false;
 BPerseguir = false;
 BAtacar = false;

 if (PerseguindoAlgo == false) {
 naveMesh.acceleration = 5;
 naveMesh.speed = VelocidadeDePasseio;
 naveMesh.destination = DestinosAleatorios [AIPointAtual].position;
 } else if (PerseguindoAlgo == true) {
 contadorPerseguindoAlgo = true;
 }
 }
 void Olhar(){
 contadorOlhar = true;

 BPassear = false;

 BPerseguir = false;
 BAtacar = false;

 naveMesh.speed = 0;
 transform.LookAt (Player);
 }
 void Perseguir(){
 BPassear = false;
 BOlhar = false;

 BAtacar = false;

 naveMesh.acceleration = 8;
 naveMesh.speed = VelocidadeDePerseguicao;
 naveMesh.destination = Player.position;
 }
 void Atacar (){
 BPassear = false;
 BOlhar = false;
 BPerseguir = false;


 atacandoAlgo = true;
 }
}



Script do personagem com as animações:
devera ter o nome: AninINTELIGENCIA



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

[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(AudioSource))]
public class AninINTELIGENCIA : MonoBehaviour {
 public INTELIGENCIA2 Navgador;
 public AudioClip Atacar, Olhar, Passear, Perseguir;
 public bool AldioTocando;
 public float AldioDuracao;
 // Use this for initialization
 void Start () {
 
 }
 
 // Update is called once per frame
 void Update () {
 
 if (AldioTocando == true) {/// AldioTocando ------------------------------------------------------
 AldioDuracao += Time.deltaTime;

 if (AldioDuracao >= GetComponent<AudioSource> ().clip.length ) {
 AldioTocando = false;
 AldioDuracao = 0;
 }
 }//----------------------------------------------------------------------------------------------------

 if (Navgador.BAtacar == true) {/// Atacar ------------------------------------------------------
 GetComponent<Animator> ().SetBool ("Atacar", true);
 GetComponent<AudioSource> ().clip = Atacar;
 GetComponent<AudioSource> ().PlayOneShot (Atacar);

 } else {
 GetComponent<Animator> ().SetBool ("Atacar", false);
 }//----------------------------------------------------------------------------------------------------


 if (Navgador.BOlhar == true) {/// Olhar ------------------------------------------------------
 GetComponent<Animator> ().SetBool ("Olhar", true);

 if (GetComponent<AudioSource> ().clip != Olhar) {
 AldioTocando = false;
 AldioDuracao = 0;

 Debug.Log ("Aldio Trocado");
 }

 if (AldioTocando == false) {
 GetComponent<AudioSource> ().clip = Olhar;
 GetComponent<AudioSource> ().PlayOneShot (Olhar);
 AldioTocando = true;
 }

 } else {
 GetComponent<Animator> ().SetBool ("Olhar", false);
 }//----------------------------------------------------------------------------------------------------


 if (Navgador.BPassear == true) {/// Passear ------------------------------------------------------
 GetComponent<Animator> ().SetBool ("Passear", true);

 if (GetComponent<AudioSource> ().clip != Passear) {
 AldioTocando = false;
 AldioDuracao = 0;
 Debug.Log ("Aldio Trocado");
 }

 if (AldioTocando == false) {
 GetComponent<AudioSource> ().clip = Passear;
 GetComponent<AudioSource> ().PlayOneShot (Passear);
 AldioTocando = true;
 }
 
 } else {
 GetComponent<Animator> ().SetBool ("Passear", false);
 }//----------------------------------------------------------------------------------------------------

 if (Navgador.BPerseguir == true) { /// perseguir ------------------------------------------------------
 GetComponent<Animator> ().SetBool ("Perseguir", true);

 if (GetComponent<AudioSource> ().clip != Perseguir) {
 AldioTocando = false;
 AldioDuracao = 0;
 Debug.Log ("Aldio Trocado");
 }

 if (AldioTocando == false) {
 GetComponent<AudioSource> ().clip = Perseguir;
 GetComponent<AudioSource> ().PlayOneShot (Perseguir);
 AldioTocando = true;
 }
 
 } else {
 GetComponent<Animator> ().SetBool ("Perseguir", false);
 }//----------------------------------------------------------------------------------------------------


 }
}
Yuri Heinz
Yuri Heinz
Iniciante
Iniciante

Masculino PONTOS : 1596
REPUTAÇÃO : 12
Idade : 23
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por Zecandy em Qui Ago 24, 2017 1:25 pm

Parabéns pela iniciativa, boa didática de ensino.
Zecandy
Zecandy
Programador

Masculino PONTOS : 1616
REPUTAÇÃO : 155
Idade : 37
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por Gabriel César CORINTHIANS em Sex Set 01, 2017 6:13 pm

UOUUUUU QUE TUTO TOP MEN! PARABÉNS PELO SEU ESFORÇO E DEDICAÇÃO! MUITA HUMILDADE COM OS OUTROS! TMJ! ABRAÇO E SUCESSO!

Gabriel César CORINTHIANS
Membro
Membro

Masculino PONTOS : 813
REPUTAÇÃO : 11
Áreas de atuação : 0

Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por glauco em Seg Set 04, 2017 4:46 pm

@Yuri Heinz escreveu:Vídeo tutorial:




mano esse tutorial esta bom,MAS tem alguns problemas...
tem muitas coisas que vc deveria explicar pq tem muita gente que nao sabe fazer,como eu.
eu sei que fazer esse tipo de coisa e muito dificiu,EU NAO ESTOU CRITICANDO,ao contrario eu estou dando a minha opinião.
faz esse tutorial em algumas partes,o tempo que der pra vc,explicando passo a passo,seria melhor para entender.
no meu caso eu fiquei com dificuldade na parte do animator,pq eu nao tenho muito conhecimento.
os scripts funcionaram direito.
NO MEU CASO ACONTECERAM ALGUNS ERROS EU NAO SEI PQ ,MAS,EU GRAVEI O MEU JOGO.
SE VC PODER ME DIZER QUAL EO PROBLEMA AGRADEÇO
glauco
glauco
MembroAvançado

Masculino PONTOS : 1601
REPUTAÇÃO : 100
Idade : 19
Áreas de atuação : unity 3D...
Level Design
aprendendo modelagem
se aperfeiçoando na unity 3D

Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por Yuri Heinz em Sex Out 13, 2017 6:47 pm

esta funcionando perfeitamente no seu men, o inimigo pode estar deslizando por causa da comfiguração do navmash so falta colocar cada animação dentro das caixas do animator, ele so ta com um tipo de animação, e pra vc receber o ataque é outro esquema que vou encinar em um proximo tutorial, vai ter mais um codigo separado pro ataque pra evitar muitas linhas de codigo no c#, o esquema de hit no ataque que eu usso é o mesmo usado no game God Of War, com um colisor na mao ou na ponta da espada dependendo do inimigo. e o rit vai servir pro player artacar tb.
Yuri Heinz
Yuri Heinz
Iniciante
Iniciante

Masculino PONTOS : 1596
REPUTAÇÃO : 12
Idade : 23
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por glauco em Sex Out 13, 2017 8:27 pm

@Yuri Heinz escreveu:esta funcionando perfeitamente no seu men, o inimigo pode estar deslizando por causa da comfiguração do navmash so falta colocar cada animação dentro das caixas do animator, ele so ta com um tipo de animação, e pra vc receber o ataque é outro esquema que vou encinar em um proximo tutorial, vai ter mais um codigo separado pro ataque pra evitar muitas linhas de codigo no c#, o esquema de hit no ataque que eu usso é o mesmo usado no game God Of War, com um colisor na mao ou na ponta da espada dependendo do inimigo. e o rit vai servir pro player artacar tb.
nao vejo a hora de vc postar esse video seu pra mim assistir...
eu preciso fazer inimigo pro meu jogo de terror,preciso de AI de inimigo de terror..
intao vejo uns videos relacionados a isso.
espero que voce faça o seu video logo logo,podera me ajudar bastante :bounce:
e obrigado pela sua atenção Piscadinha
glauco
glauco
MembroAvançado

Masculino PONTOS : 1601
REPUTAÇÃO : 100
Idade : 19
Áreas de atuação : unity 3D...
Level Design
aprendendo modelagem
se aperfeiçoando na unity 3D

Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por DGDark em Qua Jul 25, 2018 5:43 pm

o meu deu erro. (155,2) Error CS1525: Unexpected symbol 'naveMesh'

DGDark
Iniciante
Iniciante

Masculino PONTOS : 1144
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por MarcosSchultz em Qua Jul 25, 2018 11:09 pm

@DGDark escreveu:o meu deu erro. (155,2) Error CS1525: Unexpected symbol 'naveMesh'

tente utilizar a biblioteca UnityEngine.AI no início do código:



using UnityEngine.AI;




Link de referência: https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent-destination.html
MarcosSchultz
MarcosSchultz
Administrador

Masculino PONTOS : 62326
REPUTAÇÃO : 2353
Idade : 23
Áreas de atuação : Administrador do fórum
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) Aad8pUi

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por DGDark em Qui Jul 26, 2018 6:24 pm

@MarcosSchultz escreveu:
@DGDark escreveu:o meu deu erro. (155,2) Error CS1525: Unexpected symbol 'naveMesh'

tente utilizar a biblioteca UnityEngine.AI no início do código:



using UnityEngine.AI;




Link de referência: https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent-destination.html
Eu fiz isso, Mas eu já descobri o erro. Faltava o ";"

Obrigado mesmo assim

DGDark
Iniciante
Iniciante

Masculino PONTOS : 1144
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por DGDark em Qui Jul 26, 2018 6:31 pm

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


public class INTELIGENCIA2 : MonoBehaviour {
   public Transform Player;
   private UnityEngine.AI.NavMeshAgent naveMesh;
   public float DistanciaDoPlayer, DistanciaDoAIPoint;
   public float DistanciaDePercepcao = 30,DistanciaDeSeguir = 20, DistanciaDeAtacar = 2, VelocidadeDePasseio = 3, VelocidadeDePerseguicao = 6,TempoPorAtaque = 1.5f, DanoDoInimigo = 40;
   private bool VendoOPlayer;
   public Transform[] DestinosAleatorios;
   private int AIPointAtual;
   private bool PerseguindoAlgo, contadorPerseguindoAlgo,atacandoAlgo,contadorOlhar ;
   private float cronometroDaPerseguicao,cronometroAtaque, cronometroOlhar;
   public bool BPassear, BOlhar, BPerseguir, BAtacar;

   void Start (){
      AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
      naveMesh = transform.GetComponent<UnityEngine.AI.NavMeshAgent> ();
   }
   void Update (){
      DistanciaDoPlayer = Vector3.Distance(Player.transform.position,transform.position);
      DistanciaDoAIPoint =  Vector3.Distance(DestinosAleatorios[AIPointAtual].transform.position,transform.position);
      //============================== RAYCAST ===================================//
      RaycastHit hit;
      Vector3 deOnde = transform.position;
      Vector3 paraOnde = Player.transform.position;
      Vector3 direction = paraOnde - deOnde;
      if(Physics.Raycast (transform.position,direction,out hit,1000) && DistanciaDoPlayer < DistanciaDePercepcao ){
         if(hit.collider.gameObject.CompareTag("Player")){
            VendoOPlayer = true;
         }else{
            VendoOPlayer = false;
         }
      }
      //================ CHECHAGENS E DECISOES DO INIMIGO ================//
      if(DistanciaDoPlayer > DistanciaDePercepcao && cronometroOlhar < 5){
         PerseguindoAlgo = false;
         BPassear = true;
         Passear();
      }
      if (DistanciaDoPlayer <= DistanciaDePercepcao && DistanciaDoPlayer > DistanciaDeSeguir && cronometroOlhar < 5) {
         if(VendoOPlayer == true){
            BOlhar = true;
            Olhar ();
         }else{
            BPassear = true;

            Passear();
         }
      }
      if (DistanciaDoPlayer <= DistanciaDeSeguir && DistanciaDoPlayer > DistanciaDeAtacar ) {
         if(VendoOPlayer == true){
            BPerseguir = true;
            Perseguir();
            PerseguindoAlgo = true;
         }else{
            BPassear = true;

            Passear();
         }
      }
      if (DistanciaDoPlayer <= DistanciaDeAtacar ) {
         BAtacar = true;
         Atacar();
      }
      //COMANDOS DE PASSEAR
      if (DistanciaDoAIPoint <= 2) {
         AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
         BPassear = true;

         Passear();
      }
      //CONTADORES DE OLHAR
      if (contadorOlhar == true) {
         cronometroOlhar += Time.deltaTime;
      }
      if (cronometroOlhar >= 5 ) {
         Perseguir();

      }
      if (cronometroOlhar >= 8 ) {
         contadorOlhar = false;
         cronometroOlhar = 0;
         Perseguir();

      }
      //CONTADORES DE PERSEGUICAO
      if (contadorPerseguindoAlgo == true) {
         cronometroDaPerseguicao += Time.deltaTime;
      }
      if (cronometroDaPerseguicao >= 5 && VendoOPlayer == false) {
         contadorPerseguindoAlgo = false;
         cronometroDaPerseguicao = 0;
         PerseguindoAlgo = false;
      }
      // Freio do ATAQUE

      if (DistanciaDoPlayer <= DistanciaDeAtacar - 1) {
         naveMesh.destination = gameObject.transform.position;
      }

      // CONTADOR DE ATAQUE
      if (atacandoAlgo == true) {
         transform.LookAt (new Vector3 (Player.transform.position.x, transform.position.y, Player.transform.position.z));

         cronometroAtaque += Time.deltaTime;
      }
      if (cronometroAtaque >= TempoPorAtaque && DistanciaDoPlayer <= DistanciaDeAtacar) {
         atacandoAlgo = true;
         cronometroAtaque = 0;



         //PLAYER.VIDA = PLAYER.VIDA - DanoDoInimigo;
         Debug.Log ("recebeuAtaque");
      } else if (cronometroAtaque >= TempoPorAtaque && DistanciaDoPlayer > DistanciaDeAtacar) {
         atacandoAlgo = false;
         cronometroAtaque = 0;
         Debug.Log ("errou");
      }
   }
   void Passear (){

      BOlhar = false;
      BPerseguir = false;
      BAtacar = false;

      if (PerseguindoAlgo == false) {
         naveMesh.acceleration = 5;
         naveMesh.speed = VelocidadeDePasseio;
         naveMesh.destination = DestinosAleatorios [AIPointAtual].position;
      } else if (PerseguindoAlgo == true) {
         contadorPerseguindoAlgo = true;
      }
   }
   void Olhar(){
      contadorOlhar = true;

      BPassear = false;

      BPerseguir = false;
      BAtacar = false;

      naveMesh.speed = 0;
      transform.LookAt (Player);
   }
   void Perseguir(){
      BPassear = false;
      BOlhar = false;

      BAtacar = false;

      naveMesh.Aceleration = 8;
      naveMesh.speed = VelocidadeDePerseguicao;
      naveMesh.destination = Player.position;
   }
   void Atacar (){
      BPassear = false;
      BOlhar = false;
      BPerseguir = false;


      atacandoAlgo = true;
   }
}

Me ajuda. na linha 155 o naveMash.Aceleration está dando erro agora. o que está de errado?

DGDark
Iniciante
Iniciante

Masculino PONTOS : 1144
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por NKKF em Qui Jul 26, 2018 6:33 pm

Mude para:

Código:
naveMash.Acceleration
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2594
REPUTAÇÃO : 478
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) Aad8pUi

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por DGDark em Qui Jul 26, 2018 6:36 pm

@NKKF escreveu:Mude para:

Código:
naveMash.Acceleration
o acceleration tem que ser com a minusculo. obrigado me ajudou muito

DGDark
Iniciante
Iniciante

Masculino PONTOS : 1144
REPUTAÇÃO : 3
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por lucasferois em Sex Set 14, 2018 10:27 pm

Mano o meu nao anda ele fica parado eu ja to ficando bravo com isso vcs podem ajuda ele faz a animaçao mais ele fica parado fazendo a animaçao
mais uma coisa nao e erro do script nao

lucasferois
Iniciante
Iniciante

PONTOS : 413
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por Callyde Jr em Sab Set 15, 2018 12:01 am

Da uma olhada como eu fiz nesse kit no script coloquei as variavez de speed igual ao do animator voce vai ter ideias olhando como eu fiz, hoje faço diferente e complexo, esse ai e bem simple.
AI Zombie
Callyde Jr
Callyde Jr
Programador

Masculino PONTOS : 3130
REPUTAÇÃO : 405
Idade : 40
Áreas de atuação : Iniciante em modelagem Blender,ScketSHUP
Progamador
Ideialista

Meu Canal
https://www.youtube.com/ch
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário http://unnygames.000webhostapp.com/

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por gilmarnpires em Qui Nov 08, 2018 8:13 pm

Fala mano, show essa AI, so que estou com um probleminha... o meu nao muda as animações Sad ele so fica em passear, ele passa pelos pontos, olha, persegue e ataca mas  a primeira animação (Passear).
Poderia da um help?
gilmarnpires
gilmarnpires
Iniciante
Iniciante

PONTOS : 337
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por francisco barroso em Qui Nov 08, 2018 11:25 pm

@gilmarnpires escreveu:Fala mano, show essa AI, so que estou com um probleminha... o meu nao muda as animações Sad ele so fica em passear, ele passa pelos pontos, olha, persegue e ataca mas  a primeira animação (Passear).
Poderia da um help?
Vc linkou os AI points no inspector em pontos de destino?

francisco barroso
Programador

Masculino PONTOS : 713
REPUTAÇÃO : 59
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por Diego Felix em Qui Dez 13, 2018 2:12 pm

Olá galerinha, queria pedir a ajuda de vocês ou até para o criador do tutorial Yuri para me ajudar a criar um animator controller ou até me enviar algum se possivel como exemplo para o meu player, por que não sei adicionar a animação de hit que falta no player e no inimigo e o Yuri não ensinou essa parte no video e também o script pede umas coisas que não sei o que é como uma coisa chamada "visão" e etc então fiquei com duvida, se puderem ajudar desde já agradeço a todos,Vlw!!!
Diego Felix
Diego Felix
Avançado
Avançado

Masculino PONTOS : 1337
REPUTAÇÃO : 83
Idade : 29
Áreas de atuação : Modelagem 3D, Roteirista.
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário https://www.blogger.com/blogger.g?blogID=2315682099830977662#ove

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por francisco barroso em Sab Dez 15, 2018 4:44 pm

@Diego Felix escreveu:Olá galerinha, queria pedir a ajuda de vocês ou até para o criador do tutorial Yuri para me ajudar a criar um animator controller ou até me enviar algum se possivel como exemplo para o meu player, por que não sei adicionar a animação de hit que falta no player e no inimigo e o Yuri não ensinou essa parte no video e também o script pede umas coisas que não sei o que é como uma coisa chamada "visão" e etc então fiquei com duvida, se puderem ajudar desde já agradeço a todos,Vlw!!!

Vai na aba project e clica em animator controller

francisco barroso
Programador

Masculino PONTOS : 713
REPUTAÇÃO : 59
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )

Mensagem por verme1311 em Sex Ago 30, 2019 1:08 pm

O meu avatar não aparece... não importa quantas vezes eu tente sempre, só fica com a capsula...

verme1311
Iniciante
Iniciante

PONTOS : 232
REPUTAÇÃO : 0
Respeito as regras : [TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror ) WvDYdlf

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