一般Game的左上角都有一个玩家基本信息显示栏,包括玩家的图像。这种图像,一般有两种方式,其一:将玩家的图片集中制作成一个图集,利用NGUI/UGUI的sprite加入相应玩家的图片。当然,也可利用Texture。这种方式比较简单,这里不做详细说明。其二,即是利用Render Texture 实时地从Camera中获得图像渲染。现在讲解第二种。

①:导入一个3D的动画 , 这里我用的是NGUI里面的3D模型。并把这个模型的Layer设置成Player。

wKiom1gvDf6TlEpBAALFIzKca0s424.png-wh_50

②:在这个Go小添加一个Camera作为Go的子类。这个Camera专门用于渲染主角的Face。

这里先创建一个Render Texture命名为FaceTexture。在Project中创建。

wKiom1gvDh_iIsWaAADpUwn8Muw918.png-wh_50


设置Camera的各种属性:让此Camera只渲染Player层。另外将Target Texture设置为FaceTexture,即让FaceTexture实时接收此Camera拍摄的图片。

wKioL1gvDjLS9kSnAAB89M4M390055.png-wh_50wKioL1gvDkGBnBwkAAB89M4M390501.png-wh_50

③:在左上角实时显示玩家Face图片

本人用NGUI的Simple Texture

wKiom1gvDmLAp2hNAAB1NdA2934937.png-wh_50

设置Simple Texture的属性如下图:将FaceTexture指定给Texture,这样的话渲染出来的是个矩形。如果要想得到圆形,可使用其Material,找一个遮罩的shader,本文不做深入介绍。

wKioL1gvDneh2hYXAAB7lOXY8_I733.png-wh_50

结果:

wKioL1gvDoWiCER-AAD2CY_-G6M987.png-wh_50