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




