Desenvolvimento de jogos não é algo muito complicado, mas exige muito estudo, pois devemos saber onde usar cada recurso sem a perda de desempenho, pois isso é algo muito importante para o sucesso de um game.
De vários recursos que a Unity 5 nos permite trabalhar, hoje vamos estudar um pouco sobre o Vector3.Distance. A classe Vector3 possui vários importantes métodos, e aqui vamos utilizar apenas o Distance, que recebe dois parâmetros e retorna um float.
Para o nosso exemplo vamos utilizar dois cubos, conforme mostra a imagem a seguir.
O Vector3.Distance, recebe dois parâmetros, cada um deles é esperado um Vector3. Normalmente passamos o transform.position dos objetos, pois isto já é o suficiente.
O script abaixo está associado a um GameObject vazio, nele associamos os dois objetos através das variáveis publicas declaradas dentro do nosso script.
Código 01
using UnityEngine;
using System.Collections;
public class DistanceScript : MonoBehaviour
{
public GameObject _objeto1; //Objeto 1
public GameObject _objeto2; //Objeto 2
private float _distancia; //Armazena a distância
void Start()
{
_distancia = 0; //Inicializamos com o valor 0
}
void Update()
{
//_objeto1.transform.position = Retorna a posição do objeto 1
//_objeto2.transform.position = Retorna a posição do objeto 2
//Vector3.Distance(Valor1, Valor2);
_distancia = Vector3.Distance(_objeto1.transform.position, _objeto2.transform.position); //Calculamos a distância e atribuimos a variável
Debug.Log(_distancia); //Exibimos o valor no Log
}
}
O resultado pode ser conferido na janela de Log, conforme os objetos são movidos os valores são atualizados.
Este tipo de script pode ser utilizado quando necessitamos saber se o jogador está em uma distância de um objeto ou inimigo próximo, além de várias outras possibilidades de uso.
Vamos ficando por aqui, até a próxima!
Referências: https://docs.unity3d.com/ScriptReference/Vector3.Distance.html