SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Novo jogo em desenvolvimento para android
Botoes da unity no android e destruir um objeto em qualquer lugar da cena com touch
Dúvida Netwoking
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
O fórum é só para Unity?
é Possivel visualizar uma Variavel Estatica no Inspector ?
Ajuda Com Admob
[DUVIDA] Sistema de diario/Livro de notas
SDK NÃO FUNCIONA NO WINDOWS 10
Aguem tem alguma dica sobre NavMeshAgent
Simular tecla com um botao ou touch
é Possivel Fazer uma FindTag usando um Text ao inves do GameObject ?
[RESOLVIDO] Animação com "Objetos"
[RESOLVIDO] Enemy IA e Portas
Formação de equipes - AK Vida Real
Script de Movimentação não funciona
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Como melhorar o desempenho mobile?
Erro com monodevelop
física de carro
[ERRO UNITY] Unity 2017
Erro com lista
Physics2D para Physics?
Tutorial tempo em jogo
Atributos Network UNET
Duvida Blender
Programador Rodando o Sul
Novo tema fórum - Votação
Atualização do meu jogo estilo Resident Evil 4 + link do APK
Como fazer uma loja em multiplayer?
Resolução do jogo mobile
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Duvida com script !
Equipe Para Desenvolver Games Comigo
aVork - Física realista para veículos
Como fazer uma IA sem Navmesh
NÃO CONSIGO ARRASTAR NADA DA ABA PROJECT PARA A ABA HIERARCHY OU SCENE '-'
[TUTORIAL] Mover, Girar e lançar objetos com o mouse ( estilo Amnesia )
Qual a diferença entre SmoothDamp e Lerp?
[TUTORIAL] Mover, girar e lançar objetos com o MOUSE (Unity 2017, atualizado)
Limitar velocidade no transform ou rigidbody?
Monodevelop
[Dúvida] ~~> É permitido colocar nomes reais de cidades em games?
Lerp não funciona direito com valores grandes
Como Posso Fazer um Time.DeltaTime com uma Int ?
Wheel joint 2d e problema com limite de velocidade
[Duvida] Duvida Com script de mover em direção ao mouse.
Lights bugadas!!
- COMO CRIO UM CRONOMETRO COM O TEMPO DA VIDA REAL? -
Fazer com que a array classifique por distancia
Auto-Complete do Visual Studios
Button perdendo a instancia
Ajuda com Rigidbody eixo Y mover constante
Background invisivel
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Script Objeto Rotate
Jogo Android desenvolvido
Aprendendo a usar o scuptmode
Novo jogo sendo desenvolvido por mim! ( Simulador vida Real )
Equipe para desenvolver o ENDLESS WAR( FPS MULTIPLAYER)
phaton ou unity net work
Como fazer um sistema multiplayer?
[Servidores Experimentais] No Exit - Beta Aberto
Sistema de física e atrito para carro 2d
Problemas com Pitch
Preencher formulario php apartir do Unity
[PROJETO] Last - Trip | Jogo De Sobrevivencia
Ajuda com a IA do meu inimigo
Erro da Unity
[Duvida] Movimentação usando Character Controller
Casa do meu projeto
ERRO EM BUILD PARA ANDROID?
Duvida sobre animação e skill sair sincronizados
ARPG & GoodMotion Update - Sistema para jogos MMORPG e Hack and Slash.
Equipe de desenvolvimento
Utilidade Pública
não sei o que tem de errado com esse script
[RESOLVIDO] Barreira Invisivel
Dúvida no UNET Connect
MultiPlayer Local Android!
Como exibir uma mensagem pop up no android?
Onde achar Musicas para os jogos
CONSTRUÇAO TIPO RUST
como tirar a posição da animação?
Como deixo o terreno estilo Minecraft?
Efeito ao redor do GameObject
Miniaturas estranhas no Unity 2017.2
Iluminação com problema!
Como edito respostas?
Indicação de um curso de Blender
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Meu jogo CrazyMind em desenvolvimento !!!
[Pedido] Tutorial detalhado sobre RigidBody
Mostrar FPS
Erro no touch.
Ativar e desativar o emission
[Duvida] Transição entre cores RGB
Optimização do Android
Hoje à(s) 11:20 pm
Hoje à(s) 11:17 pm
Hoje à(s) 11:04 pm
Hoje à(s) 10:45 pm
Hoje à(s) 10:44 pm
Hoje à(s) 10:38 pm
Hoje à(s) 9:31 pm
Hoje à(s) 9:29 pm
Hoje à(s) 9:28 pm
Hoje à(s) 9:04 pm
Hoje à(s) 9:02 pm
Hoje à(s) 8:50 pm
Hoje à(s) 8:16 pm
Hoje à(s) 8:08 pm
Hoje à(s) 8:07 pm
Hoje à(s) 7:50 pm
Hoje à(s) 5:10 pm
Hoje à(s) 5:09 pm
Hoje à(s) 5:09 pm
Hoje à(s) 4:43 pm
Hoje à(s) 4:38 pm
Hoje à(s) 4:30 pm
Hoje à(s) 3:25 pm
Hoje à(s) 1:28 pm
Hoje à(s) 1:19 pm
Hoje à(s) 1:10 pm
Hoje à(s) 12:00 pm
Hoje à(s) 11:00 am
Hoje à(s) 10:29 am
Hoje à(s) 10:17 am
Hoje à(s) 8:30 am
Ontem à(s) 11:55 pm
Ontem à(s) 11:09 pm
Ontem à(s) 11:07 pm
Ontem à(s) 10:34 pm
Ontem à(s) 8:54 pm
Ontem à(s) 8:11 pm
Ontem à(s) 6:55 pm
Ontem à(s) 6:53 pm
Ontem à(s) 6:48 pm
Ontem à(s) 6:36 pm
Ontem à(s) 5:40 pm
Ontem à(s) 5:35 pm
Ontem à(s) 5:12 pm
Ontem à(s) 5:05 pm
Ontem à(s) 4:46 pm
Ontem à(s) 4:17 pm
Ontem à(s) 3:55 pm
Ontem à(s) 3:45 pm
Ontem à(s) 3:34 pm
Ontem à(s) 3:17 pm
Ontem à(s) 3:04 pm
Ontem à(s) 2:42 pm
Ontem à(s) 2:35 pm
Ontem à(s) 2:31 pm
Ontem à(s) 2:14 pm
Ontem à(s) 2:03 pm
Ontem à(s) 12:51 pm
Ontem à(s) 12:48 pm
Ontem à(s) 12:28 pm
Dom Jan 14, 2018 10:48 pm
Dom Jan 14, 2018 9:30 pm
Dom Jan 14, 2018 8:54 pm
Dom Jan 14, 2018 8:35 pm
Dom Jan 14, 2018 6:26 pm
Dom Jan 14, 2018 4:07 pm
Dom Jan 14, 2018 2:24 pm
Dom Jan 14, 2018 1:28 pm
Dom Jan 14, 2018 12:26 pm
Dom Jan 14, 2018 11:54 am
Dom Jan 14, 2018 10:23 am
Dom Jan 14, 2018 7:54 am
Dom Jan 14, 2018 2:38 am
Dom Jan 14, 2018 1:42 am
Dom Jan 14, 2018 12:00 am
Sab Jan 13, 2018 11:42 pm
Sab Jan 13, 2018 11:40 pm
Sab Jan 13, 2018 5:50 pm
Sab Jan 13, 2018 3:53 pm
Sab Jan 13, 2018 3:11 pm
Sab Jan 13, 2018 3:08 pm
Sab Jan 13, 2018 1:54 pm
Sab Jan 13, 2018 1:26 pm
Sab Jan 13, 2018 1:16 pm
Sab Jan 13, 2018 10:56 am
Sex Jan 12, 2018 11:35 pm
Sex Jan 12, 2018 11:19 pm
Sex Jan 12, 2018 10:46 pm
Sex Jan 12, 2018 9:30 pm
Sex Jan 12, 2018 8:39 pm
Sex Jan 12, 2018 8:28 pm
Sex Jan 12, 2018 6:53 pm
Sex Jan 12, 2018 5:26 pm
Sex Jan 12, 2018 4:58 pm
Sex Jan 12, 2018 4:42 pm
Sex Jan 12, 2018 4:18 pm
Sex Jan 12, 2018 4:00 pm
Sex Jan 12, 2018 3:56 pm
Sex Jan 12, 2018 3:52 pm
ÁguaMineral
fabriciorsz34
recagonlei
recagonlei
recagonlei
recagonlei
Água Sem Hidrogênio
cody0033
dstaroski
rafaelllsd
fabriciorsz34
rafaelllsd
recagonlei
recagonlei
fabriciorsz34
felipehobs1
dstaroski
dstaroski
dstaroski
Zack2
Zack2
PatifeCraft
luizmauro123
Callyde Jr
Callyde Jr
Água Sem Hidrogênio
Zack2
heliab125
M4theuz
kinematic
Phph09
João Marcos S. R.
MarcosSchultz
Água Sem Hidrogênio
cody0033
recagonlei
Callyde Jr
MarcosSchultz
MarcosSchultz
recagonlei
MarcosSchultz
Phph09
Phph09
ÁguaMineral
Daniel Pires da Silva
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Callyde Jr
RonilddoRR
RW.
ÁguaMineral
pitercredd
recagonlei
rafaelllsd
Álefe Kauvyhtz
Álefe Kauvyhtz
recagonlei
Jmspp
BRGC
Gwiisk
recagonlei
pitercredd
Zack2
Água Sem Hidrogênio
luizmauro123
recagonlei
RonilddoRR
recagonlei
misael pinheiro
EricKBMS
recagonlei
recagonlei
Água Sem Hidrogênio
AnderGames
mafipt
Duarte
cody0033
rafaelllsd
recagonlei
DUT
recagonlei
felipehobs1
Joab Artes Gráficas
lordstrik
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[TUTORIAL] Inimigo seguir e atacar Player ao encostar

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz em Ter Mar 29, 2016 4:52 pm

Fala galera, elaborei este tutorial simples explicando como elaborar um sistema para o Inimigo seguir e atacar o Jogador ao chegar perto, e também fazer o jogador morrer...



Última edição por MarcosSchultz em Ter Jun 07, 2016 8:49 pm, editado 1 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10000
REPUTAÇÃO : 1738
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] Inimigo seguir e atacar Player ao encostar

Mensagem por anizioNoob em Ter Mar 29, 2016 9:27 pm

tou com um problema no script do inimigo olga aki o script
Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(NavMeshAgent))]
public class Inimigo : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool Ataque;
   void Start () {
      Ataque = true;
      player = GameObject.FindWithTag ("Player");
      NavMesh = GetComponent<NavMeshAgent> ();
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance.position. player.transform.position) < 1.5) {
         Atacar ();
      }
   }
   void Atacar (){
      StartCoroutine ("tempoDeAtaque");
      player.GetComponent <Jogador> ().Vida -= 40;
   }
}
IEnumerator TempoDeAtaque(){
   Ataque = false;
   yield return new WaitForSeconds (1);
   Ataque = true;
}
avatar
anizioNoob
MembroAvançado

Masculino PONTOS : 977
REPUTAÇÃO : 15
Idade : 15
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz em Ter Mar 29, 2016 11:31 pm

