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:
Erros na Unity
[TUTORIAL] Sistema de inventário Sobrevivência
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
Material/Textura Madeira 4K
[DICA RÁPIDA] Verificar se existe conexão com a Internet
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Problema com Dropdown ao alterar resolução
Criar Animações (Vídeo) com Unity
animator duvidas
Raycast ponto a ponto
Rodas de tanque
como salvar rotaçao uma vez
Criação do menu - Opiniões
[JOGO] Mega BombermOn - Pokémon + Bomberman
[RESOLVIDO] problemas com rigidbody
MySql Unity(2018.2.14F1)
Aparecer uma caixinha em algum tempo do jogo.
keystore Android
Formação de equipe (projeto já em andamento)
Unity Network, isServer, IsLocalPlayer..
Como executar uma animação atraves de um botão?
[TUTORIAL] Sistema de Oficina de Carros
[TUTORIAL] Unity 5 - Botão contínuo usando UI (Manter pressionado)
[PEDIDO] Script de Atirar
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Erro de Prefab quando realiza o Build de um projeto 3D
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Renderizar apenas algumas partes do mapa.
[RESOLVIDO] Água à noite?
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[PACOTE 2D GRATUITO] Pacote com 17 sprites de alta qualidade para baixar!
eixos X e Z nao rotaciona junto com o play
Erro na unity
Drop Shadows
Senha jogo schultz
Como fazer um sistema para conectar objetos?
Help!!! Criarção de Shader.
Projeto Estilo DD Tank
Duvidas com ADS
[TUTORIAL] Unity 5 - Sistema básico de jogo estilo ANGRY BIRDS
problema com giro na realidade aumentada
Sistema stealth
FreezeRotation e FreezePosition RigidBody Unity
[RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Gravidade para objetos selecionados
Procura-se Modelador para Mapas
Mudar ícone do jogo pelo script
[TUTORIAL] Plants VS Zombies na Unity!
A possibilidade de importar uma Biblioteca (dll) numa classe (MonoBehavior) da Unity?
IAP e ADS: plugins obsoletos
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO] Linkar Script do inimigo quando o player entrar no collider dele
Ajuda sobre script para abir e fechar porta malas
site pra modelos 3d de armas
[RESOLVIDO] alguem que saiba fazer um jogo de fps pode ajuda?
Compilação do Game
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Snake Game - JavaScript + SVG
(Dúvida) Como acessar o sensor de movimento do Android?
[TUTORIAL] Gerenciamento de idiomas para o jogo ou app
[RESOLVIDO] Menu de um jogo com vários mapas
[TUTORIAL] Criando jogo de cartas com I.A (C# e Visual Studio) - Parte 01
USSecurity
Sawed off (Modelo 3D)
Direito autoral
Contar objetos clones
Dividir uma mesh em dois.
Procura se level designer ou diretor de arte ( REMUNERADO )
[TUTORIAL] Sistema COMPLETO de câmeras
[RESOLVIDO] Animaçao só funciona uma vez
[RESOLVIDO] Eu não consigo abrir o monodevelop
Novo Asset Sistema de Portas e Chaves
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
[RESOLVIDO] Como fazer a animação executar so uma vez
Meu personagem na Realidade Aumentada fica tremendo
Carregar arquivos da biblioteca
Jogo de Tabuada
ik nao funciona
DUVIDA EM SCRIPT
Cores nos materiais sem criar material
[Projeto] Line Battle
[TUTORIAL] Controle de personagem em primeira pessoa + pulo para android!
SkyBox Com qualidade Horrivel!
[RESOLVIDO] Bug/Erro da unity?
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
erro unity para android
MENU DE SELEÇÃO DE FASES
[PROJETO CONCLUÍDO] Defeat the Illuminatis
sombras para jogos mobile
Corcle (Mobile) - Um jogo simples com um nome estranho.
[TUTORIAL] Jogo da forca em C#
[RESOLVIDO] Dúvida com relação à "Escopo" e "Namespace" entre pastas na Unity
Problema ao rotacionar valores negativos.
Importe objeto do blender
Monodevelop
Equipe RedSkyGames Studio
Blender ao juntar algumas partes ficam mais escuro
new Vector3 (o que ele ta fazendo de errado??)(iniciante)
Hoje à(s) 7:27 pm
Hoje à(s) 7:06 pm
Hoje à(s) 3:44 pm
Hoje à(s) 8:51 am
Ontem à(s) 8:50 pm
Ontem à(s) 10:45 am
Qui Dez 13, 2018 5:19 pm
Qui Dez 13, 2018 4:07 pm
Qua Dez 12, 2018 8:25 pm
Qua Dez 12, 2018 2:52 pm
Qua Dez 12, 2018 1:58 pm
Qua Dez 12, 2018 1:41 pm
Qua Dez 12, 2018 11:57 am
Qua Dez 12, 2018 9:33 am
Qua Dez 12, 2018 6:51 am
Ter Dez 11, 2018 6:56 pm
Ter Dez 11, 2018 6:24 pm
Ter Dez 11, 2018 12:40 am
Dom Dez 09, 2018 7:02 pm
Dom Dez 09, 2018 5:31 pm
Dom Dez 09, 2018 5:19 pm
Sab Dez 08, 2018 10:28 pm
Sab Dez 08, 2018 8:42 pm
Sab Dez 08, 2018 2:20 pm
Sex Dez 07, 2018 5:04 pm
Sex Dez 07, 2018 11:11 am
Sex Dez 07, 2018 4:03 am
Qui Dez 06, 2018 10:02 pm
Qui Dez 06, 2018 7:17 pm
Qui Dez 06, 2018 5:30 pm
Qui Dez 06, 2018 5:30 pm
Qui Dez 06, 2018 5:26 pm
Qui Dez 06, 2018 4:59 pm
Qui Dez 06, 2018 12:28 pm
Qua Dez 05, 2018 7:53 pm
Qua Dez 05, 2018 10:31 am
Ter Dez 04, 2018 5:57 pm
Ter Dez 04, 2018 2:24 pm
Ter Dez 04, 2018 12:37 pm
Ter Dez 04, 2018 7:02 am
Ter Dez 04, 2018 6:50 am
Ter Dez 04, 2018 3:10 am
Ter Dez 04, 2018 2:57 am
Ter Dez 04, 2018 2:39 am
Seg Dez 03, 2018 9:45 pm
Seg Dez 03, 2018 7:47 pm
Seg Dez 03, 2018 11:11 am
Seg Dez 03, 2018 11:08 am
Seg Dez 03, 2018 8:09 am
Seg Dez 03, 2018 8:00 am
Seg Dez 03, 2018 4:12 am
Dom Dez 02, 2018 10:32 pm
Dom Dez 02, 2018 10:29 am
Dom Dez 02, 2018 12:51 am
Sab Dez 01, 2018 11:42 pm
Sab Dez 01, 2018 8:24 pm
Sab Dez 01, 2018 8:11 pm
Sab Dez 01, 2018 12:37 pm
Sab Dez 01, 2018 12:22 pm
Sex Nov 30, 2018 3:10 pm
Sex Nov 30, 2018 9:28 am
Qui Nov 29, 2018 1:02 am
Qui Nov 29, 2018 12:11 am
Qui Nov 29, 2018 12:08 am
Qua Nov 28, 2018 2:03 pm
Qua Nov 28, 2018 2:00 pm
Qua Nov 28, 2018 12:29 pm
Qua Nov 28, 2018 3:09 am
Qua Nov 28, 2018 2:03 am
Ter Nov 27, 2018 7:49 pm
Ter Nov 27, 2018 4:50 pm
Ter Nov 27, 2018 12:46 pm
Seg Nov 26, 2018 7:29 pm
Seg Nov 26, 2018 1:56 pm
Seg Nov 26, 2018 1:55 pm
Seg Nov 26, 2018 8:33 am
Seg Nov 26, 2018 8:28 am
Dom Nov 25, 2018 10:06 pm
Dom Nov 25, 2018 8:21 am
Dom Nov 25, 2018 4:04 am
Sab Nov 24, 2018 7:41 pm
Sab Nov 24, 2018 3:52 pm
Sab Nov 24, 2018 3:03 pm
Sab Nov 24, 2018 1:33 pm
Sab Nov 24, 2018 7:49 am
Sab Nov 24, 2018 5:54 am
Sex Nov 23, 2018 3:28 pm
Sex Nov 23, 2018 12:58 pm
Sex Nov 23, 2018 12:29 pm
Sex Nov 23, 2018 11:49 am
Sex Nov 23, 2018 11:42 am
Qui Nov 22, 2018 6:21 pm
Qui Nov 22, 2018 11:59 am
Qui Nov 22, 2018 9:53 am
Qui Nov 22, 2018 9:33 am
Qua Nov 21, 2018 6:41 pm
Qua Nov 21, 2018 10:09 am
Qua Nov 21, 2018 6:30 am
Ter Nov 20, 2018 9:58 pm
SuperGamer
916anderson
francisco barroso
dstaroski
DuViDoSo
dstaroski
DarthMalak
JohnRambo
NKKF
NKKF
NKKF
dstaroski
gilgsjr
guimaraf
Carlos Andre
gilgsjr
SuperGamer
natanael.olimpio
BRGC
Callyde Jr
luis45
Jp.Game
ueslei16
gcs
dstaroski
McbDJ
MarcosSchultz
Isabela
gilgsjr
dstaroski
dstaroski
dstaroski
francisco barroso
yVIEIRA
NKKF
francisco barroso
henriquegames501
gilgsjr
Manawydan
Zack2
yanayana
MarcosSchultz
MarcosSchultz
MarcosSchultz
Emerson Rebouças
lesgoy
Opiz
NKKF
Tegh
Tegh
Zack2
Dom3000
Luizdanhp
ffabim
gutozardy
diegopds
gilgsjr
Joab Artes Gráficas
SuperGamer
glauco
dstaroski
Valdir dos Santos
igorobm
igorobm
TioUV
TioUV
dstaroski
conceptfac
rZwr
Erivan
francisco barroso
tonCosta3939
Simplizãum S
ninjagamergabriel
Hube
natanael.olimpio
natanael.olimpio
MarcosSchultz
diegopds
KAYKETHEO27
NKKF
MRX
tonCosta3939
Joab Artes Gráficas
Zack2
Joab Artes Gráficas
francisco barroso
Callyde Jr
dstaroski
Joab Artes Gráficas
Joab Artes Gráficas
clroberto2005
Insurgente
diegopds
diegopds
Tegh
Samuelostgamer
TioUV
NKKF

ANIMAÇÃO INIMIGO AI

Ir em baixo

DÚVIDA ANIMAÇÃO INIMIGO AI

Mensagem por bertarele em Sab Jun 09, 2018 1:02 am

Boa noite galera, estou com uma duvida e preciso muito de ajuda...

Recentemente vi um video do Marcos que ele coloca um AI inimigo que segue o personagem e ataca. Coloquei as linhas de código, porem meu inimigo  não ataca, apenas anda... 

Outra duvida é a seguinte, baixei um 3D na asset store de um humanoide, e estou tentando colocar uma serra elétrica e uma mascara nele, porem não consigo de jeito nenhum, a serra elétrica e a mascara não acompanham a animação... tem algum jeito de fazer com que elas acompanhem? mas da forma certa com o personagem segurando ela na mão ?

RESUMINDO: eu gostaria de um comando em que o inimigo andasse aleatoriamente pelo mapa e quando me visse, viesse correndo atras de mim para me atacar com a serra elétrica. O boneco 3D que eu baixei é esse 

"Modern Zombie FREE"

estou tentando colocar uma mascara nele e uma serra elétrica, mas não consigo...


Se alguém puder me ajudar por favor !

bertarele
Membro
Membro

PONTOS : 696
REPUTAÇÃO : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por JohnRambo em Sab Jun 09, 2018 8:33 am

Saudações!

Vamos começar pela primeira duvida...

Poderia nos mostrar como está anexado as variáveis aí no seu inspector? Se puder mande um print. Muitas vezes esses erros são devidos a variáveis que não tem nada linkado ou foram linkadas com os objetos errados
avatar
JohnRambo
Moderador

Masculino PONTOS : 2675
REPUTAÇÃO : 501
Idade : 18
Áreas de atuação : Unity;
Programação;
Modelagem;
Música e Sonorização;
Cursando Análise e Desenvolvimento de Sistemas;
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por Dom3000 em Sab Jun 09, 2018 9:18 am

Olá a sua duvida:1-estou tentando colocar uma mascara nele e uma serra elétrica, mas não consigo... 
R: é muito simples de resolver vc deve colocar a mascara no osso da cabeça este osso é responsavel por movel a mesh da cabeça, vc deve achar ele, e colocar a mascara dentro desse osso, e o mesmo da serra eletrica mas nesse caso vc deve colocar no osso da mão.




2- é complicado pakas velho, sugiro que vc se preocupe com outras coisas antes disso, pois a parte de ai envolve programação de peso, não é algo para iniciantes, faça primeiro outras coisas do seu game como o controle do personagem e tal abraço
avatar
Dom3000
Programador

Masculino PONTOS : 2346
REPUTAÇÃO : 219
Idade : 23
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Page: https://www.facebook.com/BatlesofWorlds/

Respeito as regras :

Ver perfil do usuário https://www.instagram.com/battlesofworlds/?hl=pt-br

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por bertarele em Sab Jun 09, 2018 10:35 pm

Primeiro, eu crio uma capsula chamada " Inimigo " ai coloco uma NAVMESHAGENT nela e esse script...

using UnityEngine;
using System.Collections;


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;



http://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;
}
}




depois disso eu coloco meu monstro dentro dela, e coloco esse script nele

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);
}//----------------------------------------------------------------------------------------------------


}
}

bertarele
Membro
Membro

PONTOS : 696
REPUTAÇÃO : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por bertarele em Dom Jun 10, 2018 1:24 am

@bertarele escreveu:Primeiro, eu crio uma capsula chamada " Inimigo " ai coloco uma NAVMESHAGENT nela e esse script...

using UnityEngine;
using System.Collections;


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;



http://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;
}
}




depois disso eu coloco meu monstro dentro dela, e coloco esse script nele

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);
}//----------------------------------------------------------------------------------------------------


}
}
Galera, consegui resolver em relação ao inimigo seguir o player ! ele esta seguindo porem tem alguns errinhos que preciso da ajuda de vocês...

Seguinte:

1- independente do lugar que eu esteja, longe ou perto, ele segue... eu gostaria que ele seguisse apenas quando eu chegasse a uma determinada distancia.

2- Não estou conseguindo sincronizar a animação... são 4 tipos, ( Andando"inicial", Olhar, Perseguir e atacar ), ele apenas anda em direção ao player e quando chegar perto fica me rodando. Ele nao " Olha " nem "Persegue" e nem "Ataca"

vocês podem me ajudar por favor ! eu só preciso disso para terminar o jogo... Segue o Codigo...


using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class chase : MonoBehaviour {
public Transform player;
static Animator anim;


// Use this for initialization
void Start () {
anim = GetComponent<Animator> ();
}

// Update is called once per frame
void Update () {
Vector3 direction = player.position - this.transform.position;
float angle = Vector3.Angle(direction,this.transform.forward);
if (Vector3.Distance(player.position,this.transform.position) < 10 && angle < 30);
{
direction.y = 0;


this.transform.rotation = Quaternion.Slerp (this.transform.rotation,
Quaternion.LookRotation (direction), 0.1f);

anim.SetBool ("Passear", false);
if (direction.magnitude > 5) {
this.transform.Translate (0, 0, 0.5f);
anim.SetBool ("Perseguir", true);
anim.SetBool ("Atacar", false);
} else {
anim.SetBool ("Atacar", true);
anim.SetBool ("Perseguir", false);
}

}  {
anim.SetBool ("Passear", true);
    anim.SetBool ("Perseguir", false);
anim.SetBool ("Atacar", false);
}
}
}



Minha animator esta assim




                     Atacar

Passear                           Perseguir

                    Olhar


Todas ligadas umas nas outras, 


  1. Passear para atacar ( Atacar = verdadeiro ) 
  2. Atacar para passear ( Passear = Verdadeiro )
  3. Passear para olhar ( Olhar = verdadeiro )
  4. Olhar para passear ( Passear = verdadeiro )
  5. Passear para perseguir ( perseguir = verdadeiro )
  6. Perseguir para passear (passear = verdadeiro )
  7. Olhar para perseguir (perseguir = verdadeiro)
  8. Perseguir para olhar ( olhar = verdadeiro)
  9. Atacar para Perseguir ( Perseguir = verdadeiro )
  10. Perseguir para atacar ( atacar = verdadeiro)



