[RESOLVIDO] Ponto A ao Ponto B em um determinado tempo
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Ponto A ao Ponto B em um determinado tempo
Boa galera!
Já estou procurando há um tempo, mas não estou conseguindo achar uma solução para o meu problema.
Eu não sou muito bom de matemática é verdade, mas eu preciso que um objeto saia do Ponto A (inicial) ao Ponto B (final) em um determinado tempo, em outras palavras: eu preciso que leve exatamente um tempo determinado para percorrer esse caminho, e não estou sabendo fazer esse calculo para achar o valor da velocidade que eu tenho que colocar.
Se alguém puder me ajudar eu desde já agradeço.
Já estou procurando há um tempo, mas não estou conseguindo achar uma solução para o meu problema.
Eu não sou muito bom de matemática é verdade, mas eu preciso que um objeto saia do Ponto A (inicial) ao Ponto B (final) em um determinado tempo, em outras palavras: eu preciso que leve exatamente um tempo determinado para percorrer esse caminho, e não estou sabendo fazer esse calculo para achar o valor da velocidade que eu tenho que colocar.
Se alguém puder me ajudar eu desde já agradeço.
RobsonRAS- Iniciante
- PONTOS : 3205
REPUTAÇÃO : 6
Respeito as regras :
Re: [RESOLVIDO] Ponto A ao Ponto B em um determinado tempo
Talvez Verctor3.MoveTowards seja o que voce queira:
- Código:
Verctor3.MoveTowards(Transform a, Transform b, float time);
Pokedlg- ProgramadorMaster
- PONTOS : 2340
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: [RESOLVIDO] Ponto A ao Ponto B em um determinado tempo
Boa Pokedlg.
Primeiramente obrigado por responder.
Então, eu estou usando o MoveTowards para fazer o objeto mover, mas o problema está nesse float, esse float é a velocidade aplicada para o objeto se mover certo?
O que eu preciso é que ele leve 20 segundos (por exemplo) para sair do ponto A e chegar ao ponto B.
Esse tempo (20 seg no exemplo) vai ser dinâmico, em alguns casos ele vai levar mais ou menos tempo, quanto maior o tempo, menor vai ser o valor do float.
Primeiramente obrigado por responder.
Então, eu estou usando o MoveTowards para fazer o objeto mover, mas o problema está nesse float, esse float é a velocidade aplicada para o objeto se mover certo?
O que eu preciso é que ele leve 20 segundos (por exemplo) para sair do ponto A e chegar ao ponto B.
Esse tempo (20 seg no exemplo) vai ser dinâmico, em alguns casos ele vai levar mais ou menos tempo, quanto maior o tempo, menor vai ser o valor do float.
RobsonRAS- Iniciante
- PONTOS : 3205
REPUTAÇÃO : 6
Respeito as regras :
Re: [RESOLVIDO] Ponto A ao Ponto B em um determinado tempo
De fato, o MoveTowards serve pra mover do ponto A ao ponto B, mas não considerando o tempo e sim a distância pra cada delta;
Segue a documentação:
Acredito que o que você quer seja o LERP, mas passando um parâmetro linear ao invés do próprio valor, como geralmente se usa:
Segue a documentação:
- Código:
public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);
Acredito que o que você quer seja o LERP, mas passando um parâmetro linear ao invés do próprio valor, como geralmente se usa:
- Código:
using System.Collections;
using UnityEngine;
public class Exemplo : MonoBehaviour
{
public Vector3 pontoA, pontoB, pontoC;
void Start()
{
StartCoroutine(LerpTempo(5));
}
private IEnumerator LerpTempo(float duracao)
{
float tempoDecorrido = 0f;
while (tempoDecorrido < duracao)
{
tempoDecorrido += Time.deltaTime;
pontoC = Vector3.Lerp(pontoA, pontoB, tempoDecorrido / duracao);
yield return 0;
}
}
}
Fagner- Moderador
- PONTOS : 4446
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Ponto A ao Ponto B em um determinado tempo
Fagner, exatamente como eu precisava, vlw mano
RobsonRAS- Iniciante
- PONTOS : 3205
REPUTAÇÃO : 6
Respeito as regras :
Tópicos semelhantes
» [Resolvido]Como fais para dar um determinado tempo em um script
» [RESOLVIDO] Como faço para depois de determinado tempo acontecer algo?
» Pressionar Botão por um determinado tempo
» [RESOLVIDO] Usar Regex para remover um ponto "."
» [RESOLVIDO] Como encontrar um script em um determinado objeto
» [RESOLVIDO] Como faço para depois de determinado tempo acontecer algo?
» Pressionar Botão por um determinado tempo
» [RESOLVIDO] Usar Regex para remover um ponto "."
» [RESOLVIDO] Como encontrar um script em um determinado objeto
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos