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:
Alguém Para Dar Uma Avaliada no Meu Jogo de Terror :)
Android Swipe
Tela rosa em jogos
multiplayer
Recarregador de arms
Uno Game with Unity 3D
[____TÓPICO LIVRE____] FALE O QUE QUISER
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
Formaçao de equipe para jogo de sobrevivencia online
Skript para atravessar uma area e ir para outra cena já como personagem
MonoDevelop
[TUTORIAL] Cutscene inicial!
[____ADMINISTRADOR OFFLINE____]
Design de apartamento (interior)
//Script// pressionar botão e destruir objeto não funciona
Objeto ultrapassando Colisor
Stop Animation
Como usar uma animação de uma arma animada na Unity...
Como funciona esse script?!
[Dúvida] Movimentação com touch
Delay e ativar variavel de audio
Text to Speech ou outra sugestão
[RESOLVIDO] Como deixar sempre com dois dígitos
[RESOLVIDO] ERRO NO SISTEMA DE FOME, VIDA, STAMINA ETC... DO MARCOS
[RESOLVIDO] VOID START???
DESLIGAR E LIGAR O CARRO
[RESOLVIDO] Animação
jogo quiz 2D unity 5...
[DUVIDA] como melhorar a jogabilidade de um jogo 2D
(Dúvida) Objeto receber posição do Raycast.
Personagem em 3ª pessoa
Projeto - IMU, terror de sobrevivência em primeira pessoa (estilo silent hill)
JUMP no estilo Subwey surf
Auxilio para script de Câmera
[TUTORIAL] AI Enemy ( Jogos de terror )
Criar varias funções de mesmo nome em um script
Como Que faço Para Quando Eu Reentrar no game o PlayerPrefs restaurar os dados salvos?
[ASSET] Cama Realista 3D + Download Grátis!
[RESOLVIDO] Meu Script Sumiu!
Como colocar arvores configuradas pelo terrain?
Duvida de camera
Problema de conexão com o fórum
Brasileiros podem usar o Unity ADS?
Desenvolvimento de game PokeGen MS - Vídeo e informações
dúvida com variáveis
Câmera tipo Uncharted
Como verificar se a animação términou no animator
[TUTORIAL] Sistema COMPLETO de câmeras
Iluminação unity 5
Procuro membros para minha Equipe (Programadores, designers, etc)
Galera aki tenho um site com muitos models 3d
COMO COLOCO LANTERNA DE LED NO MEU JOGO DE BUS
DUVIDA SCRIPT DO MARCOS SELEÇÃO DE PERSONAGEM !
SOBRE "IK" INVERSE KINEMATICS
Objeto ir para raycast
Duvida como instância um game objeto com Raycast
Problema Com Virtual Buttons Help me ;-;
GALERA PRECISO DE MODELADORES ,DESIGNER E PROGAMADORES PARA A MINHA EQUIPE DE UNITY 5
sobre build run no Android
e algum bug??
Ajuda na script
[ajuda] câmera puxada
Duvida de script de controle
Não carrega próxima cena após finalizar cutscene
Duvida de script avançada
[TUTORIAL] Derrubar arvores e dropar madeiras dela
Vocês poderiam avaliar meu jogo para Android? (30mb)
Ajuda com elementos UI
Ajuda com AI
Multiplayer com photon
[PEDIDO] Tutorial de Multiplayer
procuro equipe para meu jogo de bus
Formação de equipe para jogo estilo Days Gone (Campanha , Multiplayer) , (já está em criação)
AJUDA SCRIPT LUZ UNITY 5.5
3 Armas mediavais gratis, criada por min
Hoje à(s) 1:23 pm
Hoje à(s) 1:18 pm
Hoje à(s) 1:16 pm
Hoje à(s) 1:14 pm
Hoje à(s) 1:09 pm
Hoje à(s) 1:04 pm
Hoje à(s) 12:24 pm
Hoje à(s) 12:21 pm
Hoje à(s) 11:43 am
Hoje à(s) 10:37 am
Hoje à(s) 2:31 am
Hoje à(s) 1:38 am
Hoje à(s) 1:01 am
Hoje à(s) 12:07 am
Ontem à(s) 10:23 pm
Ontem à(s) 9:23 pm
Ontem à(s) 8:04 pm
Ontem à(s) 7:56 pm
Ontem à(s) 7:51 pm
Ontem à(s) 7:33 pm
Ontem à(s) 2:53 pm
Ontem à(s) 10:34 am
Ontem à(s) 5:22 am
Qui Jan 19, 2017 10:05 pm
Qui Jan 19, 2017 10:04 pm
Qui Jan 19, 2017 8:24 pm
Qui Jan 19, 2017 3:31 pm
Qui Jan 19, 2017 2:41 pm
Qui Jan 19, 2017 12:15 pm
Qui Jan 19, 2017 11:02 am
Qui Jan 19, 2017 10:17 am
Qui Jan 19, 2017 9:58 am
Qua Jan 18, 2017 11:04 pm
Qua Jan 18, 2017 10:35 pm
Qua Jan 18, 2017 10:10 pm
Qua Jan 18, 2017 8:27 pm
Qua Jan 18, 2017 8:27 pm
Qua Jan 18, 2017 7:45 pm
Qua Jan 18, 2017 7:21 pm
Qua Jan 18, 2017 5:32 pm
Qua Jan 18, 2017 4:53 pm
Qua Jan 18, 2017 3:58 pm
Qua Jan 18, 2017 3:04 pm
Qua Jan 18, 2017 2:07 pm
Qua Jan 18, 2017 12:59 pm
Qua Jan 18, 2017 12:23 pm
Qua Jan 18, 2017 12:22 pm
Qua Jan 18, 2017 4:58 am
Ter Jan 17, 2017 8:57 pm
Ter Jan 17, 2017 8:17 pm
Ter Jan 17, 2017 6:54 pm
Ter Jan 17, 2017 5:13 pm
Ter Jan 17, 2017 4:33 pm
Ter Jan 17, 2017 1:19 pm
Ter Jan 17, 2017 12:54 pm
Ter Jan 17, 2017 11:57 am
Ter Jan 17, 2017 10:16 am
Ter Jan 17, 2017 7:54 am
Ter Jan 17, 2017 7:46 am
Seg Jan 16, 2017 9:06 pm
Seg Jan 16, 2017 5:21 pm
Seg Jan 16, 2017 5:12 pm
Seg Jan 16, 2017 5:11 pm
Seg Jan 16, 2017 5:11 pm
Seg Jan 16, 2017 5:10 pm
Seg Jan 16, 2017 5:05 pm
Seg Jan 16, 2017 5:03 pm
Seg Jan 16, 2017 3:01 pm
Seg Jan 16, 2017 2:02 pm
Seg Jan 16, 2017 12:02 pm
Seg Jan 16, 2017 10:53 am
Dom Jan 15, 2017 10:14 pm
Dom Jan 15, 2017 6:31 pm
Dom Jan 15, 2017 6:03 pm
Dom Jan 15, 2017 5:54 pm
Moa
JailtonUnity
weslleyFx
JailtonUnity
weslleyFx
weslleyFx
weslleyFx
weslleyFx
Alerson Software
AndyShow
Alerson Software
Dayzr
John Rambo
LukkaFA
joabr
AndyShow
weslleyFx
weslleyFx
weslleyFx
weslleyFx
GustavoMaster
AndyShow
AndyShow
Joker 22
lucasfera15
GustavoMaster
GustavoMaster
Kenji Haruno
poker14k
luKkaSs
AndyShow
joabr
poker14k
artplayer
Pedro Canassa Garcia
pablo10544
LegendGames
artplayer
AndyShow
artplayer
weslleyFx
Weverton Borges da Silva
Hardencio
AndyShow
AndyShow
John Rambo
John Rambo
MonsaM
John Rambo
dstaroski
MonsaM
John Rambo
LuizFixa3D
XavezZ
lucasfera15
R R
anizioNoob
dstaroski
dstaroski
John Rambo
MarcosSchultz
MarcosSchultz
MarcosSchultz
joabr
MarcosSchultz
MarcosSchultz
marcos4503
sabbath
Callyde Jr
artplayer
Chilinger
Manawydan
Willian Wii
Pedro Canassa Garcia
MateusWTP

[AJUDA] Aumentar velocidade de um objeto a cada rodada

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

DÚVIDA [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por John Rambo em Qua Maio 18, 2016 3:32 pm

Olá pessoal!

eu estou tendo uma dúvida de um assunto um tanto complexo que é aumentar a velocidade de um objeto que é movido por NavMeshAgent. Vou explicar bem detalhado:


Estou fazendo um jogo no qual o objetivo é tão somente sobreviver ao máximo que conseguir. Neste jogo você começa na rodada 1. e na rodada 1 são spawnados 8 inimigos com velocidade 2... Quando voce mata todos os 8 inimigos vc avança pra rodada 2. na rodada 2 são spawnados 13 inimigos. E o que eu quero fazer é aumentar a velocidade de perseguição a cada rodada que se passa, pra ficar mais dificil! E eu tô desde ontem tentando fazer isso mas não to de jeito nehum conseguindo  Sad Sad Sad Sad Sad.

Aqui esta o script que controla os spawns e as rodadas:

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

public class Instanciador : MonoBehaviour {
 
 public Transform[] Destinos;
 public GameObject[] Objetos;
 private float cronometro;
 public float tempoPorSpawn;
 public static int rodada;
 private float intervalo;
 public int maximoPorRodada;
 public int numeroDeInstanciados;
 public bool limitePorRodada;
 public Text hUDRodada;
 public static int inimigosPresents;
 
 void Start (){
 rodada = 1;
 intervalo = 0;
 maximoPorRodada = 8;
 numeroDeInstanciados = 0;
 limitePorRodada = false;
 inimigosPresents = 0;
 }
 
 void Update (){
 cronometro += Time.deltaTime;
 intervalo += Time.deltaTime;
 
 if (cronometro >= tempoPorSpawn && intervalo >= 8 && numeroDeInstanciados <= maximoPorRodada && limitePorRodada == false) {
 Instantiate (Objetos [Random.Range (0, Objetos.Length)], Destinos [Random.Range (0, Destinos.Length)].transform.position, transform.rotation);
 cronometro = 0;
 numeroDeInstanciados = numeroDeInstanciados + 1;
 inimigosPresents = inimigosPresents + 1;
 }
 if (numeroDeInstanciados >= maximoPorRodada) {
 limitePorRodada = true;
 }
 if (limitePorRodada == true && inimigosPresents == 0) {
 rodada = rodada + 1;
 maximoPorRodada = maximoPorRodada + 6;
 limitePorRodada = false;
 intervalo = 0;
 numeroDeInstanciados = 0;
 }
 hUDRodada.text = "      " + rodada;

 }
}

E aqui está o script do inimigo:

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

[RequireComponent(typeof(NavMeshAgent))]
public class Zombie : MonoBehaviour {
 private int health = 100;
 private GameObject Player;
 public NavMeshAgent naveMesh;
 
 void Start () {
 naveMesh = transform.GetComponent<NavMeshAgent> ();
 Player = GameObject.FindWithTag ("Player");
 naveMesh.acceleration = 2;
 naveMesh.speed = 2;


 }
 void Update () {
 naveMesh.destination = Player.transform.position;

 }


 public void DeductHealth(int dmg){
 health -= dmg;
 CheckHealth();
 }
 
 void CheckHealth(){
 if (health <= 0) {
 Destroy (gameObject);
 Instanciador.inimigosPresents--;
 }
 }
}


Poderiam me ajudar com isto?  bounce bounce

John Rambo
Moderador

Masculino PONTOS : 1429
REPUTAÇÃO : 258
Idade : 17
Á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

DÚVIDA Re: [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por weslleyFx em Qua Maio 18, 2016 6:26 pm

Bom o que vc pode fazer e verifica se o total de numero De inimigos que vc tem em jogo e igual a 0 para conseguir começar a próxima rodada
ai vc pode procura pela classe Zombie e acessa a variável naveMesh e seta um novo valor

para isso a cada inimigo eliminado vc tem que decrementar 1 do total de inimigos esse e a forma simples

ou vc pode criar uma classe que não herde do monobehaviour e fazer os objetivos ex

Código:
[System.Serializable]
public class Objetivos {
    public int totalDeInimigos;
    public float tempoDejogo;
    public float VelocidadeDoInimigo;
    //e a sim vai
}

Quando chegar ao fim da roda vc passa para próximo objetivo

ex:

Código:
public int indexObjetivoAtual;
public int totalDeInimigos;
public GameObject Objetos;
public Objetivos[] objetivos;
public Transform[] Destinos;

if(totalDeInimigos <= 0)
{
   indexObjetivoAtual++;
  
   for(int i = 0; i < Objetos.Length; i++)
   {
      Objetos[i].GetComponent<NavMeshAgent>().speed = objetivos[indexObjetivoAtual].VelocidadeDoInimigo;
   }

   while(totalDeInimigos < objetivos[indexObjetivoAtual].totalDeInimigos)
   {
       Instantiate (Objetos [Random.Range (0, Objetos.Length)], Destinos [Random.Range (0, Destinos.Length)].transform.position, transform.rotation);
       totalDeInimigos++;
   }
}


Não esqueça de usar o Serializable  na classe objetivo
entenda um pouco sobre o assunto
http://www.schultzgames.com/t1399-tutorial-variavel-de-instancia-classe?highlight=varaivel+de+instancia

so que no caso esse tipo não e de instância
então vc pode fazer os ajuste manualmente no inspector 

OBS : Isso e so uma luz caso não tenha entendido diga ai pra min explicar Very Happy

weslleyFx
Moderador

Masculino PONTOS : 2058
REPUTAÇÃO : 443
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por John Rambo em Qui Maio 19, 2016 1:52 pm

A unica coisa que eu preciso é aumentar a velocidade do inimigo toda vez que a varivel rodada receber mais 1. Da uma explicada ai  tongue

[list=linenums]
[*] if (limitePorRodada == true && inimigosPresents == 0) {

[*] rodada = rodada + 1;

[*] maximoPorRodada = maximoPorRodada + 6;

[*] limitePorRodada = false;

[*] intervalo = 0;

[*] numeroDeInstanciados = 0;

[*] }

[/list]

tipo nesta parte eu acessaria o script do inimigo e aumentaria o valor da velocidade. Ja tentei de tudo no qual eu tenho conhecimento mas nao deu  pale

(e eu tambem nao to conseguindo colocar os scripts na caixinha de codidos do forum sem que fique dando bug).

John Rambo
Moderador

Masculino PONTOS : 1429
REPUTAÇÃO : 258
Idade : 17
Á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

DÚVIDA Re: [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por MarcosSchultz em Qui Maio 19, 2016 11:01 pm

Troca o seu script "instanciar" por este:

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

public class Instanciador : MonoBehaviour {

   public Transform[] Destinos;
   public GameObject[] Objetos;
   private float cronometro;
   public float tempoPorSpawn;
   public static int rodada;
   private float intervalo;
   public float aumentoVelRodada = 1;
   public int maximoPorRodada;
   public int numeroDeInstanciados;
   public bool limitePorRodada;
   public Text hUDRodada;
   public static int inimigosPresents;

   void Start (){
      rodada = 1;
      intervalo = 0;
      maximoPorRodada = 8;
      numeroDeInstanciados = 0;
      limitePorRodada = false;
      inimigosPresents = 0;
   }

   void Update (){
      cronometro += Time.deltaTime;
      intervalo += Time.deltaTime;

      if (cronometro >= tempoPorSpawn && intervalo >= 8 && numeroDeInstanciados <= maximoPorRodada && limitePorRodada == false) {
         GameObject inimigo = Instantiate (Objetos [Random.Range (0, Objetos.Length)], Destinos [Random.Range (0, Destinos.Length)].transform.position, transform.rotation)as GameObject;
         inimigo.GetComponent<NavMeshAgent> ().speed = ((inimigo.GetComponent<NavMeshAgent> ().speed) + (rodada*aumentoVelRodada));
         cronometro = 0;
         numeroDeInstanciados = numeroDeInstanciados + 1;
         inimigosPresents = inimigosPresents + 1;
      }
      if (numeroDeInstanciados >= maximoPorRodada) {
         limitePorRodada = true;
      }
      if (limitePorRodada == true && inimigosPresents == 0) {
         rodada = rodada + 1;
         maximoPorRodada = maximoPorRodada + 6;
         limitePorRodada = false;
         intervalo = 0;
         numeroDeInstanciados = 0;
      }
      hUDRodada.text = "      " + rodada;

   }
}

MarcosSchultz
Administrador

Masculino PONTOS : 7530
REPUTAÇÃO : 995
Idade : 20
Á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

DÚVIDA Re: [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por weslleyFx em Sex Maio 20, 2016 12:10 am

ta ai 
para que a logica funciona vc não pode destruir o inimigo basta desativá-lo 

OBS: Fiz no bloco de notas Pois estou sem o Unity Então Pode ou não funcionar Very Happy

Código:








using UnityEngine;

using System.Collections.Generic;

using System.Collections;





public class Teste : MonoBehaviour 

{

    [System.Serializable]

    public class ObjectiveRound

    {

        public int amountEnemyRound;

        public float tempRound;

        public float speedEnemy;

        //inplementar algo se For Preciso

    }



    public Transform[] destiny;

    public GameObject[] enemy;

    public ObjectiveRound[] objectiveRound;

    public float tempSpawn;

    public float tempRound;



    private float currentTempToSpawn; 

    private int amountEnemyInGame;

    private int maxEnemyInGame;

    private float currentTempRound;

    private int round;

    private List<Zoobie> enemiesInGame;



    void Start()

    {

        enemiesInGame = new List<Zoobie>();

        Instance();

    }



    void Update()

    {

        currentTempRound += Time.deltaTime;

        currentTempToSpawn += Time.deltaTime;



        if(currentTempToSpawn >= tempSpawn)

        { 

            Spawn(); 

            currentTempToSpawn = 0;

        }



        if(currentTempRound >= tempRound || amountEnemyInGame <= 0)

        {

            amountEnemyInGame = 0;

            NextRound();

            Instance();

            currentTempRound = 0;

        }

    }



    private void NextRound()

    {

        round++;

        maxEnemyInGame = objectiveRound[round].amountEnemyRound;

        tempRound = objectiveRound[round].tempRound;



        NewVelocityZoobie();

    }



    private void Instance()

    {

        int amountEnemyCount = enemiesInGame.Count;



        for(int amountEnemyList = enemiesInGame.Count; amountEnemyList < maxEnemyInGame; amountEnemyList++)

        {

            amountEnemyCount++;

            GameObject tempEnemy = Instantiate(enemy[Random.Range (0, enemy.Length)]) as GameObject;

            tempEnemy.transform.SetParent (transform);

            tempEnemy.SetActive(false); 

            Zoobie tempZoobie = tempEnemy.GetComponent<Zoobie>();

            enemiesInGame.Add(tempZoobie);

        }



        amountEnemyInGame = amountEnemyCount;

    }



    private void Spawn()

    {

        foreach(Zoobie zoobie in enemiesInGame)

        {

            if(!zoobie.gameObject.activeSelf)

            {

                zoobie.gameObject.SetActive(true);

                zoobie.gameObject.transform.position = destiny[Random.Range(0, destiny.Length)].position;

                Debug.Log ("Spawn");

                break;

            }

        }

    }



    private void NewVelocityZoobie()

    {

        foreach (var zoobie in enemiesInGame) 

        {

            zoobie.naveMesh.speed = objectiveRound [round].speedEnemy;

        }

    }

}


@Edit1 : Tirei o erro do script


Última edição por weslleyFx em Sex Maio 20, 2016 8:03 pm, editado 2 vez(es) (Razão : mudança no Spawn e tirando o erros pq fiz sem o unity pelo bloco de notas '-')

weslleyFx
Moderador

Masculino PONTOS : 2058
REPUTAÇÃO : 443
Idade : 18
Áreas de atuação : Csharp programming language C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por John Rambo em Dom Maio 22, 2016 1:00 pm

Ainda assim não deu certo :/
vc tem skype?

John Rambo
Moderador

Masculino PONTOS : 1429
REPUTAÇÃO : 258
Idade : 17
Á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

DÚVIDA Re: [AJUDA] Aumentar velocidade de um objeto a cada rodada

Mensagem por weslleyFx em Dom Maio 22, 2016 2:03 pm

tenho
weslley.fx

weslleyFx
Moderador

Masculino PONTOS : 2058
REPUTAÇÃO : 443
Idade : 18
Áreas de atuação : Csharp programming language C#
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