[unity_demo]3d世界中,人物头顶的血条跟随
UI跟随人物移动最简单的方法是,直接将带血条的Canvas挂在人物头上,人物走,Canvas也会跟着走.但是如果人物很多,就会有很多Canvas,并且这个血条也会跟着旋转.另一个思路是将UI坐标转化为世界坐标,然后实时跟随人物坐标.这样就实现了UI跟随人物的效果,并且不会跟随人物旋转.
·
UI跟随人物移动最简单的方法是,直接将带血条的Canvas挂在人物头上,人物走,Canvas也会跟着走.但是如果人物很多,就会有很多Canvas,并且这个血条也会跟着旋转.
另一个思路是将UI坐标转化为世界坐标,然后实时跟随人物坐标.这样就实现了UI跟随人物的效果,并且不会跟随人物旋转.
具体如下:
准备工作
搭建工作看层级面板:

这里需要将Canvas的渲染模式改为摄像机模式,如下图

图片上设置一下图片类型为Filled,并挂上脚本,拖入目标

脚本
脚本如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
public Transform target;
public Vector3 offset;
private Image img;
void Start()
{
img = GetComponent<Image>();
}
void Update()
{
//实时将目标坐标赋给UI坐标
this.transform.position = target.position + offset;
//测试血条功能
if (Input.GetMouseButtonDown(0))
{
img.fillAmount -= 0.2f;
}
if (Input.GetMouseButton(1))
{
img.fillAmount = 1;
}
}
}
运行
运行效果如下.此时再场景中,直接拖动物体,UI就会跟着移动.并且旋转不受影响.

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)