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

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

![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里的各种坐标系]

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容