Skip to content

Instantly share code, notes, and snippets.

@unity3dcollege
Created February 8, 2018 22:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save unity3dcollege/0c6020897ede799ece939fd7f711d12e to your computer and use it in GitHub Desktop.
Save unity3dcollege/0c6020897ede799ece939fd7f711d12e to your computer and use it in GitHub Desktop.
using UnityEngine;
using UnityEngine.UI;
public class WorldPositionButton : MonoBehaviour
{
[SerializeField]
private Transform targetTransform;
private RectTransform rectTransform;
private Image image;
private void Awake()
{
rectTransform = GetComponent<RectTransform>();
image = GetComponent<Image>();
}
private void Update()
{
var screenPoint = Camera.main.WorldToScreenPoint(targetTransform.position);
rectTransform.position = screenPoint;
var viewportPoint = Camera.main.WorldToViewportPoint(targetTransform.position);
var distanceFromCenter = Vector2.Distance(viewportPoint, Vector2.one * 0.5f);
var show = distanceFromCenter < 0.3f;
image.enabled = show;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment