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

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

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

环境:Unity2018.2.13f1

Demo下载:https://download.youkuaiyun.com/download/qq_15020543/10765062

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

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

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

接下来我们来实现。

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

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

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

随便找一个游戏物体

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

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

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

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

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

6.创建小地图

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

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

将MapMask锚点设为左上角。

7.设置层级

8.运行效果

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

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值