anizioNoob escreveu:tou com um problema no script do inimigo olga aki o script
Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(NavMeshAgent))]
public class Inimigo : MonoBehaviour {
 private GameObject player;
 private NavMeshAgent NavMesh;
 private bool Ataque;
 void Start () {
 Ataque = true;
 player = GameObject.FindWithTag ("Player");
 NavMesh = GetComponent<NavMeshAgent> ();
 }
 void Update () {
 NavMesh.destination = player.transform.position;
 if(Vector3.Distance.position. player.transform.position) < 1.5) {
 Atacar ();
 }
 }
 void Atacar (){
 StartCoroutine ("tempoDeAtaque");
 player.GetComponent <Jogador> ().Vida -= 40;
 }
}
IEnumerator TempoDeAtaque(){
 Ataque = false;
 yield return new WaitForSeconds (1);
 Ataque = true;
}

Qual problema? qual erro está dando?

Ahh, por sinal, no if do Vector3.Distance, faltou a letra "f" depois do número 1.5, para indicar que é uma float
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10000
REPUTAÇÃO : 1738
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] Inimigo seguir e atacar Player ao encostar

Mensagem por anizioNoob em Qua Mar 30, 2016 8:26 am

vou postar os erros do console pera ae

avatar
anizioNoob
MembroAvançado

Masculino PONTOS : 977
REPUTAÇÃO : 15
Idade : 15
Áreas de atuação : Sei programar animators, e modelar no sketchup
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz em Qua Mar 30, 2016 3:12 pm

Tem vários erros... da uma olhada com cuidado no vídeo...

esta linha por exemplo, ta toda errada:

Código:
if(Vector3.Distance.position. player.transform.position) < 1.5) {

o correto seria:

Código:
if(Vector3.Distance(transform.position, player.transform.position) < 1.5f) {


Esta outra também está errada:

Código:
StartCoroutine ("tempoDeAtaque");

repare que a Corotina foi ceclarada com letra maiúscula, ela está escrita ali entre as aspas com letra minúscula
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10000
REPUTAÇÃO : 1738
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] Inimigo seguir e atacar Player ao encostar

Mensagem por Soulphantom em Ter Out 25, 2016 2:18 pm

teria como colocar junto com o seguir inicializar uma animação de andar ? por que eu tenho um personagem e uma animação de andar teria como juntar com esse código.tenho também uma de atacar essa também poderia ser colocada ? desde já grato !!!!

Soulphantom
Membro
Membro

Masculino PONTOS : 725
REPUTAÇÃO : 3
Idade : 17
Áreas de atuação : PHP,HTML,C#,Blender etc

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz em Ter Out 25, 2016 11:52 pm

A animação não tem como "colocar junto" por que é algo que é feito separado. Eu não tenho como saber quais estados você criou para o seu animator.

avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10000
REPUTAÇÃO : 1738
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] Inimigo seguir e atacar Player ao encostar

Mensagem por Soulphantom em Qui Out 27, 2016 1:14 pm

no caso eu peguei personagens prontos da unity pois pra min ficaria mais fácil como iniciante então eu teria que mexer nos animator desses personages ?

Soulphantom
Membro
Membro

Masculino PONTOS : 725
REPUTAÇÃO : 3
Idade : 17
Áreas de atuação : PHP,HTML,C#,Blender etc

Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por John Rambo em Qui Out 27, 2016 6:41 pm

Soulphantom escreveu:no caso eu peguei personagens prontos da unity pois pra min ficaria mais fácil como iniciante então eu teria que mexer nos animator desses personages ?

Poderia criar um tópico para tratarmos disto? (Dentro da área "Dúvidas em Geral")
avatar
John Rambo
Moderador

Masculino PONTOS : 2241
REPUTAÇÃO : 439
Idade : 18
Á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] Inimigo seguir e atacar Player ao encostar

Mensagem por L.Orsi em Sex Nov 04, 2016 8:54 pm

Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class player : MonoBehaviour {
public int vida = 20;
 public string cena;

 
 void Awake(){
 transform.tag = "Player";
 }
 void Update () {
 if (vida <= 0) {
 vida = 0;
 }
 }

 void Morte () {
 SceneManager.LoadScene ("TESTE2");

 }
}
Desculpa ressuscitar o topico, porem, nao consigo carregar a cena da "morte" depois q meu monstro tira a vida, ela chega a 0, mas a cena nao carrega...Fiz igual o video, tenho uma cena com o nome "TESTE2"...
E não é a primeira vez, no script do menu inicial que chama a primeira cena, tbm nao carrega...mas nao da erro algum. :/
Nesse do monstro, ate tentei usar um if (vida == 0){  SceneManager.LoadScene ("TESTE2"); }

L.Orsi
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por MarcosSchultz em Ter Nov 08, 2016 1:19 am

L.Orsi escreveu:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class player : MonoBehaviour {
public int vida = 20;
 public string cena;

 
 void Awake(){
 transform.tag = "Player";
 }
 void Update () {
 if (vida <= 0) {
 vida = 0;
 }
 }

 void Morte () {
 SceneManager.LoadScene ("TESTE2");

 }
}
Desculpa ressuscitar o topico, porem, nao consigo carregar a cena da "morte" depois q meu monstro tira a vida, ela chega a 0, mas a cena nao carrega...Fiz igual o video, tenho uma cena com o nome "TESTE2"...
E não é a primeira vez, no script do menu inicial que chama a primeira cena, tbm nao carrega...mas nao da erro algum. :/
Nesse do monstro, ate tentei usar um if (vida == 0){  SceneManager.LoadScene ("TESTE2"); }

Está dando algum erro?

As cenas estão linkadas em File>BuildSettings?
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 10000
REPUTAÇÃO : 1738
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] Inimigo seguir e atacar Player ao encostar

Mensagem por Robinsandi em Seg Maio 29, 2017 4:53 pm

Preciso de ajuda com uns scripts, eu tenho eles aqui eles funcionam bem mas  nao sei como fazer para o zumbi quando matar o player o inimigo mudar a animaçao de ataque de em pé para ataque agachado que é quando ele continua a devorar o player no chao como no resident evil, e enquanto o player esta de pé vivo quando é mordido o player ficar preso pelo  zumbi pelo mesmo tempo que leva a mordida sem ser empurado pelo zumbi. meu wat sap se alguem souber e me avisar 0549-84225079


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

public class Enemy : MonoBehaviour {

   private NavMeshAgent agent;
   public Transform target;
   private Animator animator;
   public WeaponBehaviour currentWeapon;
   public float distanceToAttack = 2f;
   public float distanceToFollow = 5f;




   void Awake (){
      agent = GetComponent<NavMeshAgent>();
      animator = GetComponent<Animator>();
      HealthBehaviour.onHealthOver += onHealthOver;
      WeaponBehaviour.onWeaponStartAttack += onWeaponStartAttack;
   }

   void onWeaponStartAttack(GameObject source)
   {
      if (source == gameObject) {
         animator.SetTrigger ("attack");

      }
   }

   void onHealthOver(GameObject source){
      if (source == gameObject){
         animator.SetTrigger ("morto");
            
      }
   }


   void Update(){
      float currentPlayerDistance = Vector3.Distance (transform.position, target.position);
      if (currentPlayerDistance <= distanceToAttack) {

         animator.SetBool ("isWalk", false);
         currentWeapon.Attack ();

      }
      else if (currentPlayerDistance <= distanceToFollow){
               agent.SetDestination(target.position);
               animator.SetBool("isWalk",true);
        }
      else
        {

          agent.Stop ();
          animator.SetBool("isWalk", false);
         
      }
   }
}


     
   

   



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

public class WeaponBehaviour : MonoBehaviour {
   public int damage = 25;
   public float attackRate = 0;
   public float currentAttackRate = 0;
   public bool canAttack = true;
   public GameObject owner;

   public delegate void WeaponEvent(GameObject source);
   public static event WeaponEvent onWeaponStartAttack;
   

   void Update () {
   if(!canAttack)
      {
         currentAttackRate += Time.deltaTime;
         if(currentAttackRate>attackRate)
         {
   
           canAttack = true;
           currentAttackRate = 0;
         
         }
      }
   }
      

   public void Attack(){
      if(!canAttack)return;
      canAttack =false;
      currentAttackRate = 0;
      onWeaponStartAttack(owner);

   }
   void OnTriggerEnter(Collider other){
      if (canAttack)return;
      if(other.GetComponent<HealthBehaviour>()!=null)
   
      {
         HealthBehaviour hb =other.GetComponent<HealthBehaviour>();
         hb.TakeDamage(damage);

      }
   }
}


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

[RequireComponent(typeof(Rigidbody))]
public class PlayerBehaviour : MonoBehaviour {
   public Animator animator;
   private Rigidbody rb;
   public float speedMove = 2f;
   public float speedRot =1f;
   public WeaponBehaviour currentWeapon;

   void Awake(){
      rb = GetComponent<Rigidbody> ();
      animator = GetComponent<Animator> ();
      WeaponBehaviour.onWeaponStartAttack += onAttackStart;
      HealthBehaviour.onHealthOver += onHealthOver;

   }

   void onAttackStart(GameObject owner){
      if(owner == gameObject){

         animator.SetTrigger ("attack");

      }
   }

      void onHealthOver(GameObject source){
         if(source == gameObject){
         print ("Player morreu!");

         animator.SetTrigger ("morte");


      }

   }
      void Update(){
      if (Input.GetMouseButtonDown(0)){
      
         currentWeapon.Attack();
      }
   }
   // Use this for initialization
   void FixedUpdate(){
      Vector3 moveDir = new Vector3 ();
      moveDir.x = Input.GetAxis ("Horizontal");
      moveDir.z = Input.GetAxis ("Vertical");
      moveDir = transform.TransformDirection (moveDir);
      moveDir *= speedMove;
      rb.velocity = moveDir;


      animator.SetBool ("isWalk", moveDir != Vector3.zero);


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

public class HealthBehaviour : MonoBehaviour {
   public int maxHealth=100;
   public int currentHealth{get;private set;}
   public bool isDead{get;private set;}
   public delegate void HealthEvent(GameObject sourse);
   public static event HealthEvent onHealthOver;

   void Awake(){
      currentHealth = maxHealth;
      isDead = false;
   }
      public void TakeDamage(int dmg){
         if(isDead)return;
          currentHealth-= dmg;
            if(currentHealth<=0)
         {
   
            currentHealth=0;
            isDead=true;
         if(onHealthOver == null)return;
            onHealthOver(gameObject);
         }
      }
   }

Robinsandi
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por rafaelllsd em Seg Maio 29, 2017 5:36 pm

Robinsandi escreveu:Preciso de ajuda com uns scripts, eu tenho eles aqui eles funcionam bem mas  nao sei como fazer para o zumbi quando matar o player o inimigo mudar a animaçao de ataque de em pé para ataque agachado que é quando ele continua a devorar o player no chao como no resident evil, e enquanto o player esta de pé vivo quando é mordido o player ficar preso pelo  zumbi pelo mesmo tempo que leva a mordida sem ser empurado pelo zumbi. meu wat sap se alguem souber e me avisar 0549-84225079


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

public class Enemy : MonoBehaviour {

 private NavMeshAgent agent;
 public Transform target;
 private Animator animator;
 public WeaponBehaviour currentWeapon;
 public float distanceToAttack = 2f;
 public float distanceToFollow = 5f;




 void Awake (){
 agent = GetComponent<NavMeshAgent>();
 animator = GetComponent<Animator>();
 HealthBehaviour.onHealthOver += onHealthOver;
 WeaponBehaviour.onWeaponStartAttack += onWeaponStartAttack;
 }

 void onWeaponStartAttack(GameObject source)
 {
 if (source == gameObject) {
 animator.SetTrigger ("attack");

 }
 }

 void onHealthOver(GameObject source){
 if (source == gameObject){
 animator.SetTrigger ("morto");
 
 }
 }


 void Update(){
 float currentPlayerDistance = Vector3.Distance (transform.position, target.position);
 if (currentPlayerDistance <= distanceToAttack) {

 animator.SetBool ("isWalk", false);
 currentWeapon.Attack ();

 }
 else if (currentPlayerDistance <= distanceToFollow){
 agent.SetDestination(target.position);
 animator.SetBool("isWalk",true);
         }
 else
         {

           agent.Stop ();
           animator.SetBool("isWalk", false);
 
 }
 }
}


      
    

 



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

public class WeaponBehaviour : MonoBehaviour {
 public int damage = 25;
 public float attackRate = 0;
 public float currentAttackRate = 0;
 public bool canAttack = true;
 public GameObject owner;

 public delegate void WeaponEvent(GameObject source);
 public static event WeaponEvent onWeaponStartAttack;
 

 void Update () {
 if(!canAttack)
 {
 currentAttackRate += Time.deltaTime;
 if(currentAttackRate>attackRate)
 {
 
  canAttack = true;
  currentAttackRate = 0;
 
 }
 }
 }
    

 public void Attack(){
 if(!canAttack)return;
 canAttack =false;
 currentAttackRate = 0;
 onWeaponStartAttack(owner);

 }
 void OnTriggerEnter(Collider other){
 if (canAttack)return;
 if(other.GetComponent<HealthBehaviour>()!=null)
 
 {
 HealthBehaviour hb =other.GetComponent<HealthBehaviour>();
 hb.TakeDamage(damage);

 }
 }
}


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

[RequireComponent(typeof(Rigidbody))]
public class PlayerBehaviour : MonoBehaviour {
 public Animator animator;
 private Rigidbody rb;
 public float speedMove = 2f;
 public float speedRot =1f;
 public WeaponBehaviour currentWeapon;

 void Awake(){
 rb = GetComponent<Rigidbody> ();
 animator = GetComponent<Animator> ();
 WeaponBehaviour.onWeaponStartAttack += onAttackStart;
 HealthBehaviour.onHealthOver += onHealthOver;

 }

 void onAttackStart(GameObject owner){
 if(owner == gameObject){

 animator.SetTrigger ("attack");

 }
 }

 void onHealthOver(GameObject source){
 if(source == gameObject){
 print ("Player morreu!");

 animator.SetTrigger ("morte");


 }

 }
 void Update(){
 if (Input.GetMouseButtonDown(0)){
 
 currentWeapon.Attack();
 }
 }
 // Use this for initialization
 void FixedUpdate(){
 Vector3 moveDir = new Vector3 ();
 moveDir.x = Input.GetAxis ("Horizontal");
 moveDir.z = Input.GetAxis ("Vertical");
 moveDir = transform.TransformDirection (moveDir);
 moveDir *= speedMove;
 rb.velocity = moveDir;


 animator.SetBool ("isWalk", moveDir != Vector3.zero);


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

public class HealthBehaviour : MonoBehaviour {
 public int maxHealth=100;
 public int currentHealth{get;private set;}
 public bool isDead{get;private set;}
 public delegate void HealthEvent(GameObject sourse);
 public static event HealthEvent onHealthOver;

 void Awake(){
 currentHealth = maxHealth;
 isDead = false;
 }
 public void TakeDamage(int dmg){
 if(isDead)return;
     currentHealth-= dmg;
 if(currentHealth<=0)
 {
 
 currentHealth=0;
 isDead=true;
 if(onHealthOver == null)return;
 onHealthOver(gameObject);
 }
 }
 }
Sugiro que crie outro tópico na area de Duvidas com sua pergunta para manter a organização do fórum!
avatar
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 2362
REPUTAÇÃO : 357
Idade : 17
Áreas de atuação : Programação C#.
Modelagem Básica.
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Robinsandi em Seg Maio 29, 2017 5:46 pm

Eu tentei criar um topico mas eu nao tenho permissao

Robinsandi
Membro
Membro

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por thiagograssi em Ter Maio 30, 2017 12:22 am

Robinsandi escreveu:Eu tentei criar um topico mas eu nao tenho permissao
n existe esse negocio de permissão para criar topico. vc dever te ido em outro lugar 
Visita a área "Dúvidas em geral" na paginal inicial do forum e clica em novo tópico
avatar
thiagograssi
MembroAvançado

Masculino PONTOS : 804
REPUTAÇÃO : 39
Idade : 13
Áreas de atuação : Unity 3D;
Unity 2D;
Cinema 4D;
SketchUp;
C#(intermedario);

Respeito as regras :

Ver perfil do usuário https://www.youtube.com/channel/UClxaKPltt6jTWhxcfTqJ0AA

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Unidade3d5 em Qui Jun 01, 2017 4:18 pm

AJUDA PFV

o meu so fica dando esse erro

"SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:set_destination(Vector3)
AInimigo:Update() (at Assets/Meus Arquivos/Scripts/AInimigo.cs:24)

Unidade3d5
Avançado
Avançado

Masculino PONTOS : 432
REPUTAÇÃO : 16
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por Unidade3d5 em Qui Jun 01, 2017 5:53 pm

Unidade3d5 escreveu:AJUDA PFV

o meu so fica dando esse erro

"SetDestination" can only be called on an active agent that has been placed on a NavMesh.
UnityEngine.AI.NavMeshAgent:set_destination(Vector3)
AInimigo:Update() (at Assets/Meus Arquivos/Scripts/AInimigo.cs:24)

JA RESOLVI, ACHEI NO FORUM A SOLUÇÃO

Unidade3d5
Avançado
Avançado

Masculino PONTOS : 432
REPUTAÇÃO : 16
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por getrudes12@gmail.com em Qui Ago 17, 2017 10:52 am

estou com problemas aqui man esta dando um erro aqui Assets/Policia.cs(6,12): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?  alguem pode me ajudar como resolvo isso

getrudes12@gmail.com
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por dstaroski em Qui Ago 17, 2017 11:03 am

getrudes12@gmail.com escreveu:estou com problemas aqui man esta dando um erro aqui Assets/Policia.cs(6,12): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?  alguem pode me ajudar como resolvo isso
Bom dia cara! por gentileza, poste esse script inteiro Policia.cs!

no aguardo,

Abraço!
avatar
dstaroski
Instrutor

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

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por getrudes12@gmail.com em Qui Ago 17, 2017 11:10 am

dstaroski escreveu:
getrudes12@gmail.com escreveu:estou com problemas aqui man esta dando um erro aqui Assets/Policia.cs(6,12): error CS0246: The type or namespace name `NavMeshAgent' could not be found. Are you missing `UnityEngine.AI' using directive?  alguem pode me ajudar como resolvo isso
Bom dia cara! por gentileza, poste esse script inteiro Policia.cs!

no aguardo,

Abraço!
 man ja resolvi aki os q to com outro erro q e esse 


Assets/Policia.cs(29,21): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected

como q resolvo isso man pode me ajudar


using UnityEngine;
using System.Collections;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Policia : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool podeAtacar;

   void Start () {
       podeAtacar = true;
       player = GameObject.FindWithTag ("Player");
       NavMesh = GetComponent ();
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance (transform.position, player.transform.position) < 1.5f) {
         Atacar ();
      }
   }
   void Atacar (){
      if (podeAtacar == true) {
      StartCoroutine ("TempoDeAtaque");
   }
}

   IEnumerator TempoDeAtaque(){
       podeAtacar = false;
       yield return WaitForSeconds (1);
       podeAtacar = true;
   }
}

getrudes12@gmail.com
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por dstaroski em Qui Ago 17, 2017 11:27 am

Veja o script com os erros corrigidos, comentei ao lado o que faltava:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Policia : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool podeAtacar;

   void Start () {
       podeAtacar = true;
       player = GameObject.FindWithTag ("Player");
       NavMesh = GetComponent<UnityEngine.AI.NavMeshAgent>(); //Faltava referência a biblioteca completa
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance (transform.position, player.transform.position) < 1.5f) {
         Atacar ();
      }
   }
   void Atacar (){
      if (podeAtacar == true) {
      StartCoroutine ("TempoDeAtaque");
   }
}

