您的位置:首页 > 移动开发 > Unity3D

unity 使用NGUI 显示角色血条和名字

2014-12-23 16:41 453 查看
先说一下好处和原理:

如果用unity自带的GUI处理,需要在OnGUI() 中每个循环调用GUI.BeginGroup、 GUI.DrawTexture、TextFilter.DrawOutline 之类的代码,有很高的内存开销。

NGUI 不只是仅仅用于拼接UI,这里主要是去掉NGUI上的UICamera,使用MainCamera控制显示。此时的NGUI需要绑定在角色身上,如图:







角色里面创建一个object,设置Y轴坐标,通常角色头顶高一点。这样就绑定完毕。

这个是NGUI 编辑的截图:



在LateUpdate中调用

//mWorldPosition 绑定角色的那个object
//mCachedTrans nugi的object
Vector3 screenPos = Camera.main.WorldToScreenPoint(mWorldPosition);
Vector3 uiWorldPos = mUICamera.ScreenToWorldPoint(screenPos);

mCachedTrans.position = uiWorldPos;

mCachedTrans.rotation = mUICamera.transform.rotation;


最后看效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: