unity-----角色属性面板中的角色渲染

rpg游戏中的角色面板中都会有角色的图像,且角色换装备后,图像也会有相应的变化。


如何实现这个功能呢?

假如用NGUI中的2D相机来绘制UI,用3D相机来绘制角色,然后两个相机叠加!这样会出现遮挡问题。因为UI中的有些组件在角色前面,有些组件在角色后面!


最简单的方法就是用RenderTexture。

unity-----角色属性面板中的角色渲染_第1张图片

1、Camera中有一个选项是TargetTexture。在运行时动态生成一个RenderTexture,然后赋值个这个变量。这样这个相机就会将所有拍的东西渲染到这个Texture上了。

2、在UI中新建一个UITexture。UITexture中有一个mainTexture变量。把1中渲染出的纹理赋值给此变量,这样就完成了角色渲染了。


代码如下:

// 3D相机
void Awake()
	{		
		camera.targetTexture = new RenderTexture(512, 1024, 8, RenderTextureFormat.ARGB32);
	}

// UI显示
	void Start () {
			textues.mainTexture = RenderCamera.Instance.camera.targetTexture;
	}

so easy!!!



你可能感兴趣的:(unity)