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:
Playerprefs
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Avaliem meu APK!!!!!
Como percorrer por rampas sem deslizar o Rigdbody?
Fazer a IA flanquear
fazer inimigo se movimentar para direita e esquerda jogo de plataforma
hospedagem de site gratis (link no tópico)
Solução Unity 2019 erro Text Mesh Pro
[TUTORIAL] Cena inicial de CARREGAMENTO, creditos, logo, etc [UNITY 5]
Problema com boxes colliders
Rotação
The Stack
Instalar nova versão Unity 2019
[RESOLVIDO] Alguém conhece um programa bom e simples para criar modelos 3d?
Flamehead MMORPG Indie
Comunicação entre scripts
[RESOLVIDO] Teletransporte pelo cenario Unity2D
Dúvida WEBGL
[RESOLVIDO] Problema com sistema de controle de volume.
Meu Jogo ta Travando - Quiz Unity 2D
[RESOLVIDO] Unity - Como Saber Se Botão Foi Clicado?
Quiz 2D Unity - Como esperar segundos para ir pra próxima pergunta????
Aplicativo!?!
[DUVIDA] ADS Em app WPF.NET ?
[RESOLVIDO] Renderização de Sprite renderer
[TUTORIAL] Arma tipo a do call of duty
Animação customizada com "Exit Time"
Personagem No Unity problema com colisão Como Resolver
Inimigo seguir só quando olharmos para ele.
Meu novo game
The scripts needs to derive from monobehaviour
[RESOLVIDO] Erro - animações do Mixamo na Unity
[TUTORIAL] Singleton, A melhor forma de acessar a classe!
[Asset] Repositório + Assets
Executar animação via script
COMO MOVER UM OBJETO OU PERSONAGEM
[RESOLVIDO] GameObject que não Ativa
[TUTORIAL] Compilar para Android
Travar movimentação/rotação de um child.
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
[RESOLVIDO] Unity 2018.2.14f1(64bit) sem audio
Como alterar propriedades em uma clip de animação mantendo o padrão em outros clips?
GIRAR EM TORNO DE ACORDO COM AS TECLAS
[DUVIDA] Como permitir que o usuario envie uma imagem e a ajeite
Mobile Camera
Collider labirinto 2D
Efeito de "Super velocidade"
girar eixo de movimento
[RESOLVIDO] List Index error
Jogo Da Velha
Projeto de lei quer criminalizar criadores de jogos violentos ?!?!?!?
[TUTORIAL] Salvar dados com playerprefs facilmente.
Conta android para desenvolvedor
[Asset] Jogo em plataforma 2D para aprendizado
Sistema de Plataforma com Rotas controlado por Touch
DIVULGAÇÃO
[RESOLVIDO] Como saber se o jogador esta vendo um certo objeto?
derrubar arvore em jogo 2d
[RESOLVIDO] Como resetar a cena em que o player estar
ESTOU COM UM PROBLEMA EM UM SCRIPT
Bool ficar verdadeira no multiplayer em script de inimigo? (Unet)
Game Mobile
[RESOLVIDO] Não consigo deixar meus áudios em 3D...
Pressionar Botão por um determinado tempo
Histórico de Input
como limitar o zoom mínimo e máximo no lean touch
Como que faço para rotacionar um objeto na posição do player como o cenario
[RESOLVIDO] Bug textura, SketchUp para Unity 3d
Unity - Excluir Ads Criado.
[RESOLVIDO] Lanterna Sumindo
Setar a posição do mouse
Medidores interativos como fazer na Unity
[RESOLVIDO] Unity - Adicionar Espaço Em Array
Pack de áudio/ efeitos sonoros gratuitos.
Game Engine
[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
Point Light com qualidade horrivel, o que pode ser?
PC, Mobile ou ambos?
Efeito Glowing
[RESOLVIDO] box collider conflito
[RESOLVIDO] Blender - Mancha Preta
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
ESTOU COM UM PROBLEMA DE ANIMAÇÃO!!!
Câmera Orbital Modificada
[RESOLVIDO] Uma duvida sobre colliders 2d
Unity - Inspetor Personalizado
Software para testar AR no PC
Salvar Cores com Json
Objeto que pula
[RESOLVIDO] limite de posicionamento
Enemy grid movement
[RESOLVIDO] AJUDA COM SCRIPT
TANK DEFENDER II
[TUTORIAL] Sistema simples de Cutscenes
Sisteminha para coleta de itens
Recrutamento para desenvolvimento de um Projeto
fazer unity5 imprimir
AJUDA COM SCRIPT DE DISPARO
Um código e um agradecimento ao todo mundo.
Hoje à(s) 11:39 am
Hoje à(s) 10:35 am
Hoje à(s) 2:41 am
Ontem à(s) 11:59 pm
Ontem à(s) 9:19 pm
Ontem à(s) 6:40 pm
Ontem à(s) 6:23 pm
Ontem à(s) 2:32 am
Qui Abr 18, 2019 9:35 pm
Qui Abr 18, 2019 8:43 pm
Qui Abr 18, 2019 8:39 pm
Qui Abr 18, 2019 8:30 pm
Qui Abr 18, 2019 8:25 pm
Qui Abr 18, 2019 1:04 pm
Qui Abr 18, 2019 3:25 am
Qua Abr 17, 2019 8:26 pm
Qua Abr 17, 2019 8:16 pm
Seg Abr 15, 2019 11:27 pm
Seg Abr 15, 2019 11:24 pm
Seg Abr 15, 2019 9:53 pm
Seg Abr 15, 2019 7:15 pm
Seg Abr 15, 2019 12:29 pm
Dom Abr 14, 2019 11:26 am
Dom Abr 14, 2019 11:23 am
Dom Abr 14, 2019 1:42 am
Sab Abr 13, 2019 2:33 pm
Sab Abr 13, 2019 1:36 pm
Sex Abr 12, 2019 8:44 pm
Qui Abr 11, 2019 11:18 pm
Qui Abr 11, 2019 12:50 pm
Qua Abr 10, 2019 10:59 am
Qua Abr 10, 2019 1:01 am
Ter Abr 09, 2019 7:31 pm
Ter Abr 09, 2019 6:39 pm
Ter Abr 09, 2019 3:47 pm
Seg Abr 08, 2019 10:12 pm
Seg Abr 08, 2019 8:59 pm
Dom Abr 07, 2019 8:55 pm
Dom Abr 07, 2019 8:01 pm
Dom Abr 07, 2019 3:05 pm
Sab Abr 06, 2019 11:52 am
Sab Abr 06, 2019 12:12 am
Sex Abr 05, 2019 10:46 pm
Sex Abr 05, 2019 9:38 pm
Sex Abr 05, 2019 9:36 pm
Sex Abr 05, 2019 9:31 pm
Sex Abr 05, 2019 9:27 pm
Qui Abr 04, 2019 9:18 pm
Qui Abr 04, 2019 8:21 pm
Qui Abr 04, 2019 4:37 pm
Qui Abr 04, 2019 2:48 pm
Qua Abr 03, 2019 7:09 pm
Qua Abr 03, 2019 4:37 pm
Qua Abr 03, 2019 4:32 pm
Ter Abr 02, 2019 11:18 pm
Ter Abr 02, 2019 7:32 pm
Ter Abr 02, 2019 6:18 pm
Ter Abr 02, 2019 4:50 pm
Ter Abr 02, 2019 4:19 am
Seg Abr 01, 2019 9:22 pm
Seg Abr 01, 2019 9:19 pm
Seg Abr 01, 2019 9:15 pm
Seg Abr 01, 2019 8:58 pm
Seg Abr 01, 2019 6:12 pm
Seg Abr 01, 2019 4:00 pm
Seg Abr 01, 2019 3:35 pm
Seg Abr 01, 2019 1:23 pm
Seg Abr 01, 2019 1:09 am
Dom Mar 31, 2019 6:07 pm
Dom Mar 31, 2019 11:26 am
Sab Mar 30, 2019 9:03 pm
Sab Mar 30, 2019 6:09 pm
Sab Mar 30, 2019 5:50 pm
Sab Mar 30, 2019 4:56 pm
Sab Mar 30, 2019 8:22 am
Sab Mar 30, 2019 8:21 am
Sex Mar 29, 2019 11:56 pm
Sex Mar 29, 2019 4:31 pm
Sex Mar 29, 2019 3:57 pm
Sex Mar 29, 2019 3:39 pm
Sex Mar 29, 2019 12:29 pm
Sex Mar 29, 2019 4:54 am
Sex Mar 29, 2019 4:50 am
Sex Mar 29, 2019 4:41 am
Qui Mar 28, 2019 4:26 pm
Qui Mar 28, 2019 1:39 pm
Qui Mar 28, 2019 8:05 am
Qui Mar 28, 2019 8:04 am
Ter Mar 26, 2019 11:02 pm
Ter Mar 26, 2019 5:41 pm
Ter Mar 26, 2019 2:19 pm
Ter Mar 26, 2019 12:53 pm
Seg Mar 25, 2019 11:52 pm
Seg Mar 25, 2019 11:22 pm
Seg Mar 25, 2019 9:20 pm
Seg Mar 25, 2019 1:39 am
Dom Mar 24, 2019 6:17 pm
Sab Mar 23, 2019 10:30 pm
Sab Mar 23, 2019 9:18 pm
theus.mors
glauco
MarcosSchultz
MarcosSchultz
916anderson
MarcosSchultz
Magnatah
MarcosSchultz
marlon33
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
glauco
ffabim
Callyde Jr
mathhBR
numb123
kraulim
MarcosSchultz
Magnatah
Akuma97
Magnatah
BRGC
ffabim
diegopds
NKKF
dstaroski
MarceloYBP
guimaraf
everton0101
Master3353
Magnatah
augustobrito
NotoriousDev
DEQUISTER1994
Fernando Andrey
fabricadegame
NotoriousDev
iToddy
marciosilva
LucasRangel
wagnercaragua
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
wagnercaragua
NotoriousDev
Unidade3d5
Tegh
rafaelllsd
JohnRambo
NKKF
edvanmelo
niao
NKKF
Tegh
niao
fecirineu
fecirineu
fecirineu
BrazaTattoo
NKKF
NKKF
Chilinger
emerson vitor
BrazaTattoo
Magnatah
Guinho3p
luiz12345
Magnatah
Magnatah
Zack2
Chilinger
Chilinger
MarcosSchultz
Magnatah
michelly
eduardonog30
Magnatah
MarcosSchultz
MarcosSchultz
MarcosSchultz
mathhBR
Magnatah
Chilinger
Chilinger
luiz12345
Span
Unidade3d5
Diego Felix
wagnercaragua
AnderGames
Magnatah
ShadowWG
Encracker
Diego Felix
dstaroski

[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 : 1725
REPUTAÇÃO : 158
Idade : 19
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário 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 : 2356
REPUTAÇÃO : 452
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

Ver perfil do usuário 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 : 1725
REPUTAÇÃO : 158
Idade : 19
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário 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 : 1053
REPUTAÇÃO : 13
Idade : 20
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário

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 : 1725
REPUTAÇÃO : 158
Idade : 19
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário 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 : 1053
REPUTAÇÃO : 13
Idade : 20
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário

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 : 2356
REPUTAÇÃO : 452
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

Ver perfil do usuário 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 : 1725
REPUTAÇÃO : 158
Idade : 19
Áreas de atuação : Programador em C#, Desenvolvedor Indie.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário 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 : 2356
REPUTAÇÃO : 452
Idade : 14
Áreas de atuação : Error 404 Not Found.
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata Aad8pUi

Ver perfil do usuário 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 : 3001
REPUTAÇÃO : 554
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

Ver perfil do usuário 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 : 560
REPUTAÇÃO : 59
Respeito as regras : [Duvida] Bug ao usar Vector3.Lerp Objeto é teleportado na lata WvDYdlf

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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