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



先说一下好处和原理:

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

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

unity 使用NGUI 显示角色血条和名字_第1张图片



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

这个是NGUI 编辑的截图:



unity 使用NGUI 显示角色血条和名字_第2张图片

		在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;


最后看效果:

unity 使用NGUI 显示角色血条和名字_第3张图片



你可能感兴趣的:(unity)