Unity实现简单小地图功能

Unity实现简单小地图功能

前言

在很多的游戏中都有小地图的功能,例如现在大火的吃鸡类游戏、MOBA类游戏、FPS射击类游戏等等,而且我在开发的很多项目中也碰到过很多类似的需求,在这篇博客中简单介绍下使用Unity实现简单小地图的功能。

步骤

1.在主角身上新建一个子物体,在这里用一个sphere替代,起名为dummy,如下图所示:
在这里插入图片描述
2.新建一个Material,将其Shandr设置为Legacy Shader/Self-Illimin/Diffuse,随便选择一种颜色,如下图所示:
在这里插入图片描述
3.将此Material挂载到dummy上,并新建一个Layer层,取名为dummy,将dummy物体的Layer层选择为dummy,如下图所示:
在这里插入图片描述
4.继续新建一个Layer层,起名为diXing,将Terrain的Layer层选择为diXIng,如下图所示:
在这里插入图片描述
5.新建一个Camera,将此Camera拉至主角上方,并且调整角度,使其能够俯视主角,具体参数根据实际情况调整,如下图所示:
在这里插入图片描述
6.为Camera添加跟随功能,使其能够跟着主角移动但不会跟着主机旋转,脚本代码如下所示:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MapCameraControl : MonoBehaviour
{
    #region 参数
    //跟随的物体
    public Transform followObject;
    //跟随的三位数
    Vector3 vector;

    #endregion

    #region 常规方法
    // Use this for initialization
    void Start ()
    {
        vector = this.transform.position - followObject.position;
	}

    private void LateUpdate()
    {
        ToFollow();
    }
    #endregion

    #region 私有方法

    void ToFollow()
    {
        this.transform.position = followObject.position + vector;
    }
    #endregion
}

7.新建一个RenderTexture,它的作用是将小地图Camera显示在UI上,具体参数调整如下图所示:

在这里插入图片描述
8.将RenderTexture,Camera跟随脚本挂载到小地图Camera上,将小地图Camera的Culling Mask只选择dummy,diXing层,使它只能看到dummy物体和地形,设置如下图所示:
在这里插入图片描述
9.在场景中新建一个RawImage,将RenderTexture挂载到它的Texture上,如下图所示:
在这里插入图片描述
10.至此,一个简单的小地图搭建基本完成,里面主角移动以及其他设置不在这里赘述了,运行工程,效果如下图所示:
在这里插入图片描述

后记

知识和技能是一点一滴积累起来的,加油!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波波斯维奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值