Unity里实现人物头顶的名字牌、血条的实现,网上很多博客有提到过。这里结合自己在项目中的开发,简单总结几点。
宣雨松的热门博客里有提到过直接利用Unity自身的OnGUI()实现人物血条:http://www.xuanyusong.com/archives/1032 。
撇开血条进度条的更新,重点关注头顶物件位置的更新。简化之,实现人物头顶的名字牌的。
核心代码如下:
using UnityEngine;
using System.Collections;
public class Following : MonoBehaviour {
public Camera m_Camera = null;
public GameObject m_goFollowing = null;
public Vector3 m_vOffset;
void OnGUI()
{
Vector3 vPosScreen = m_Camera.WorldToScreenPoint(m_goFollowing.transform.position + m_vOffset);
GUI.Label(new Rect(vPosScreen.x, Screen.height - vPosScreen.y, 200, 80), "牧羊少年奇幻之旅");
}
不过,实际项目中暂时不会用Unity的原生UI,目前的项目多用的是Unity4.x版本,原生UI太难用,多用NGUI等插件。下面主要介绍Unity中借助NGUI实现人物的头顶挂件。
头顶物件用