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:
OnTriggerEnter/Exit não é identificada
ASSET DO NOSSO GRANDE MARCOS: PROMOÇÃO NA ASSET STORE DA UNITY
Começar com 2D ou 3D?
Dano
Duvida nas versões da unity
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Criar simulador
Qual versão do JDK, NDK E SDK o Unity Hub recomenda para Unity 2019.2.12f1 (64-bit)?
Rotação de roda
Dark Dreams Reborn 1.7.2
Unity Multiplayer Sync date e Save date
Hyper casual game
Objeto seguindo o jogador
Alguém consegue me explicar essa matemática?
Forma abreviada para Propriedades
[Formação de Equipe] Battles of Worlds
[Em Desenvolvimento] Battles of Worlds
inimigo não anda após animação
[ANDROID] ROLEPLAY ONLINE PARA MOBILE
Artigo: Você sabe o que é "asset flipping"?
To querendo Fazer Sistema Questing
Abrir Projeto exportado na 2018.4.LTS
Como faço para uma plataforma cair ao player colidir com ela?
Verificar se um objeto já foi instanciado via Script???
O SANATÓRIO
Dúvida sobre criar uma barra de pesquisa
problema com rolagem de texto
[TUTORIAL]Converter para a Unity
Particulas Preta
Como fazer para interagir um objeto com um outro objeto [Estilo Granny]
criação de tabela comm filtro
NOTAS DO JOGO
Substituir o Visual Studio
[RESOLVIDO] ERRO AO COMPILAR JOGO
COLETAR ITENS
Como identificar o tipo de vegetação que o player está interagindo?
Sistema de Yu-Gi-Oh -Spells adicionadas + Novidades
Player encostar no inimigo e morrer
Lançooou Pessoal, joguem para me dar uma força GAME TOP DEMAIS
O forum poderia fazer uma game jam
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Dúvida sobre desbloquear um nível ao terminar o anterior
Iluminação bugada
Animação de morte
Mudar Scene quando o player colidir com um trigger
Collision e Trigger para Audio
Modelador 3D disponível
chamando animaçao depois de um tempo
Animação de Ataque
[TUTORIAL] Como fazer uma Barra de Loading na Unity 5
[RESOLVIDO] Problema com visual studio
Inimigo seguir o player
Projeto Quiz Ajuda
Problemas com movimentação do personagem [AJUDA]
(Duvida) Anúncios teste AdMobe na unity
Erro de Luz
Usar Google Play Games ou (outra forma) para subir dados do jjogador.
[TUTORIAL] Método simples de salvar progresso do jogo em um arquivo separado!
Destruir todos os objetos em cena.
Deixar anuncio carregado para outras scenes é possivel?
[RESOLVIDO] Limite de renderização das texturas
Referenciação de uma classe dentro da própria classe
Unity + Photon 2
APPODEAL no ADMOB
Pergunta sobre o Time.deltaTime
[JAVASCRIPT] Problemas com Variavel
Jogo Rani, por Adenilson Romao [WINDOWS / ANDROID]
Salvar cena
Preciso de um pouco de feedback nessa ideia
TIRAR O DELAY DO BUTTON ONCLICK
Problemas com materials
[Projeto] Omega Racers - Steam Acesso antecipado
Dúvida na implementação do unity iap
Meu game para Android " As aventuras de Steff " Finalizado!
SCRIPT SUSTO
Melhor formato para exportar modelo 3D??
A pasta editor não esta na pasta Assets no unity 2018
Orion Fight Z - Online [Procurando Equipe]
DÚVIDA Material do Player(CLONE)
NÃO SEI MAIS OQUE FAÇO NESSA SITUACAO
Ativar gameobject através de pontuacao por meio de comparacao com outro valor int
Otimização
MOUSE NA TELA
Ola sou programador e preciso da sua ajuda!!
ABRIR E FECHAR GAVETAS
LANÇAMENTO TRAILLER DARK DREAMS REBORN
DUVIDA ADMOB NA PLAYSTORE
[RESOLVIDO] goto ou void ?
O que acrescentar no script para fazer o personagem morrer??
Duvida sobre com.package.productname
[Formação de Equipe] Jogo de Luta Livre/Telecatch
Meu script de Movimento não deixa meu script do Pulo duplo funcionar.
(Duvida) Salvando array com playerprefs
[RESOLVIDO] Criar Apk Android 64 .aab
Não consigo destruir o objeto!!!
Navmesh
Gravidade do personagem está muito lenta.
Alguém ajuda? problema simples. [point light]
DUVIDA FIXEDUPDATE
Hoje à(s) 6:27 pm
Hoje à(s) 6:12 pm
Hoje à(s) 6:07 pm
Hoje à(s) 3:42 pm
Hoje à(s) 3:30 pm
Hoje à(s) 2:53 pm
Hoje à(s) 10:47 am
Ontem à(s) 11:59 pm
Ontem à(s) 9:44 pm
Ontem à(s) 3:32 pm
Ontem à(s) 12:26 pm
Ontem à(s) 5:41 am
Sab Dez 07, 2019 10:31 pm
Sab Dez 07, 2019 8:09 pm
Sab Dez 07, 2019 7:35 pm
Sab Dez 07, 2019 12:35 pm
Sab Dez 07, 2019 12:31 pm
Sab Dez 07, 2019 4:36 am
Sab Dez 07, 2019 3:07 am
Sex Dez 06, 2019 10:50 pm
Sex Dez 06, 2019 4:25 pm
Sex Dez 06, 2019 2:40 pm
Sex Dez 06, 2019 7:53 am
Sex Dez 06, 2019 7:51 am
Qui Dez 05, 2019 5:50 pm
Qui Dez 05, 2019 3:22 pm
Qua Dez 04, 2019 3:39 pm
Qua Dez 04, 2019 3:14 pm
Qua Dez 04, 2019 3:08 pm
Qua Dez 04, 2019 3:02 pm
Qua Dez 04, 2019 2:37 pm
Qua Dez 04, 2019 1:34 pm
Qua Dez 04, 2019 10:40 am
Qua Dez 04, 2019 9:07 am
Ter Dez 03, 2019 10:34 pm
Ter Dez 03, 2019 7:09 pm
Ter Dez 03, 2019 6:55 pm
Ter Dez 03, 2019 10:14 am
Seg Dez 02, 2019 9:40 pm
Seg Dez 02, 2019 4:33 pm
Seg Dez 02, 2019 3:12 pm
Seg Dez 02, 2019 2:35 pm
Seg Dez 02, 2019 2:00 pm
Dom Dez 01, 2019 8:21 pm
Dom Dez 01, 2019 6:40 pm
Dom Dez 01, 2019 2:32 pm
Dom Dez 01, 2019 12:32 pm
Sab Nov 30, 2019 9:18 pm
Sab Nov 30, 2019 8:28 pm
Sab Nov 30, 2019 5:52 pm
Sab Nov 30, 2019 5:14 pm
Sab Nov 30, 2019 1:34 pm
Sex Nov 29, 2019 7:06 pm
Sex Nov 29, 2019 4:41 pm
Sex Nov 29, 2019 12:23 pm
Sex Nov 29, 2019 11:56 am
Qui Nov 28, 2019 10:42 pm
Qui Nov 28, 2019 10:19 pm
Qui Nov 28, 2019 8:38 pm
Qui Nov 28, 2019 12:02 pm
Qua Nov 27, 2019 11:44 am
Qua Nov 27, 2019 11:42 am
Qua Nov 27, 2019 12:41 am
Ter Nov 26, 2019 3:58 pm
Seg Nov 25, 2019 5:07 pm
Seg Nov 25, 2019 10:46 am
Seg Nov 25, 2019 8:57 am
Seg Nov 25, 2019 1:23 am
Seg Nov 25, 2019 1:09 am
Dom Nov 24, 2019 7:16 pm
Dom Nov 24, 2019 5:52 pm
Dom Nov 24, 2019 12:46 pm
Dom Nov 24, 2019 11:50 am
Dom Nov 24, 2019 1:18 am
Sab Nov 23, 2019 11:49 pm
Sab Nov 23, 2019 10:15 pm
Sab Nov 23, 2019 5:18 pm
Sab Nov 23, 2019 4:50 pm
Sab Nov 23, 2019 2:39 am
Sab Nov 23, 2019 2:18 am
Sab Nov 23, 2019 1:32 am
Sab Nov 23, 2019 1:30 am
Sex Nov 22, 2019 11:25 pm
Sex Nov 22, 2019 3:43 pm
Sex Nov 22, 2019 3:09 pm
Sex Nov 22, 2019 10:17 am
Sex Nov 22, 2019 10:02 am
Qui Nov 21, 2019 10:48 pm
Qui Nov 21, 2019 4:37 pm
Qui Nov 21, 2019 4:27 pm
Qui Nov 21, 2019 1:04 pm
Qui Nov 21, 2019 9:12 am
Qua Nov 20, 2019 11:36 pm
Qua Nov 20, 2019 10:15 pm
Qua Nov 20, 2019 9:40 pm
Qua Nov 20, 2019 9:36 pm
Qua Nov 20, 2019 9:31 pm
Qua Nov 20, 2019 9:17 pm
Qua Nov 20, 2019 7:56 pm
poyser
fabricadegame
iMicco
poyser
poyser
Fagner
Fagner
Daniel Dória
lolhard
Fagner
leleo
nvndx
Flávio
Hamassfall
Flávio
Dom3000
Dom3000
vitor emanuel
fecirineu
thales.ulisses
billybmx
gtcmcsgo
Valakinhas
Valakinhas
bertarele
pedrogabriel00
Fagner
Fagner
AnderGames
AnderGames
Fagner
Fagner
Oswaldo de Carvalho Filho
bertarele
Callyde Jr
richerd
MayLeone
RafaelSquid1
Encracker
RafaelSquid1
JohnRambo
Lester3422
Lester3422
Edivandro2706
luizrbizzio
luizrbizzio
ovoPentelho
Flávio
Edivandro2706
Manito01
Flávio
Flávio
Chilinger
Chilinger
poyser
Magnatah
danielPedra90
danielPedra90
NKKF
RafaelSquid1
cosmoplay
Hamassfall
guimaraf
gtcmcsgo
Fagner
Wanderli
adenilson romao
RafaelSquid1
guimaraf
NKKF
Edivandro2706
PauloFR
eduardonog30
SergioDB
MayLeone
PauloFR
Lester3422
Diguinho
FabioDev
JohnRambo
joffersoju
JohnRambo
leonardolopes
MayLeone
bertarele
PauloFR
gtcmcsgo
Fagner
JohnRambo
JohnRambo
guimaraf
teos626
poyser
SergioDB
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz

[Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Ir em baixo

DÚVIDA [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por DuViDoSo em Qua Nov 14, 2018 1:36 pm

Gostaria de pedir ajuda aos irmãos por que estou com dificuldades para usar o Vector3.Lerp, poderiam me dizer por que isso não funciona?
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Teste : MonoBehaviour {
   public Vector3 ponto1, ponto2;
   public float tempo1;
   void Update () {
      transform.position = Vector3.Lerp (ponto1, ponto2, tempo1);
   }
}

Ao invés do objeto seguir devagar para seu destino, ele teleporta... Piedade
DuViDoSo
DuViDoSo
Modelador

Masculino PONTOS : 1957
REPUTAÇÃO : 160
Idade : 20
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

http://www.naotenho.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por NKKF em Qua Nov 14, 2018 2:47 pm

Código:
transform.position = Vector3.Lerp (transform.position, ponto2, tempo1);

Coloca assim.
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2697
REPUTAÇÃO : 485
Idade : 15
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por DuViDoSo em Qua Nov 14, 2018 4:03 pm

Deu no mesmo mano! será por que?
DuViDoSo
DuViDoSo
Modelador

Masculino PONTOS : 1957
REPUTAÇÃO : 160
Idade : 20
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

http://www.naotenho.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por diegopds em Qua Nov 14, 2018 4:58 pm

@DuViDoSo escreveu:Deu no mesmo mano! será por que?
vc tem que colocar um +  transform.position "+"= Vector3.Lerp(transform.position, p.transform.position,50);

diegopds
Avançado
Avançado

Masculino PONTOS : 1366
REPUTAÇÃO : 22
Idade : 21
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por DuViDoSo em Qua Nov 14, 2018 6:18 pm

Isso da erro mano, sai dos parâmetros da sintaxe.
DuViDoSo
DuViDoSo
Modelador

Masculino PONTOS : 1957
REPUTAÇÃO : 160
Idade : 20
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

http://www.naotenho.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por diegopds em Qua Nov 14, 2018 8:09 pm

@DuViDoSo escreveu:Isso da erro mano, sai dos parâmetros da sintaxe.
pq vc usou vector na variavel ao inves d transform ou gameobject na variavel ponto1 e ponto 2?

diegopds
Avançado
Avançado

Masculino PONTOS : 1366
REPUTAÇÃO : 22
Idade : 21
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por NKKF em Qua Nov 14, 2018 8:55 pm

@DuViDoSo escreveu:Deu no mesmo mano! será por que?
Porque o primeiro valor deve ser o que você irá mudar.

Por que?
Simples, em uma função, não seria possível "puxar" um valor de fora. Até dá, mas você precisaria dar uma referência para ele e por isso você dá no parâmetro no início da função

Lerp(aqui, b, c);
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2697
REPUTAÇÃO : 485
Idade : 15
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por DuViDoSo em Sex Nov 16, 2018 9:31 am

Eu já tentei "puxar" o cubo da posição que ele está, em vez de usar um vetor, o problema é que não funciona do mesmo jeito! que coisa kkk não sei por que tá dando isso.

Segue abaixo o Script real que estou desenvolvendo:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {

   //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AQUI ESTÃO AS VARIÁVEIS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
   
   public Transform P1_; //ESSE É O TRANSFORM DO PLAYER, VAMOS MUDAR A POSIÇÃO DELE A PARTIR DISSO.
   public float T1_, t2_; // ESSAS FLOATS SERVEM PARA CONTROLAR O TEMPO DE MOVIMENTO NO .LERP E O TEMPO PARA FICAR DISPONÍVEL PARA MOVER O PLAYER NOVAMENTE RESPECTIVAMENTE.
   public Transform L1, L2, L3, L4; // SÃO USADAS AQUI PARA GUARDAR A POSIÇÃO DAS LINHAS POR ONDE O PLAYER TRANSITA.
   public bool _L1, _L2, _L3, _L4; // SÃO USADAS PARA DETECTAR SE O PLAYER ESTÁ EM DETERMINADA LINHA.
   public bool C1_; // É A BOOLEANA QUE CONTROLA SE O PLAYER PODE OU NÃO SE MOVER.

   void Awake(){ // ESSA VOID ACONTECE UMA VEZ APENAS ANTES DE INICIAR O JOGO, PERDI.
      _L1 = true; // AQUI SETAMOS QUE O PLAYER VAI COMEÇAR NA LINHA 1.
      _L2 = false; // LOGO ELE NÃO PODE ESTAR NA LINHA 2.
      _L3 = false; // NEM NA LINHA 3.
      _L4 = false; // E NEM NA 4...
      C1_ = true; // AQUI DIZEMOS QUE O PLAYER PODE SE MOVER.
   }
   void Update () { // ESSA VOID É CHAMADA O TEMPO TODO DURANTE O JOGO, A CADA FRAME.

      //~~~~~~~~~~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A PRIMEIRA PARTE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

      if (_L1 == true) { // PERGUNTAMOS SE O PLAYER ESTÁ NA LINHA 1.

         //P1_.position = L1.position; // SE O PLAYER ESTÁ NA LINHA 1, OBRIGATÓRIAMENTE ELE DEVE ESTAR NA MESMA POSIÇÃO QUE ELA.

         _L2 = false; // TORNAMOS AS OUTRAS LINHAS FALSAS POIS O PLAYER NÃO ESTÁ EM NENHUMA DELAS.
         _L3 = false; // AQUI,
         _L4 = false; // E AQUI.

         //~~~~~~~~~~~~~~~~~ VAI PRA SEGUNDA LINHA ~~~~~~~~~~~~~~~~//

         if (Input.GetKeyDown (KeyCode.D) && C1_ == true) { // SE _L1 FOR VERDADEIRO, PERGUNTAMOS SE ELE APERTOU O BOTÃO "D" E SE C1_ É VERDADEIRO.
            C1_ = false; // ISSO EVITA QUE O PLAYER REALIZE UM NOVO MOVIMENTO ENQUANTO ESTÁ SE MOVENDO.
            StartCoroutine ("I1"); // CASO ELE TENHA APERTADO, E SEJA C1_ VERDADEIRO, INICIAMOS A ROTINA DE NOME "I1".
         }
      }

      //~~~~~~~~~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A SEGUNDA PARTE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

      if (_L2 == true) { // PERGUNTAMOS SE O PLAYER ESTÁ NA LINHA 2.

         //P1_.position = L2.position;

         _L1 = false;
         _L3 = false;
         _L4 = false;

         //~~~~~~~~~~~~~~ VOLTAR PARA PRIMEIRA LINHA ~~~~~~~~~~~~~~//

         if (Input.GetKeyDown (KeyCode.A) && C1_ == true) { //SE SIM, PERGUNTAMOS SE ELE APERTOU O BOTÃO "A"
            C1_ = false;
            StartCoroutine ("I2"); // CASO ELE TENHA APERTADO, INICIAMOS A ROTINA DE NOME "I2".
         }

         //~~~~~~~~~~~~~~ PROSSEGUIR PARA A TERCEIRA LINHA ~~~~~~~~~~~~~~//

         if (Input.GetKeyDown (KeyCode.D) && C1_ == true) {
            C1_ = false;
            StartCoroutine ("I2B");
         }
      }

      //~~~~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A TERCEIRA PARTE ~~~~~~~~~~~~~~~~~~//

      if (_L3 == true) { // PERGUNTAMOS SE O PLAYER ESTÁ NA LINHA 3.

         _L1 = false;
         _L2 = false;
         _L4 = false;

         //P1_.position = L3.position;

         //~~~~~~~~~~~~~~~~~~ VOLTA PARA A SEGUNDA LINHA ~~~~~~~~~~~~~~~~//

         if (Input.GetKeyDown (KeyCode.A) && C1_ == true) {
            C1_ = false;
            StartCoroutine ("I3");
         }

         //~~~~~~~~~~~~~~~~~ PROSSEGUE PARA A QUARTA LINHA ~~~~~~~~~~~~//

         if (Input.GetKeyDown (KeyCode.D) && C1_ == true) {
            C1_ = false;
            StartCoroutine ("I3B");
         }
      }

      //~~~~~~~~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A QUARTA PARTE ~~~~~~~~~~~~~~~~~~~//

      if (_L4 == true) {

         _L1 = false;
         _L2 = false;
         _L3 = false;

         //P1_.position = L4.position;

         if (Input.GetKeyDown (KeyCode.A) && C1_ == true) {
            C1_ = false;
            StartCoroutine ("I4");
         }
      }

   }

   //~~~~~~~~~~~~~~~~~~~~ AQUI COMEÇAMOS A CHAMAR NOSSAS ROTINAS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

   IEnumerator I1(){ //AQUI COMEÇA O PRIMEIRO IENUMERATOR I1, QUE MANDA O PLAYER PARA A DIREITA
      Debug.Log ("Passou pela primeira linha."); // DEBUGAMOS SE ESSA CONDIÇÃO FOI CHAMADA, APENAS PARA TERMOS UM CONTROLE DOS DADOS.
      _L1 = false; // LOGO AQUI RECEBE FALSO, EVITANDO QUE O PLAYER FAÇA UM MOVIMENTO NO MEIO DO OUTRO, EVITANDO BUGS.
      P1_.position = Vector3.Lerp (transform.position, L2.position, T1_); //AQUI DAMOS AO PLAYER UM MOVIMENTO SUAVE DO PONTO EM QUE ESTÁ AO PONTO L2 QUE FICA A SUA DIREITA.
      _L2 = true; // LOGO AO ACABAR O MOVIMENTO, O PLAYER ASSUME QUE ESTÁ NA POSIÇÃO L2, TORNANDO _L2 VERDADEIRO.
      yield return new WaitForSeconds (t2_); //AGUARDAMOS ATÉ QUE O TEMPO T1_ SEJA COMPLETO PARA RETORNAR ESSES VALORES ABAIXO.
      C1_ = true; // TORNA UM NOVO MOVIMENO POSSÍVEL.
      StopCoroutine ("I1"); // FINALIZA A ROTINA, POIS NÃO PRECISAMOS MAIS DELA NO MOMENTO.
   }

   //~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A SEGUNDA ROTINA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

   IEnumerator I2(){ //AQUI COMEÇA A SEGUNDA ROTINA, QUE MANDA O PLAYER PARA O LADO ESQUERDO.
      Debug.Log ("Passou pela segunda linha."); // APENAS PARA CONTROLE.
      _L2 = false; // IMPEDE QUE O PLAYER FAÇA OUTRO MOVIMENTO ATÉ FINALIZAR ESSE.
      P1_.position = Vector3.Lerp (transform.position, L1.position, T1_); // MOVE O PLAYER NA DIREÇÃO DITA.
      _L1 = true; // QUANDO ACABAR O MIVIMENTO FICA POSSÍVEL MOVER-SE NOVAMENTE.
      yield return new WaitForSeconds (t2_);
      C1_ = true; // TORNO UM NOVO MOVIMENTO POSSÍVEL.
      StopCoroutine ("I2"); // FINALIZA A ROTINA.
   }

   //~~~~~~~~~~~~~~~~~ AQUI COMEÇA A TERCEIRA ROTINA ~~~~~~~~~~~~~~~~~~~~~~~~~~~//

   IEnumerator I2B(){ // ESSA ROTINA MANDA
      Debug.Log ("Foi para a terceira linha pela segunda");
      _L2 = false;
      P1_.position = Vector3.Lerp (transform.position, L3.position, T1_);
      _L3 = true;
      yield return new WaitForSeconds (t2_);
      C1_ = true; // NOVO MOVIMENTO
      StopCoroutine ("I2B"); // FINALIZA A ROTINA
   }

   //~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A QUARTA ROTINA ~~~~~~~~~~~~~~~~~~~~~~//

   IEnumerator I3(){
      Debug.Log ("Passou pela terceira linha.");
      _L3 = false;
      P1_.position = Vector3.Lerp (transform.position, L2.position, T1_);
      _L2 = true;
      yield return new WaitForSeconds (t2_);
      C1_ = true;
      StopCoroutine ("I3");
   }

   //~~~~~~~~~~~~~~~~~~ AQUI COMEÇA A QUINTA ROTINA ~~~~~~~~~~~~~~~~~~~~//

   IEnumerator I3B(){
      Debug.Log ("Passou pela terceira linha.");
      _L3 = false;
      P1_.position = Vector3.Lerp (transform.position, L4.position, T1_);
      _L4 = true;
      yield return new WaitForSeconds (t2_);
      C1_ = true;
      StopCoroutine ("I3B");
   }

   //~~~~~~~~~~~~~~~~~~  AQUIN COMEÇA A SEXTA PARTE ~~~~~~~~~~~~~~~~~~~//

   IEnumerator I4(){
      Debug.Log ("Passou pela quarta linha.");
      _L4 = false;
      P1_.position = Vector3.Lerp (transform.position, L3.position, T1_);
      _L3 = true;
      yield return new WaitForSeconds (t2_);
      C1_ = true;
      StopCoroutine ("I4");
   }
}
DuViDoSo
DuViDoSo
Modelador

Masculino PONTOS : 1957
REPUTAÇÃO : 160
Idade : 20
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

http://www.naotenho.com.br

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por NKKF em Sex Nov 16, 2018 6:20 pm

Caramba hein, que grandinho.. Mas o problema é o seguinte: o Lerp é chamado apenas uma vez, isto não deve acontecer, ele deve ser chamado várias vezes para que tudo ocorra bem, tente fazer um while talvez.
NKKF
NKKF
ProgramadorMaster

Masculino PONTOS : 2697
REPUTAÇÃO : 485
Idade : 15
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por marcos4503 em Sab Nov 17, 2018 8:40 am

Se quiser usar o Lerp numa rotina, use dentro de um While! Tipo assim

Código:
private WaitForSeconds time = new WaitForSeconds(0.03f);

IEnumerator Rotina(){
  while(enabled){
    //Código do lerp aqui

    yield return time;
  }
}

Assim a cada 0.03 segundos o código do While será atualizado. Mas atenção pra não colocar um tempo de 0, ou esquecer de colocar um tempo de espera, se não vai travar a Unity toda (e o dispositivo que o jogo for rodar), colocando-o num loop ifinito.

Sobre a função Lerp...

Ela foi criada para mover um objeto de um ponto A ao ponto B linearmente. Há duas maneiras de usa-la...

A primeira é para mover um objeto suavemente usando o Time.deltaTime.

Código:
Vector3.Lerp(this.transform.position, new Vector3(3,3,3), 5 * Time.deltaTime);

Assim o objeto será movido ao ponto 3,3,3 suavemente, mas isso será calculado usando como base o FPS atual do jogo.

A segunda forma de usar o Lerp é movendo um objeto ao longo do tempo. Digamos que você quer mover o objeto do ponto A ao ponto B em 5 segundos (É sério, usando o Lerp certinho você consegue mover um objeto em um tempo determinado corretamente). O objeto será movido suavemente em 5 segundos até o seu destino.

O comando fica assim

Código:
//Pegamos o tempo que foi iniciado a locomoção - Deve ser pego apenas uma vez, no ínicio
float tempoInicio = Time.time;

Vector3.Lerp(vectorPontoA, vecotrPontoB, (Time.time - tempoInicio) / 5);

Com esse comando, o objeto será movido em 5 segundos. Sempre em 5 segundos.


Resumindo


O Vector3.Lerp foi criado com o intuíto de mover um objeto do ponto A ao ponto B em um determinado tempo, usando o comando acima. Mas se você somente quer mover o objeto suavemente, sem definir o tempo que a translação deve levar, somente defina "Time.deltaTime" como ultimo parâmetro, como no segundo comando que passei.
marcos4503
marcos4503
Instrutor

Masculino PONTOS : 3245
REPUTAÇÃO : 564
Idade : 20
Áreas de atuação :
Programação, Mobile, Web e Design.

Veja meus assets para Unity!
https://windsoft.xyz/mtassets


Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

http://windsoft.xyz

Voltar ao Topo Ir em baixo

DÚVIDA Re: [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata

Mensagem por francisco barroso em Sab Nov 17, 2018 11:12 am


francisco barroso
Programador

Masculino PONTOS : 793
REPUTAÇÃO : 59
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

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