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:
Animação da camera no FpsController
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
[TUTORIAL] Acionar a vibração do dispositivo
Manager Como fazer um jogo nesse estilo?
Como criar conta de publicador na asset store?
Problema de renderização
[Projeto]Simples em Desenvolvimento The Dolls Battle
Scripts !
Problema com script
Como fazer para aparecer um objeto na tela ao clicar com o mouse ou apertar um botão?
Quando a porta estiver trancada dar tipo uma tremedeira
Sorteio Especial GTA V,HELLO NEIGHBOR,PUBG
SonyVegas com qualidade ruim
Cores invertidas/Estranhas no PC
C# Script de Camera
[RESOLVIDO] Compra de asset
criar um app que atende a vários produtos.
Script para abrir e fechar gaveta
Minimap/Radar/GPS Estilo GTA V
Movimento 8 lados e utilização reflexiva de If e Else If (Resolução Transform).
[PROJETO MOBILE] Defeat the Illuminatis
Duvida sobre o unity IAP (compras na google play)
Programação e autonomia
Client Sincronizar objeto sem ser o player ??? (Networking Unet)
[TUTORIAL] AI Enemy ( Jogos de terror )
[____ADMINISTRAÇÃO____] Por que ninguém responde o seu tópico?
Problema de luz com objetos do ProBuilder
PROCURA-SE DESIGNER 2D e ROTEIRISTA PARA PROJETO EM ANDAMENTO!
[RESOLVIDO] Script para textura 3D
[TUTORIAL] Unity 5 - Como utilizar o Animator
Bug com mesh na animação
Formação de Equipe - programadores de C# na unity
Participe da Game Jam - Jaaj do canal Amdré Young!
movimento do porsonagen junto com objeto
[RESOLVIDO] Som na lanterna falhando
imagem transparente
[ AJUDA] Estou com problemas para acessar índice de uma Lista e realizar uma acao
Diferentes tamanhos de Textura afeta o desempenho do jogo?
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Emulador em seu jogo como Descobrir
[GAME JAM] Consegue Fazer um jogo em 15 dias ?
[TUTORIAL] Lanterna
Textura em 3 dimensões na Unity 2018.2??????
Script que ao clicar em um objeto, abra um formulário
[RESOLVIDO] como atualizar o status do perfil na conta unity
[Projeto] Line Battle
Como Posso editar Animação Generic mixamo ?
[TUTORIAL] Sistema de EXP, upar níveis, entre outros
[AULA] Estrutura de repetição while e do while
Como fazer um analogico para rotaciona a camera do jogador? android
Como mudar de Scene sem perder os valores das variáveis
Como mudar alguma configuração de acordo com a resolução da tela?
Timer
Precisa-se de Criador de sprites.
Como criar um Reflexo falso como do Sonic Adventure?
[ FIND ME ] Game em Desenvolvimento
Compilando pra android
[AULA] Estrutura de repetição for
[AULA] Listas (List)
Como encurtar e melhorar meu código, elevador(+ dúvida sobre programação em unity)
GetActiveScene
[TUTORIAL] C# .NET | Visual Studio - conexão com banco de dados MySQL
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
(dúvida) fazer o player cair de paraquedas estilo pubg
[TUTORIAL] Como criar cénarios 2D muito rapido e facil.
Porta "bugada"
[TUTORIAL] C# .NET | Cores aleatorias RGB
RECRUTA-SE DESIGNER PARA JOGO ONLINE..
[RESOLVIDO] Script de porta trancada com audio
Animation Fps
[RESOLVIDO] Problema com StartCoroutine
[RESOLVIDO] Erro ao usar DLL/Biblioteca do Mysql
R7 - GOOH (resident evil 7)
[ NONAME ] Procura de pessoas interessadas
FPS - Armas e balas
Voice Chat
Jogo - Board Challenge Free
[RESOLVIDO] Gerenciador de arquivos CSV
Editor de vídeo gratuito.
Erro ao usar WWW na unity
[RESOLVIDO] color.a diminuir gradualmente
Pack de áudio/ efeitos sonoros gratuitos.
[TUTORIAL] Cursor do mouse não aparecer durante o jogo
Se eu fazer uma animação diferente pra cada personagem,vai pesar ?
Como fazer um sistema de se esconder?
Dragon Bones [software]
Auto-Update de forma rápida, simples e barata.
Como fazer um botão Joystick que controle o First Person Controller?
Cloud Save por arquivo binario no google play services
[RESOLVIDO] Como editar o texto que eu selecionar ? - (InputField)
Como verificar uma colisão constante ?
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer ótimo FPSController com full body?
onde publicar os trabalhos prontos.
[RESOLVIDO] Como usar "?" e ":" ?
[RESOLVIDO] Detectar colisão usando if em C#?
Hoje à(s) 1:51 am
Hoje à(s) 12:37 am
Ontem à(s) 8:16 pm
Ontem à(s) 8:14 pm
Ontem à(s) 7:32 pm
Ontem à(s) 6:39 pm
Ontem à(s) 3:16 pm
Ontem à(s) 3:16 pm
Ontem à(s) 3:10 pm
Ontem à(s) 2:56 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:20 pm
Ontem à(s) 2:14 pm
Ontem à(s) 2:04 pm
Ontem à(s) 11:55 am
Qui Jul 19, 2018 8:06 pm
Qui Jul 19, 2018 5:20 pm
Qui Jul 19, 2018 4:29 pm
Qui Jul 19, 2018 3:13 pm
Qui Jul 19, 2018 2:29 pm
Qui Jul 19, 2018 10:14 am
Qui Jul 19, 2018 10:10 am
Qui Jul 19, 2018 10:06 am
Qui Jul 19, 2018 1:11 am
Qua Jul 18, 2018 9:18 pm
Qua Jul 18, 2018 9:13 pm
Qua Jul 18, 2018 8:04 pm
Qua Jul 18, 2018 5:33 pm
Qua Jul 18, 2018 4:28 pm
Qua Jul 18, 2018 4:26 pm
Qua Jul 18, 2018 4:09 pm
Qua Jul 18, 2018 2:38 pm
Qua Jul 18, 2018 1:52 pm
Qua Jul 18, 2018 11:30 am
Qua Jul 18, 2018 10:10 am
Qua Jul 18, 2018 9:36 am
Ter Jul 17, 2018 11:46 pm
Ter Jul 17, 2018 8:57 pm
Ter Jul 17, 2018 6:44 pm
Ter Jul 17, 2018 5:38 pm
Ter Jul 17, 2018 5:37 pm
Ter Jul 17, 2018 5:34 pm
Ter Jul 17, 2018 3:58 pm
Ter Jul 17, 2018 3:35 pm
Ter Jul 17, 2018 1:51 pm
Ter Jul 17, 2018 12:15 pm
Seg Jul 16, 2018 8:15 pm
Seg Jul 16, 2018 5:01 pm
Seg Jul 16, 2018 4:01 pm
Seg Jul 16, 2018 3:08 pm
Seg Jul 16, 2018 2:11 pm
Seg Jul 16, 2018 1:32 pm
Seg Jul 16, 2018 9:55 am
Dom Jul 15, 2018 11:46 pm
Dom Jul 15, 2018 10:34 pm
Dom Jul 15, 2018 10:32 pm
Dom Jul 15, 2018 10:03 pm
Dom Jul 15, 2018 9:15 pm
Dom Jul 15, 2018 2:05 pm
Dom Jul 15, 2018 12:42 am
Dom Jul 15, 2018 12:35 am
Sab Jul 14, 2018 11:38 pm
Sab Jul 14, 2018 8:06 pm
Sab Jul 14, 2018 6:54 pm
Sab Jul 14, 2018 4:23 pm
Sab Jul 14, 2018 9:44 am
Sab Jul 14, 2018 9:42 am
Sab Jul 14, 2018 12:58 am
Sex Jul 13, 2018 11:09 pm
Sex Jul 13, 2018 10:20 pm
Sex Jul 13, 2018 8:28 pm
Sex Jul 13, 2018 2:11 pm
Sex Jul 13, 2018 12:39 pm
Sex Jul 13, 2018 11:01 am
Sex Jul 13, 2018 10:31 am
Sex Jul 13, 2018 8:53 am
Qui Jul 12, 2018 11:07 pm
Qui Jul 12, 2018 10:52 pm
Qui Jul 12, 2018 10:14 pm
Qui Jul 12, 2018 9:27 pm
Qui Jul 12, 2018 8:05 pm
Qui Jul 12, 2018 7:33 pm
Qui Jul 12, 2018 7:12 pm
Qui Jul 12, 2018 6:29 pm
Qui Jul 12, 2018 6:11 pm
Qui Jul 12, 2018 5:04 pm
Qui Jul 12, 2018 4:10 pm
Qui Jul 12, 2018 3:41 pm
Qui Jul 12, 2018 3:05 pm
Qui Jul 12, 2018 11:38 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:05 am
Qui Jul 12, 2018 9:51 am
Qui Jul 12, 2018 1:16 am
Qua Jul 11, 2018 7:25 pm
Qua Jul 11, 2018 6:33 pm
Qua Jul 11, 2018 5:24 pm
Qua Jul 11, 2018 1:44 pm
CaioItz
MarcosSchultz
kaufergomi
FelipeSouza11
Callyde Jr
Unidade3d5
vitorhugo
FelipeSouza11
MayLeone
Tiago95
Tiago95
RafaelSquid1
NKKF
Tegh
Callyde Jr
MayLeone
MRX
natanael.olimpio
LucioHenrique890
Isabela
dstaroski
dstaroski
Tegh
QueriaStarMorto
Extreme Craft
Mourao
Tegh
LucasF
rafilkl2
vitorhugo
FelipeSouza11
Dom3000
QueriaStarMorto
Tegh
dstaroski
RafaelSquid1
JohnRambo
Callyde Jr
Dom3000
dstaroski
dstaroski
dstaroski
Dom3000
RafaelSquid1
LucioHenrique890
RandomStuff
marciosilva
MRX
natanael.olimpio
andradetd
NKKF
FelipeSouza11
dstaroski
Nalfam
hetrodo
LucioHenrique890
dkrazor
dstaroski
NKKF
Tegh
Tegh
AprDev
NKKF
Tegh
dstaroski
gcs13
gcs13
LucioHenrique890
Nalfam
Tegh
Picode
RafaelSquid1
FelipeGD
igorobm
igorobm
RafaelSquid1
Locodapraça
LucioHenrique890
FelipeGD
FelipeGD
NKKF
Nalfam
NKKF
Eduardoro39
FelipeGD
FelipeGD
FelipeGD
RafaelSquid1
Zack2
NKKF
RafaelSquid1
jhobert77
Tiago95
NKKF
FelipeGD
FelipeGD
marciosilva
PauloFR
Lorena Martins