Não sei se deu para entender... preciso muito de ajuda nessa parte, estou a uns 4 dias parado por conta disso... se alguém puder me ajudar ficarei grato ! Obrigado.

bertarele
Membro
Membro

PONTOS : 696
REPUTAÇÃO : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por Phph09 em Dom Jun 10, 2018 9:14 am

Código:
//1- Coloque os seus códigos sempre nessa caixa

Acredito que esteja faltando algumas transiçoes!
Qual é o problema?

avatar
Phph09
ProgramadorMaster

Masculino PONTOS : 1637
REPUTAÇÃO : 235
Idade : 13
Áreas de atuação :

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por bertarele em Dom Jun 10, 2018 7:18 pm

Então cara é que o código eu copiei e colei de uma programadora americana... na verdade eu não entendo muito sobre o código... precisaria de um script para dar um jeito nisso...

bertarele
Membro
Membro

PONTOS : 696
REPUTAÇÃO : 17
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: ANIMAÇÃO INIMIGO AI

Mensagem por francisco barroso em Qua Out 03, 2018 3:16 pm

Tudo verdadeiro? acho q tem umas que sao falsa e no meu caso o inimigo nao ta olhando e nem perseguindo só passeando e atacando :/

francisco barroso
MembroAvançado

Masculino PONTOS : 373
REPUTAÇÃO : 37
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