在很多游戏里,小地图都是不可或缺的存在,今天我们就来学习下如何在Unity中制作小地图
_(:з」∠)_
据我目前所知(知识有限),小地图有两种制作方式:
一是新建一个小摄像机,放在场景上空朝下进行拍摄;
二是计算场景中物体的相对位置,通过UI显示出来;
在本例中,我使用的是第一张方式,这种方式实现相对简单一点,所以很方便。
首先在Project中新建一个Render Texture,命名为“Minimap”
然后在场景中新建一个Camera,将其设为Player(将会在小地图中处于中心位置的玩家)的子物体,并调整其位置和方向,令其处于Player上方且朝向正下方,再将其Target Texture指定为刚才创建的Render Texture,如图:
然后在场景中创建UI-Raw Image,并设置Texture为刚才创建的Render Texture,你会发现image显示的是小地图Camera拍的内容 _(:з」∠)_
这样大体上就做出来了,不过还要调节下。
设置需要显示在小地图上的子物体
在需要显示在小地图上的的物体上添加一个Sphere子物体,改成绿色,同样改变高度使其位于上方(注意不要超过小地图Camera的高度)
新建一个Layer层,命名为Minimap,将Sphere置为Minimap层,
将地面模型也置为Minimap层,
更改小地图Camera的Culling Mask,只勾选刚才创建的Minimap层,注意勾选Occlusion Culling,这样小地图就只显示Minimap层的东西了。
美化小地图
现在的小地图还是方形的,如何改成圆形呢?
打开ps,制作一个白色的圆,背景为透明,保存为png格式,导入到unity中,再设置属性为Sprite(2D and UI),
[infobox title=”白色圆”]在场景中新建UI-Image,image指定为白色的圆,添加上Mask组件,设置为Raw Image的父物体。这样小地图就变成圆形了:
或者可以再加上一个圈:
[infobox title=”圆圈”][/infobox]
最终效果:
写完了,睡觉 _(:з」∠)_
1 comment
:confused: :confused: :confused: