AR效果下的 血条跟随、植物信息、采摘等效果实现(UI)

之前做的一个农场牧场项目里,遇到植物信息的显示以及铲除、采摘等效果的实现,图片如下

![DQ~ADYIIEW(5WP6`IJH40C.png

AR效果下的 血条跟随、植物信息、采摘等效果实现(UI)_第1张图片
3`MDKT(EID}C0HCXF8~PGXD.png

想要实现这种效果 ,上代码
publick GameObject targetObj; // 这里我设定的是某个obj
private RectTransform tRectTran;

private float offset;
void Awake()
{
tRectTran = transform as RectTransform;
CanvasScaler canvasScaler = transform.parent.parent.GetComponent();
offset = (Screen.width / canvasScaler.referenceResolution.x) * (1 - canvasScaler.matchWidthOrHeight)
+ (Screen.height / canvasScaler.referenceResolution.y) * (canvasScaler.matchWidthOrHeight);
}

void UpdateContent()
{
if(targetObj == null)
{
return;
}
// 如果是AR效果下, 把main camera改成arcamera
Vector3 screenPos = Camera.main.WorldToScreenPoint(targetObj.transform.position);
Vector2 uiPos = new Vector2(screenPos.x / offset, screenPos.y / offset);

//anchoredPosition是UI元素的屏幕坐标,在对UI元素进行操作的时候应该考虑使用这个坐标
tRectTran.anchoredPosition = uiPos;
}

一定记得把该控件的锚点位置设置在左下角
OK, 这里如果对各个坐标不清楚, 请看我的另一篇文章 [Unity3D里的各种坐标系]

你可能感兴趣的:(AR效果下的 血条跟随、植物信息、采摘等效果实现(UI))