Unity 血条跟着人物走

昨天在群里有人在做游戏的时候遇到了一个坑,就是用UGUI做人物血条跟随遇到了大坑,今天就来说说如何用UGUI来做人物血条跟随。

第一种: 把Canvas画布作为Player的子物体。

首先:布置一下场景,简单的地面和一个胶囊人物。。碰撞器刚体材质灯光什么的都加上,最后就变成了这样。

Unity 血条跟着人物走

然后在Player上写一个脚本来控制人物的移动,代码很简单,如下:

[csharp] view plain copy
  1. public float speed = 10f;  
  2.     void FixedUpdate ()  
  3.     {  
  4.         float h = Input.GetAxisRaw("Horizontal") * speed * Time.deltaTime;  
  5.         float v = Input.GetAxisRaw("Vertical") * speed * Time.deltaTime;  
  6.         rigidbody.MovePosition(transform.position + new Vector3(h, 0, v));  
  7.     }  

这样我们就把基本的布置都做好了,接下来就开始我们的血条制作。

第一种方案:

在Player下创建一个Canvas画布,然后在Canvas中创建一个Slider作为我们的血条。。把slider下面的Background和Handle Slide Area删除掉或者禁用掉。像我这样(灰色表示禁用)

Unity 血条跟着人物走

在Fill中把Color调成红色,有自己喜欢的图像源也可以自己替换

Unity 血条跟着人物走

这里我们忽略了一个最重要的东西,就是必须把Canvas的渲染模式选择WorldSpace,然后把相机添加进去,这是最重要最关键的一步

Unity 血条跟着人物走

通过上面的步骤,我们已经完成了,最后的步骤就是修改修改画布的大小与位置就行了,把画布拖到人物头顶就OK,大功告成!

Unity 血条跟着人物走