[TUTORIAL] Descobrir a distância percorrida por um objeto (com Rigidbody)
2 participantes
Página 1 de 1
[TUTORIAL] Descobrir a distância percorrida por um objeto (com Rigidbody)
I ae pessoal, elaborei um script bastante simples para descobrir a distância que um objeto percorreu
Basta o objeto ter um Rigidbody.
se quiserem testar, podem utilizar um comando como este, no Update:
Este por exemplo, fará o objeto se deslocar 1m por segundo no eixo X... podem perceber que a distância bate bem certo, com perfeição...
É bastante útil para quaisquer coisas que necessitem descobrir quantos m algum objeto andou.
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]
public class DistanciaPercorrida : MonoBehaviour {
float distancia = 0, velocidade = 0;
Rigidbody corpoRigido;
void Start(){
corpoRigido = GetComponent<Rigidbody> ();
}
void Update () {
velocidade = corpoRigido.velocity.magnitude;
distancia += velocidade * Time.deltaTime;
Debug.Log (distancia);
}
}
Basta o objeto ter um Rigidbody.
se quiserem testar, podem utilizar um comando como este, no Update:
- Código:
corpoRigido.velocity = new Vector3 (1, 0, 0);
Este por exemplo, fará o objeto se deslocar 1m por segundo no eixo X... podem perceber que a distância bate bem certo, com perfeição...
É bastante útil para quaisquer coisas que necessitem descobrir quantos m algum objeto andou.
Última edição por MarcosSchultz em Ter Jun 07, 2016 8:46 pm, editado 1 vez(es)
Re: [TUTORIAL] Descobrir a distância percorrida por um objeto (com Rigidbody)
Marcos com esse seu script eu testei aqui e se eu voltar no mesmo eixo ele ainda assim continua contando. Talvez seja isso mesmo que você quisesse fazer.
Mas se eu quiser pegar somente a distância máxima do player, por exemplo, eu tenho um foguete e queria saber qual a altura (eixo y ) máxima que ele chegou para eu fazer um score, como ficaria o script?
Mas se eu quiser pegar somente a distância máxima do player, por exemplo, eu tenho um foguete e queria saber qual a altura (eixo y ) máxima que ele chegou para eu fazer um score, como ficaria o script?
Yuri Alexs- Membro
- PONTOS : 3174
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Descobrir a distância percorrida por um objeto (com Rigidbody)
Basta usar um Vector3.Distance para medir a distância entre 2 pontos...
algo assim:
algo assim:
- Código:
using UnityEngine;
using System.Collections;
public class Distancia : MonoBehaviour {
public float distanciaPercorrida;
private Vector3 pontoInicial;
void Start () {
pontoInicial = transform.position;
}
void Update () {
distanciaPercorrida = Vector3.Distance (transform.position, pontoInicial);
}
}
Re: [TUTORIAL] Descobrir a distância percorrida por um objeto (com Rigidbody)
MarcosSchultz escreveu:Basta usar um Vector3.Distance para medir a distância entre 2 pontos...
algo assim:
- Código:
using UnityEngine;
using System.Collections;
public class Distancia : MonoBehaviour {
public float distanciaPercorrida;
private Vector3 pontoInicial;
void Start () {
pontoInicial = transform.position;
}
void Update () {
distanciaPercorrida = Vector3.Distance (transform.position, pontoInicial);
}
}
Ele está somente mostrando a distancia entre os dois pontos, se eu subir e depois descer ele ainda continua mostrando a diferença atual, não o valor máximo que eu cheguei.
Yuri Alexs- Membro
- PONTOS : 3174
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Descobrir a distância percorrida por um objeto (com Rigidbody)
- Código:
using UnityEngine;
using System.Collections;
public class Distancia : MonoBehaviour {
public float distanciaPercorrida,valorMax;
private Vector3 pontoInicial;
void Start () {
pontoInicial = transform.position;
valorMax = 0;
}
void Update () {
distanciaPercorrida = Vector3.Distance (transform.position, pontoInicial);
if (distanciaPercorrida > valorMax) {
valorMax = distanciaPercorrida;
}
}
}
Tópicos semelhantes
» [TUTORIAL] Mover um Rigidbody com o mouse fazendo ele respeitar outros Rigidbody e suas massas
» Objeto Pai descobrir que Filho entrou nele
» [TUTORIAL] Descobrir o ângulo de um Vector2
» [TUTORIAL] Descobrir o tamanho de um texto na void OnGUI (CalcSize)
» [TUTORIAL] Movimentos de um Rigidbody
» Objeto Pai descobrir que Filho entrou nele
» [TUTORIAL] Descobrir o ângulo de um Vector2
» [TUTORIAL] Descobrir o tamanho de um texto na void OnGUI (CalcSize)
» [TUTORIAL] Movimentos de um Rigidbody
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos