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:
Duvida Sobre Unity 3d
Erro com textura, cor e skybox
Mapa de um jogo
Alinhar o movimento do trem 2d sempre no chão !
Gradiente de cores
Como fazer IA de inimigo se desviar de tiro?
[Projeto] Line Battle
Salvar dados
[TUTORIAL] Loja Virtual Fácil e Grátis
Missil perseguidor
Iniciante duvida em listar inimigos =/
[TUTORIAL] Mover e rotacionar objeto em relação a posição do MOUSE
Identificar Limite de Tela
Valor Multiplica Quando Troca Cena
Sistema de um game de Vôlei de praia
Como Usar a Mesma Animação Pra Personagens Diferentes na Unity ?
[TUTORIAL] Photon Networking Part.2 (Conectando ao servidor)
[DUVIDA]Pergunta Aleatória
[Duvida] Controle de Terceira pessoa por JoyStick
Imagem Aparecer como pergunta
Dúvidas sobre aparecer imagem na tela
Mudar a visiabilidade do inputField
[Duvida] Erro em "Public Float". "Not all code paths return a value"
Procuro Equipe Para Criação de Um Jogo
(DÚVIDA) USAR O UNITY PRO SENDO QUE CRACKEADO DA BRONCA?
JOGO QUIS - Como fazer as perguntas serem aleatórias?
Botão UI - Toggle (Botão Mutar) - Como deixar ele em todas as cenas?
Como criar um sistema de Ranking simples.
Loja e inventario em jogo fps multiplayer.
TILEMAP NÃO FUNCIONA QUANDO ARRASTO AS SPRITES PARA TILEPALETTE
[Devlog] ZByte Defender:The Game 10/04 (Alpha Aberta) + Download
Como Fazer quiz com pergunta Aletórias no Unity-5
Fixar o objeto no chão !
Exportar animações
[TUTORIAL] Unity + PHP + Mysql (com PDO)
base para multiplayer , qual melhor método, e restrições
Scena Demorando muito Para Carregar!
[ NONAME ] Procura de pessoas interessadas
Apertar mais de um botão no UNITY
Zerar os tempos do Cronometro Unity
PHP retorno?
The Lost Blade (Em Desenvolvimento)
Spawn varios objetos
[TUTORIAL] Sistema de vida,morte,dano
Erro UNITY 5 NOTA PARA JOGO DE TERROR
Botão no Touch || saltar e tiro
SOM Duplicado unity3d
Reproduzir audio no if c## e musica continuar tocando entre cenas.
Bug com detecção de chão
Girar personagem no próprio eixo usando joystick virtual
Asset de Efeito de congelamento
Tirar seleção de Objeto na Cena
Command 888
Care Box - Disponível na Play Store
[TUTORIAL] Script de arma automatica
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Site de assets
" FUEL " O maior jogo do Mundo
[TUTORIAL] Compilar para Android
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Deformação de Objetos
Itens de diferentes tamanho no inventario
[TUTORIAL] Sistema COMPLETO de câmeras
Efeito arma giratória
[TUTORIAL] Criando Plants VS Zombies (remake - Parte 1)
Como aumentar os dados de Black In do color grading do post processing via script?
[DUVIDA] Fps multiplayer
[Asset] Script Arma Completo Incluso Recuo. Incluso outros Scripts
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Novo jogo - Astero - PlayStore
IA de Patrulha do inimigo !
Modeladores e programadores por favor.
Dúvida com jogo estilo Clash Royale
Survalways :: procuro interessados : programador/áudio
Personagem morrer ao cair da tela
Problema na configuração do Wheel Colider (para um jogo mobile)
Celular Virtual
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
Sobre Coolers ( Fans )
[TUTORIAL] Criar Analógico Virtual UI Para Mobile.
Loading cronometrado
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
The Walker [Open - Beta 0.02v]
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
unity não quer ativar a lincense
Script SceneManager.GetActiveScene
[DÚVIDA] Como publicar um jogo na Windows Store/Loja do Windows 10?
Sistema de Compra incompleto!
Como por sistema de score em projeto Match 3 tipo Candy Crush?
Como parar um Cronometro?
como fazer o corpo se mover junto com a roupa do personagem ?
sistema de dia e noite de acordo com a hora do computador.
A Unity detecta o click mouse como um touch?
Beta_Jogo (Lost and Alone)Por favor Avaliem!
Projeto em andamento! (Graficos quase realistas)
Raycast em objeto dentro de collider?
Build setting não entra
[Jogo Mobile] Alien - Lost in the space
Ajuda com cores.
Hoje à(s) 2:40 pm
Hoje à(s) 1:57 pm
Hoje à(s) 12:33 pm
Hoje à(s) 12:03 pm
Hoje à(s) 10:17 am
Hoje à(s) 7:46 am
Hoje à(s) 7:34 am
Hoje à(s) 6:39 am
Hoje à(s) 6:20 am
Hoje à(s) 5:54 am
Hoje à(s) 3:40 am
Hoje à(s) 12:23 am
Ontem à(s) 11:33 pm
Ontem à(s) 10:50 pm
Ontem à(s) 10:08 pm
Ontem à(s) 9:38 pm
Ontem à(s) 8:50 pm
Ontem à(s) 8:22 pm
Ontem à(s) 4:55 pm
Ontem à(s) 4:28 pm
Ontem à(s) 3:50 pm
Ontem à(s) 3:03 pm
Ontem à(s) 2:55 pm
Ontem à(s) 12:52 pm
Ontem à(s) 12:33 pm
Ontem à(s) 11:08 am
Ontem à(s) 10:59 am
Ter Maio 22, 2018 11:27 pm
Ter Maio 22, 2018 7:27 pm
Ter Maio 22, 2018 5:48 pm
Ter Maio 22, 2018 5:18 pm
Ter Maio 22, 2018 5:09 pm
Ter Maio 22, 2018 4:36 pm
Ter Maio 22, 2018 8:44 am
Ter Maio 22, 2018 5:56 am
Seg Maio 21, 2018 9:44 pm
Seg Maio 21, 2018 8:01 pm
Seg Maio 21, 2018 7:00 pm
Seg Maio 21, 2018 3:42 pm
Seg Maio 21, 2018 3:32 pm
Seg Maio 21, 2018 2:13 am
Dom Maio 20, 2018 8:41 pm
Dom Maio 20, 2018 8:38 pm
Dom Maio 20, 2018 7:32 pm
Dom Maio 20, 2018 6:34 pm
Dom Maio 20, 2018 6:33 pm
Dom Maio 20, 2018 3:13 pm
Dom Maio 20, 2018 2:11 pm
Dom Maio 20, 2018 1:40 pm
Dom Maio 20, 2018 1:00 pm
Dom Maio 20, 2018 12:25 pm
Dom Maio 20, 2018 12:07 pm
Dom Maio 20, 2018 9:38 am
Dom Maio 20, 2018 8:06 am
Sab Maio 19, 2018 8:06 pm
Sab Maio 19, 2018 5:40 pm
Sab Maio 19, 2018 1:34 pm
Sab Maio 19, 2018 1:06 pm
Sab Maio 19, 2018 12:13 pm
Sab Maio 19, 2018 11:10 am
Sab Maio 19, 2018 9:51 am
Sab Maio 19, 2018 6:11 am
Sab Maio 19, 2018 12:14 am
Sex Maio 18, 2018 10:49 pm
Sex Maio 18, 2018 7:12 pm
Sex Maio 18, 2018 4:55 pm
Sex Maio 18, 2018 11:06 am
Sex Maio 18, 2018 10:39 am
Sex Maio 18, 2018 10:12 am
Sex Maio 18, 2018 8:09 am
Qui Maio 17, 2018 9:51 pm
Qui Maio 17, 2018 5:53 pm
Qui Maio 17, 2018 5:49 pm
Qui Maio 17, 2018 4:49 pm
Qui Maio 17, 2018 3:55 pm
Qui Maio 17, 2018 1:19 am
Qui Maio 17, 2018 12:12 am
Qua Maio 16, 2018 6:59 pm
Qua Maio 16, 2018 11:59 am
Qua Maio 16, 2018 2:27 am
Ter Maio 15, 2018 11:41 pm
Ter Maio 15, 2018 11:36 pm
Ter Maio 15, 2018 8:38 pm
Ter Maio 15, 2018 8:23 pm
Ter Maio 15, 2018 3:37 pm
Ter Maio 15, 2018 2:43 pm
Ter Maio 15, 2018 1:57 pm
Ter Maio 15, 2018 10:04 am
Ter Maio 15, 2018 7:48 am
Ter Maio 15, 2018 1:30 am
Seg Maio 14, 2018 8:11 pm
Seg Maio 14, 2018 6:06 pm
Seg Maio 14, 2018 4:59 pm
Seg Maio 14, 2018 4:33 pm
Seg Maio 14, 2018 4:20 pm
Seg Maio 14, 2018 3:41 pm
Seg Maio 14, 2018 2:16 pm
Seg Maio 14, 2018 1:23 pm
Seg Maio 14, 2018 12:55 pm
MRX
Souris
Callyde Jr
Netão
googolepton
larissatds
UnixGameStudio
arnaldojunior
Callyde Jr
Callyde Jr
speedluk
tony
azool
felipehobs1
isah
TioUV
Phph09
Rayllander
DuViDoSo
Pedro Marquesini
negoll
Phph09
felipehobs1
zeca urubu
fabriciorsz34
Rayllander
Rayllander
luansantos
MRX
RenatoMoran
Mateus2583
Rayllander
Netão
Phph09
Callyde Jr
Phph09
fabriciorsz34
ruanzikaad
Souris
Felix
Callyde Jr
ismarspn
Lteo
Callyde Jr
Rafa123
Douglas Costa Amorim
Rayllander
Rayllander
Joaopm1
Jmspp
Dom3000
Dom3000
Callyde Jr
Another Developer
Merotec32
Matrirxp
SuperGamer
Callyde Jr
Souris
francisco barroso
Lteo
Callyde Jr
MarcosSchultz
Flávio
MayLeone
YmKx
Daniel Dória
dimmuo
dstaroski
Édipo
dkrazor
ErikBreno360
RGKC
M4theuz
mafipt
zKilleD
Zack2
Callyde Jr
julioou
mateusvasco100
WesFarias
MarcosSchultz
Souris
Souris
thiagograssi
vitorhugo
gcs13
MarcosUAC
dracuno
niao
Dom3000
Johann santos
otavio00augusto
Zecandy
julioou
isah
Daniel Dória
leocc
euvictoralmeida

[TUTORIAL] Inimigo seguir e atacar Player ao encostar

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 : 10487
REPUTAÇÃO : 1870
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 : 1104
REPUTAÇÃO : 15
Idade : 16
Á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 : 10487
REPUTAÇÃO : 1870
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 : 1104
REPUTAÇÃO : 15
Idade : 16
Á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 : 10487
REPUTAÇÃO : 1870
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 : 852
REPUTAÇÃO : 3
Idade : 18
Á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 : 10487
REPUTAÇÃO : 1870
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 : 852
REPUTAÇÃO : 3
Idade : 18
Á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 : 2374
REPUTAÇÃO : 443
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 : 575
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 : 10487
REPUTAÇÃO : 1870
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 : 401
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 : 2586
REPUTAÇÃO : 386
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 : 401
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 : 968
REPUTAÇÃO : 40
Idade : 14
Á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 : 559
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 : 559
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 : 402
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 : 3238
REPUTAÇÃO : 790
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 : 402
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 : 3238
REPUTAÇÃO : 790
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 : 402
REPUTAÇÃO : 3
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo


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