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

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

作者: OneMore2018 | 来源:发表于2017-07-13 12:18 被阅读20次

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

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

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<CanvasScaler>();
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)

      本文链接:https://www.haomeiwen.com/subject/xkswhxtx.html