Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)

在许多游戏里,我看到都有小地图这个模块,对于玩家而言很友好,所以今天研究一下。

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第1张图片

本人能力有限,利用CustomRenderTexture实现。

环境:Unity2018.2.13f1

Demo下载:https://download.csdn.net/download/qq_15020543/10765062

(如果没有积分就加我好友,我用QQ发你)

先简单的说一下基本流程。

  1. 创建一个相机,用来监视主角(或者地图全局)的移动。
  2. 创建CustomRenderTexture,用来接收相机传来的图像。
  3. 创建小地图UI(RawImage),将CustomRenderTexture设为材质。

接下来我们来实现。

1.在Hierarchy新建一个Camera,命名为MapCamera

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第2张图片

2.在Project新建CustomRenderTexture,命名为MapMirror

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第3张图片

3.新建一个MiniMap层,用来限制相机渲染的范围,否则会造成大量不必要的Batches

随便找一个游戏物体

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第4张图片

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第5张图片

4.找到第一步创建的MapCamera,将ClearFlag设置为Solid Color,将相机渲染模式设置为正交(避免因为距离原因显示出现误差),把Culling Mask设为MiniMap层,把Target Texture设为刚刚创建的MapMirror

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第6张图片

5.在需要在地图上投影的游戏物体下面加上Quad命名为HeroIcon,作为他在地图上的图标

将HeroIcon绕X轴旋转90度,Y设为10(保证在人物头顶)

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第7张图片

新建一个材质球命名为HeroIconMaterial,移动到HeroIcon下的Materials里

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第8张图片

把准备好的图片拖到空白处

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第9张图片

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第10张图片

6.创建小地图

创建Image命名为MapMask并增加Mask组件,作为遮罩(一旦元素出了遮罩,就不显示)

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第11张图片Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第12张图片

创建RawImage命名为Map并作为MapMask子物体,将Texture设为MapMirror,作为地图。

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第13张图片

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第14张图片

将MapMask锚点设为左上角。

Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第15张图片

7.设置层级

  • Unity实战篇:MOBA游戏小地图制作(一:小地图的创建以及人物同步)_第16张图片

8.运行效果

基本的操作就是这样,下一篇我们进行精细化操作,如果大家看到这里感觉比较晕,不要慌,接着往下看,最后我也会把工程源码上传,不要慌啦~

 

你可能感兴趣的:(Unity相关,Unity实战汇总)