UGUI 血条跟随

最近做一个UGUI的血条功能,期间尝试过几种方法。也查了好多资料。在自己写的demo中,运行啥的一切正常,在自己项目中就会出现一些坐标偏移 视觉偏差。总结几点原因:ui相机的设置问题, 目标物体血条挂点位置

下面介绍项目中用的方法

首先创建两个Cube


UGUI 血条跟随_第1张图片

然后创建Canvas 并创建UICamera 以及Scrollbar


Canvas设置

UGUI 血条跟随_第2张图片

需要将RenderMode 设置成Screen Space-Camera 并且拖入ui相机

UICamera设置


UGUI 血条跟随_第3张图片

然后就是写脚本控制了核心代码很简单 就几行

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class HudToUI : MonoBehaviour

{

    //角色的血条

    public Transform UI;

    //血条的挂点

    public Transform Head;

    public Camera UICamera;

    void Update()

    {

        Vector3 ws = Camera.main.WorldToScreenPoint(Head.position);

        Vector2 sw = UICamera.ScreenToWorldPoint(ws);

        UI.position = sw;

    }

}

最后给player挂上脚本 以及设置挂点 ui相机。在应用过程中 我是遇到血条跟角色偏移点比较大。最后找到原因是挂点问题

提示 这个做法是不支持血条近大远小的功能

你可能感兴趣的:(UGUI 血条跟随)