4 de novembro de 2018

Saber distância entre 2 objetos na Unity

Para saber a distância entre 2 objetos na Unity é muito simples. Basta criar um script e vincular em um objeto.

No meu caso, coloquei em uma torre e quero ver a distância entre a torre e meu player:

Meu objetivo é fazer minha torre ter uma força de atração para meu player, dependendo a distância entre os 2:

using UnityEngine;

class Attract_Script : MonoBehaviour
{
	[SerializeField] private float force, dist;
	[SerializeField] private Transform target, player;

	private void Start()
	{
		player = GameObject.Find("Player").transform;
		target = transform;
	}

	private void Update()
	{
		dist = Vector2.Distance(player.transform.position, transform.position);
		if(dist < 7)
		player.transform.position = Vector3.MoveTowards(player.transform.position, target.position, force);
		print("Distance" + " " + dist);
	}
}

Feito.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *