Unity人物血条跟随 简单实现

一、Unity血条跟随


1.先来说一下血条跟随的实现方式,之前在看木头大佬的那个GF案例的时候发现他的血条做的是3d血条,会跟随人物旋转而旋转 觉感觉跟平常玩游戏看到的不是很一样就想着自己实现一下。
# 实现原理
因为我们是使用的UGUI,所以血条都是显示在Canvas上的,最简单的思路就是把Player的坐标转换成屏幕的坐,再把血条的坐标重置到人物屏幕坐标的上边上代码。

public class HPFollow : MonoBehaviour
{
    public Transform player;

    public Image hp;

    private Camera cam;
    // Start is called before the first frame update
    void Start()
    {
        cam = Camera.main;
       
    }

    // Update is called once per frame
    void Update()
    {
    	//把人物的坐标转化到屏幕坐标
        var playerScreenPos = cam.WorldToScreenPoint(player.position);
        //再把人物坐标Y加一个高度给到人物
        hp.rectTransform.position = new Vector3(playerScreenPos.x, playerScreenPos.y+35f, playerScreenPos.z);
    }
}

Unity人物血条跟随 简单实现_第1张图片这个只是最简单的跟随,其实还会有问题就是人物z轴移动的时候 UI也要展现出来,以及超出屏幕的时候不显示,以及血条是每个玩家一个,创建的时候的对象池,以及血条管理等dou’xu’yao补充 以后再慢慢完善吧。

你可能感兴趣的:(unity)