[Header("中心物体")]
[SerializeField]
private Transform player;
[Header("周边物体")]
[SerializeField]
private Transform[] objects;
// Start is called before the first frame update
void Start()
{
Transform transforms = GetNearestGameObject(player, objects);
Debug.Log(transforms.name);
}
/// <summary> 筛选出最佳物体 </summary>
private Transform GetNearestGameObject(Transform player, Transform[] objects)
{
Transform nearGameObject = objects[0];
float firstLength = Vector3.Distance(player.position, objects[0].position);
for (int i = 1; i < objects.Length; i++)
{
float length = Vector3.Distance(player.position, objects[i].position);
if (firstLength > length)
{
firstLength = length;
nearGameObject = objects[i];
}
}
return nearGameObject;
}
在 Player 中插入需要查找的物体。
在 objects 插入周边的所有值。