Если я вас правильно понимаю, вы хотите создать пользовательский интерфейс, который находится над точкой.Я недавно сделал подобное в моей игре.и вот как я это сделал.
if (Input.GetMouseButtonDown(0)) // use the ray cast to get a vector3 of the location your ui
// you could also do this manualy of have the computer do it the main thing is to
// get the location in the world where you want your ui to be and the
// WorldTOScreenPoint() will do the rest
{
RaycastHit hit;
Vector3 pos;
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
pos = hit.point;
pos.y += yOffset; // use the offset if you want to have it hover above the point
ui.transform.position = cam.WorldToScreenPoint(pos); // use your main cammera here
// then either make your ui vissible or instanciati it here and make sure if you instanciate it
// that you make it a child of your cnavas
}
}
Надеюсь, это решит вашу проблему.Если я не понимаю, что вы пытаетесь сделать, дайте мне знать, и я постараюсь помочь.
Примечание.по мере того, как вы удаляетесь дальше и увеличиваете масштаб, когда подходите ближе.