Unity小地图制作

本文介绍了两种在Unity中制作小地图的方法。第一种方法利用额外的摄像机和RenderTexture,调整视角和Canvas显示。第二种方法涉及图标、Canvas、Image以及动态显示玩家和敌人的脚本。还包含了敌人自动寻路到玩家的逻辑和在小地图上显示敌人的条件判断。
摘要由CSDN通过智能技术生成

Unity小地图制作

方法一(简易版,如果角色有跳跃功能不建议使用)

原理:利用一个新的摄像机来制作小地图
步骤
(1)先搭建一个简单场景
在这里插入图片描述
(2)在层级列表先创建一个摄像机,移出其中的Audio Listener组件(一个场景中只能有一个Audio Listener组件),用作小地图的摄像机。
在这里插入图片描述
(3)在下面的Assets中创建一个“渲染纹理(Render Texture)”
在这里插入图片描述
(4)点击刚创建的相机,将Render Texture拖到相机中的目标纹理中。
在这里插入图片描述
(5)将场景调整到垂直正上方视角,(或调整到想让小地图展示的视角)如下图
在这里插入图片描述
(6)点击新创建的相机,然后按下Ctrl+Shift+F键,此时右下角的新建摄像机视图就是你想找事小地图的视角。同时,目标纹理也变成了该视角。
在这里插入图片描述
(7)在层级面板创建一个Canvas【层级面板右键,UI,面板(Canvas)】,并在Canvas下方创建一个原始图像(Raw Image)
在这里插入图片描述
(8)将之前创建的Render Texture拖到Raw Image的纹理中。
在这里插入图片描述
(6)双击Canvas,点击上方的2D,现在开始调整小地图的位置和大小。
在这里插入图片描述
(7)最后效果
在这里插入图片描述
方法二
(1)先准备三个Texture,作为敌人和玩家的图标和背景。
在这里插入图片描述
(2)搭建一个简单场景,蓝色为玩家,创建玩家时将标签设置为“Player”,红色为敌人,创建敌人时将标签设置为“Enemy”
在这里插入图片描述
在这里插入图片描述
(3)创建一个Canvas,在Canvas下方创建一个Image,命名为“ShowLittleMap”
在这里插入图片描述
(4)双击Canvas,点击上方的2D,将刚创建的ShowLittleMap拖到右上角(小地图现实的方位)调整其位置和大小。
在这里插入图片描述
(5)点击导入的三张Texture,将它们的纹理类型改为Sprite
在这里插入图片描述
(6)点击Cnavas下的ShowLittleMap,将其纹理设置为导入的Background,这样小地图背景完成。
在这里插入图片描述
(7)创建一个图片预制体
在ShowLittleMap下方创建一个Image,拖入一张图片,设置图片大小为小地图显示图标大小。
在这里插入图片描述
在Assets中创建一个文件夹,命名文"Resources",如果有就不用创建了。
将层级面板的Image拖到这个文件夹中,制成预制体(一定要放在该文件夹,因为后面面要动态加载)
然后将层级面板中Image删除。
在这里插入图片描述
然后在Resources文件夹下创建一个新文件夹命名为Texture,将Player和Enemy图标放到里面
在这里插入图片描述
(8)创建一个脚本,命名为“LittleMap”,用于小地图的显示,将该脚本挂载到ShowLittleMap上。
代码:(动态显示玩家位置,仅显示旋转,不显示移动)

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

public class LittleMap : MonoBehaviour
{
   
    private RectTransform rect;//

    private Transform player;

    private static Image item;//图片预制体

    private Image playerImage;//玩家图片
    
  • 10
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值