[TUTORIAL] AI Enemy ( Jogos de terror )

Página 2 de 2 Anterior  1, 2

Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por JohnRambo em Ter Set 27, 2016 5:56 pm

Amigo isso é assunto para outro tópico, crie um na área "Dúvidas em geral" e especifique com clareza o que você quer
avatar
JohnRambo
Moderador

Masculino PONTOS : 2467
REPUTAÇÃO : 459
Idade : 19
Áreas de atuação : Unity;
Programação;
Modelagem;
Criação de cenários;
Sonorização;

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por Sergio Pimentel em Ter Set 27, 2016 10:45 pm

John Rambo escreveu:Tipo no filme "Maze runner" ??
Na verdade, não assisti ao filme, mas vou fazê-lo pela indicação! Smile
Fico no aguardo da orientação para solucionar meu problema!

Sergio Pimentel
Iniciante
Iniciante

PONTOS : 672
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por marx em Seg Jan 09, 2017 7:04 pm

meu esta dando erro no Nav Mesh Agent.
Assets/Standard Assets/INTELIGENCIA.cs(5,10): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?
oq eu faço?

marx
Iniciante
Iniciante

PONTOS : 563
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por rafaelllsd em Seg Jan 09, 2017 7:07 pm

@marx escreveu:meu esta dando erro no Nav Mesh Agent.
Assets/Standard Assets/INTELIGENCIA.cs(5,10): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?
oq eu faço?
Esse erro é porque você não esta usando a livraria AI coloque junto com as outras isso:
Código:
using UnityEngine.AI;
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 2670
REPUTAÇÃO : 392
Idade : 17
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, HTML5.

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por marx em Seg Jan 09, 2017 7:23 pm