   IEnumerator TempoDeAtaque(){
       podeAtacar = false;
       yield return new WaitForSeconds (1); //Faltava o new
       podeAtacar = true;
   }
}
Quando for postar scripts, use o botão script no editor, e cole o código dentro, dai então ele ficará organizado.

Abraço!
avatar
dstaroski
Instrutor

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

Respeito as regras :

Ver perfil do usuário https://www.daz3d.com/gallery/users/1575361

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Inimigo seguir e atacar Player ao encostar

Mensagem por getrudes12@gmail.com em Qui Ago 17, 2017 12:51 pm

dstaroski escreveu:Veja o script com os erros corrigidos, comentei ao lado o que faltava:
Código:
using UnityEngine;
using System.Collections;
using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))]
public class Policia : MonoBehaviour {
   private GameObject player;
   private NavMeshAgent NavMesh;
   private bool podeAtacar;

   void Start () {
       podeAtacar = true;
       player = GameObject.FindWithTag ("Player");
       NavMesh = GetComponent<UnityEngine.AI.NavMeshAgent>(); //Faltava referência a biblioteca completa
   }
   void Update () {
      NavMesh.destination = player.transform.position;
      if(Vector3.Distance (transform.position, player.transform.position) < 1.5f) {
         Atacar ();
      }
   }
   void Atacar (){
      if (podeAtacar == true) {
      StartCoroutine ("TempoDeAtaque");
   }
}

   IEnumerator TempoDeAtaque(){
       podeAtacar = false;
       yield return new WaitForSeconds (1); //Faltava o new
       podeAtacar = true;
   }
}
Quando for postar scripts, use o botão script no editor, e cole o código dentro, dai então ele ficará organizado.

Abraço!vlw man obrigado ai tmj

getrudes12@gmail.com
Iniciante
Iniciante

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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