小地图的实现比较简单,但是可以分成两种类型:一种是类似于王者荣耀那样显示人物相对移动;还有一种是类似CS那种显示人物视野范围。
先来看一下第二种的实现方式:
- 新建Layer层minicamlayer
- 新建Camera命名为miniCam并且设置要渲染的层。将主相机渲染层选项中排除minicamlayer, 将miniCam渲染层选择为minicamlayer。将相机设为追踪物体的子物体。设为正交相机。
- 创建Render Texture资源,附给miniCam的Target Texture
- 给场景中要追踪的物体添加标志。创建一个quda,面朝miniCam,并且将源图设置为要显示在小地图上的图标。然后将quda层级改成minicamlayer。
- 新建Canvas 创建Raw Image,把render texture付给Raw Image的Texture插槽。
- 新建Image,设置为raw image 的父节点,设置源图,并且添加mask组件。
- 设置mask的源图。
其实,第一种小地图和第二种差不多。就第二步和第七步不同。
第二步中将相机设为世界坐标下,且照射全关卡。