@rafaelllsd escreveu:
@marx escreveu:meu esta dando erro no Nav Mesh Agent.
Assets/Standard Assets/INTELIGENCIA.cs(5,10): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?
oq eu faço?
Esse erro é porque você não esta usando a livraria AI coloque junto com as outras isso:
Código:
using UnityEngine.AI;
vlw!!

marx
Iniciante
Iniciante

PONTOS : 563
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por marx em Ter Jan 10, 2017 8:19 pm

COLOQUEI VIDA NO SCRIPT, PRA QUANDO CHEGAR A ''0'' MUDAR A ''VELOCIDADE''(ANIMAÇAO DE MORTE) E DESTRUIR O ''INIMIGO'',MAS ELE N PERDE VIDA NUNCA.
ESTOU USANDO PARA ATINGIR ELE O SCRIPT DAS ARMAS E O RAYCAST .
PQ N DA CERTO?



using UnityEngine.AI;
using UnityEngine;
using System.Collections;

public class ESQUELETO : MonoBehaviour { 
public Transform Player;
private UnityEngine.AI.NavMeshAgent naveMesh;
private 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;
private float cronometroDaPerseguicao,cronometroAtaque;
public float vida = 100;
bool chamouMorte = false;
private Animator controlInimigo;
public float velocidade;
public Coroutine StartCoroutine;

void Start (){
controlInimigo = GetComponent<Animator>();
AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
naveMesh = transform.GetComponent<UnityEngine.AI.NavMeshAgent> ();
}
void Update (){
controlInimigo.SetFloat ("velocidade", velocidade);
if (vida <= 0) {
vida = 0;
if (chamouMorte == false) {
chamouMorte = true;
velocidade = 4.1f;

StartCoroutine ("Morrer");
}
}
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){
Passear();
}
if (DistanciaDoPlayer <= DistanciaDePercepcao && DistanciaDoPlayer > DistanciaDeSeguir) {
if(VendoOPlayer == true){
Olhar ();
}else{
Passear();
}
}
if (DistanciaDoPlayer <= DistanciaDeSeguir && DistanciaDoPlayer > DistanciaDeAtacar) {
if(VendoOPlayer == true){
Perseguir();
PerseguindoAlgo = true;
}else{
Passear();
}
}
if (DistanciaDoPlayer <= DistanciaDeAtacar) {
Atacar();
}

//COMANDOS DE PASSEAR
if (DistanciaDoAIPoint <= 2) {
velocidade = 1.1f;
AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
Passear();
}
//CONTADORES DE PERSEGUICAO
if (contadorPerseguindoAlgo == true) {
cronometroDaPerseguicao += Time.deltaTime;

}
if (cronometroDaPerseguicao >= 5 && VendoOPlayer == false) {
contadorPerseguindoAlgo = false;
cronometroDaPerseguicao = 0;
PerseguindoAlgo = false;
}
// CONTADOR DE ATAQUE
if (atacandoAlgo == true) {
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 (){
if (PerseguindoAlgo == false) {
naveMesh.acceleration = 5;
naveMesh.speed = VelocidadeDePasseio;
naveMesh.destination = DestinosAleatorios [AIPointAtual].position;
} else if (PerseguindoAlgo == true) {
contadorPerseguindoAlgo = true;
}
}

void Olhar(){
velocidade = 0f;
naveMesh.speed = 0;
transform.LookAt (Player);
}
void Perseguir(){
velocidade = 2.1f;
naveMesh.acceleration = 8;
naveMesh.speed = VelocidadeDePerseguicao;
naveMesh.destination = Player.position;

}

void Atacar (){
velocidade = 3.1f;
atacandoAlgo = true;
}
IEnumerator Morrer(){



GetComponent<MeshRenderer> ().material.color = Color.red;
yield return new WaitForSeconds (10);
Destroy (gameObject);
}

marx
Iniciante
Iniciante

PONTOS : 563
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por MarcosSchultz em Qua Jan 11, 2017 1:19 am

marx, crie um tópico separado para a sua dúvida, postando os scripts do Player e do inimigo, a tag que o seu jogador tem, etc
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 60654
REPUTAÇÃO : 1923
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

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

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por Pedro Canassa Garcia em Qua Jan 18, 2017 10:10 pm

Marcos primeiramente agradeço por ser este professor incrível, com muitas aulas e todas boas.

Eu segui todo o vídeo, e o meu inimigo faz tudo correto, porém quando ele esta passeando e me vê, ele corre até mim e me mata, tudo ok, mas quando eu consigo fugir ele não vai passear de novo ele apenas fica parado no lugar.

Agradeço a quem me responder!!

Pedro Canassa Garcia
Iniciante
Iniciante

PONTOS : 562
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por GamersBR em Qui Jun 08, 2017 7:06 pm

Cara, eu estou usando a Unity 5.5, só que o inimigo não me segue, por mais perto que eu esteja dele
avatar
GamersBR
Membro
Membro

PONTOS : 832
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por PauloFR em Sex Jun 09, 2017 8:31 pm

@GamersBR escreveu:Cara, eu estou usando a Unity 5.5, só que o inimigo não me segue, por mais perto que eu esteja dele
Talvez o personagem não esteja encostando no bake do navmesh
avatar
PauloFR
Instrutor

Masculino PONTOS : 1747
REPUTAÇÃO : 357
Idade : 15
Áreas de atuação : Oque será uma área de atuação, se não um modo de manter-nos presos ao sistema

Respeito as regras :

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

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por MarcosSchultz em Ter Jun 13, 2017 2:18 pm

Pessoal que está com problemas, por favor, postem prints de como tudo está configurado.

Outra coisa, o Jogador está com a tag "Player" ?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 60654
REPUTAÇÃO : 1923
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

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

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por marcelo123 em Qua Jun 14, 2017 11:57 pm

depois que o inimigo ve o player ele fica parado e não volta a seguir os points, e eu não fiz nenhuma alteração no script então não tem como eu saber onde esta o erro, obs: o script se auto atualizou na vdd vou mandar ele a seguir pra ve se podem me ajudar! 
using UnityEngine;
using System.Collections;
public class INTELIGENCIA : MonoBehaviour { 
public Transform Player;
private UnityEngine.AI.NavMeshAgent naveMesh;
private 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;
private float cronometroDaPerseguicao,cronometroAtaque;
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){
Passear();
}
if (DistanciaDoPlayer <= DistanciaDePercepcao && DistanciaDoPlayer > DistanciaDeSeguir) {
if(VendoOPlayer == true){
Olhar ();
}else{
Passear();
}
}
if (DistanciaDoPlayer <= DistanciaDeSeguir && DistanciaDoPlayer > DistanciaDeAtacar) {
if(VendoOPlayer == true){
Perseguir();
PerseguindoAlgo = true;
}else{
Passear();
}
}
if (DistanciaDoPlayer <= DistanciaDeAtacar) {
Atacar();
}
//COMANDOS DE PASSEAR
if (DistanciaDoAIPoint <= 2) {
AIPointAtual = Random.Range (0, DestinosAleatorios.Length);
Passear();
}
//CONTADORES DE PERSEGUICAO
if (contadorPerseguindoAlgo == true) {
cronometroDaPerseguicao += Time.deltaTime;
}
if (cronometroDaPerseguicao >= 5 && VendoOPlayer == false) {
contadorPerseguindoAlgo = false;
cronometroDaPerseguicao = 0;
PerseguindoAlgo = false;
}
// CONTADOR DE ATAQUE
if (atacandoAlgo == true) {
cronometroAtaque += Time.deltaTime;
}
if (cronometroAtaque >= TempoPorAtaque && DistanciaDoPlayer <= DistanciaDeAtacar) {
atacandoAlgo = true;
cronometroAtaque = 0;
PLAYER1.VIDA = PLAYER1.VIDA - DanoDoInimigo;
Debug.Log ("recebeuAtaque");
} else if (cronometroAtaque >= TempoPorAtaque && DistanciaDoPlayer > DistanciaDeAtacar) {
atacandoAlgo = false;
cronometroAtaque = 0;
Debug.Log ("errou");
}
}
void Passear (){
if (PerseguindoAlgo == false) {
naveMesh.acceleration = 5;
naveMesh.speed = VelocidadeDePasseio;
naveMesh.destination = DestinosAleatorios [AIPointAtual].position;
} else if (PerseguindoAlgo == true) {
contadorPerseguindoAlgo = true;
}
}
void Olhar(){
naveMesh.speed = 0;
transform.LookAt (Player);
}
void Perseguir(){
naveMesh.acceleration = 8;
naveMesh.speed = VelocidadeDePerseguicao;
naveMesh.destination = Player.position;
}
void Atacar (){
atacandoAlgo = true;
}
}

marcelo123
Membro
Membro

PONTOS : 1219
REPUTAÇÃO : 1
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por Joaopm1 em Ter Jun 20, 2017 6:32 pm

Estou criando um RPG simples, quero utilizar este código para criar a movimentação nos inimigos em pontos curtos, porém por algum motivo o inimigo associado ao NavMesh esta ignorando os blocos que coloquei para teste. OBS: Os Scripts só foram alterados por questões de sintaxe do meu projeto. 
Meu Bake foi configurado da seguinte forma:


E o NavMeshAgent do Player assim:


Alguma ideia do que possa ser?

Joaopm1
Avançado
Avançado

PONTOS : 577
REPUTAÇÃO : 12
Idade : 19
Áreas de atuação : Aprendiz de C# , Unity e Blender.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por BrazaTattoo em Sex Jun 15, 2018 6:45 pm

Excelente trabalho Marcos, primeira duvida minha aqui no Site, Fiz tudo correto porem esta dando erro em duas linhas do script "INTELIGENCIA", dizendo que nao pode encontrar o NavMeshAgent linha 5, e tambem na linha 14 (AIPointAtual = Random.Range (0, DestinosAleatorios.Length)Piscadinha desde ja agradeço e parabens pelo excelente trabalho!

BrazaTattoo
Iniciante
Iniciante

PONTOS : 869
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por dstaroski em Sex Jun 15, 2018 8:27 pm

@BrazaTattoo escreveu:Excelente trabalho Marcos, primeira duvida minha aqui no Site, Fiz tudo correto porem esta dando erro em duas linhas do script "INTELIGENCIA", dizendo que nao pode encontrar o NavMeshAgent linha 5, e tambem na linha 14 (AIPointAtual = Random.Range (0, DestinosAleatorios.Length)Piscadinha desde ja agradeço e parabens pelo excelente trabalho!
Buenas noches! pode ser algum método no código que precisa ser atualizado devido as mudanças de versões da Unity. Posta ai pra gente o código dar uma olhada.

Abraço!
avatar
dstaroski
Instrutor

Masculino PONTOS : 3524
REPUTAÇÃO : 855
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Daz3D and Gimp

Respeito as regras :

Ver perfil do usuário https://gamejolt.com/games/defeattheilluminatis/347786

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por BrazaTattoo em Sex Jun 15, 2018 10:05 pm

opa vou mandar dois prints, creio que possa ser por causa da versao mesmo por que usei o mesmo script sem alteraçoes.

BrazaTattoo
Iniciante
Iniciante

PONTOS : 869
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] AI Enemy ( Jogos de terror )

Mensagem por Mourao em Qua Jul 18, 2018 9:13 pm

Marcos, por favor, eu assisti ao seu tutorial mas por algum motivo meu inimigo não está indo atrás do player, se eu chego no alcance ele me acerta mas não me persegue ;-;
Obs: mudei as variáveis para inglês pois estou mais acostumado, mas tentei com o código que estava aqui no forum e ele também não me persegue
Obs2: Lembrei também de mudar a tag para Player, tanto que até adicionei no código dele a linha transform.tag = "Player";
segue o código:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class Monster : MonoBehaviour {
   
    public Transform Player;
    public float perceptDistance = 30, followDistance = 20, attackDistance = 2;
    public float velocityWalk = 3, velocityFollow = 6, timePerAttack = 1.5f, damege = 100;
    public Transform[] destinyRandom;

    private NavMeshAgent naveMech;
    private float distancePlayer, distanceAipoint;
    private bool seePlayer;
    private int nowAIpoint;
    private bool followAnything, contFA, attackAnything;
    private float cronoFollow, cronoAttack;

   // Use this for initialization
   void Start () {
        nowAIpoint = Random.Range(0, destinyRandom.Length);
        naveMech = transform.GetComponent<NavMeshAgent>();
   }
   
   // Update is called once per frame
   void Update () {
        distancePlayer = Vector3.Distance(Player.transform.position, transform.position);
        distanceAipoint = Vector3.Distance(destinyRandom[nowAIpoint].transform.position, transform.position);
        //====Raycast====//
        RaycastHit hit;
        Vector3 location = transform.position;
        Vector3 forLocation = Player.transform.position;
        Vector3 direction = forLocation - location;
        if(Physics.Raycast(transform.position, direction, out hit, 150) && distancePlayer < perceptDistance)
        {
            if (hit.collider.gameObject.CompareTag("Player"))
            {
                seePlayer = true;
            }
            else
            {
                seePlayer = false;
            }
        }
        //====Checagem e Decisões do Inimigo====
        if (distancePlayer > perceptDistance)
        {
            Walk();
        }
        if (distancePlayer <= perceptDistance && distancePlayer > followDistance)
        {
            if(seePlayer == true)
            {
                See();
            }
            else
            {
                Walk();
            }
        }
        if(distancePlayer <= followDistance && distancePlayer > attackDistance)
        {
            if (seePlayer == true)
            {
                RunOut();
                followAnything = true;
            }
            else
            {
                Walk();
            }
        }
        if(distancePlayer <= attackDistance)
        {
            Attack();
        }
        //Comandos de Walk
        if(distanceAipoint <= 2)
        {
            nowAIpoint = Random.Range(0, destinyRandom.Length);
            Walk();
        }
        //Contadores de Perseguição
        if(contFA == true)
        {
            cronoFollow += Time.deltaTime;
            Debug.Log("Entrou!");
        }
        if(cronoFollow >= 5 && seePlayer == false)
        {
            contFA = false;
            cronoFollow = 0;
            followAnything = false;
        }
        //Contador Attack
        if(attackAnything == true)
        {
            cronoAttack += Time.deltaTime;
        }
        if(cronoAttack >= timePerAttack && distancePlayer <= attackDistance)
        {
            attackAnything = true;
            cronoAttack = 0;
            PlayerBehaviour.life += -damege;
        }
        else if(cronoAttack >= timePerAttack && distancePlayer > attackDistance)
        {
            attackAnything = false;
            cronoAttack = 0;
        }
    }
    void Walk()
    {
        if(followAnything == false)
        {
            naveMech.acceleration = 5;
            naveMech.speed = velocityWalk;
            naveMech.destination = destinyRandom[nowAIpoint].position;
        }
        else if(followAnything == true)
        {
            contFA = true;
        }
    }
    void See()
    {
        naveMech.speed = 0;
        transform.LookAt(Player);
    }
    void RunOut()
    {
        naveMech.acceleration = 8;
        naveMech.speed = velocityFollow;
        naveMech.destination = Player.position;
    }
    void Attack()
    {
        attackAnything = true;
    }
}

Mourao
Iniciante
Iniciante

PONTOS : 113
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Página 2 de 2 Anterior  1, 2

Voltar ao Topo

- Tópicos similares

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