当前位置: 首页 > news >正文

【Unity】如何制作小地图

 

 

我们为什么要制作小地图呢?

原因很简单:

  1. 导航和定位:小地图可以显示玩家当前位置以及周围环境的概览。这使得玩家能够更好地导航和定位自己在游戏中的位置,找到目标或避开障碍物。
  2. 场景了解:通过小地图,玩家可以获得对整个游戏场景的全局视角。他们可以看到周围的地形、建筑和其他关键点,更好地了解游戏世界的结构和布局。
  3. 任务追踪:小地图通常会显示任务目标的位置,玩家可以根据任务标记在地图上的显示来追踪和寻找目标。这有助于玩家更有效地完成任务。
  4. 多人游戏协作:在多人游戏中,小地图可以显示队友的位置和动态信息,促进团队合作和协同操作。
  5. 即时反馈:小地图可以显示敌人、资源和其他关键要素的位置,为玩家提供即时的情报和反馈,帮助他们做出更明智的决策。
  6. 等等其他作用。

那么接下来我们就开始准备制作。

1.创建渲染器纹理

2.创建一个摄像机

(1).我们把已经创建好的摄像机取名为littleMapCamera,接下来我们对摄像机里面的组件进行设置。

a.我们先把刚刚创建的渲染器纹理添加到摄像机上的目标纹理上。

b.我们把摄像机拖拽到人物下面,让摄像机重置归到0的位置,我们再把摄像机往人物上面拉,我们为了视图效果更好,我们直接把摄像机的投影设置成正交,把它的大小和远近所谓调一下。

3.创建UGUI组件

(1).我们创建一个RawImage组件,我们改名为littleMap。接下来我们设置它的锚点为右上方。 

并且设置图片的宽度和高度。

到这里为什么我们的效果为什么还是白色的呢? 

下面我们就来解决。

(2) 把前面创建的渲染器纹理RawImage组件的纹理上面,就可以呈现出效果。

4.在小地图显示玩家和敌人的标记,不显示人物和敌人

(1).创建一个Image图片,我们把它拖出Canvas组件中,取名为PlayerSign。我们把他放在玩家下面,把它的位置重置归零,再把它移动到玩家稍微高一点点的地方。并且把对应的显示标记图片添加到Image组件的SourceImage中。最后还要在Image组件中添加一个Canvas组件。

那么我们就可以显示标记图片了。 

(2).由于我们的图片是正对着主摄像机的,但我们小地区是用littleMapCamera摄像机显示的。所以我们需要把它的X轴旋转90度和littleMapCamera摄像机平行。

 (3)运行后摄像机不会跟随玩家移动,只会一直显示在这个地方。

a.接下来我们创建一个CameraFollow相机跟随人物移动脚本 。

CameraFollow脚本:

代码实现:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CameraFollow : MonoBehaviour
{// Start is called before the first frame update// 角色的 Transform 组件public Transform target;// 相机和角色之间的偏移量Vector3 offset;//平滑值,不希望移动的太生硬public float smoothSpeed = 5f;void Start(){//摄像机到人物之间的差offset= transform.position-target.position;}// Update is called once per framevoid Update(){//实时移动的距离Vector3 pos= transform.position;transform.position= target.position+offset;Vector3.Lerp(pos,transform.position, smoothSpeed*Time.deltaTime);}
}

 b.回到unity挂载对象。

5.摄像机显示

 (1).我们需要把摄像机设置,主摄像机不能看见Sign玩家的标记,而liitleMapCamera摄像机应该看不到人物,我们只需要调节摄像机显示遮罩就可以。

a.我们在玩家射手设置Player图层,在Sign身上设置Sign图层。调节对应摄像机遮罩显示

主摄像机去除Sign

littleMapCamera摄像机去除Player图层

那么这样我们就达到了,如何显示并且在哪个摄像机中显示。 

6.运行效果

小地图

从视频中我们可以看出来,人物移动图标也在移动。并且人物始终在中间实现了摄像机跟随人物移动。

小伙伴们,你们学会了吗?...如果学会了或者对你们有帮助请留下你们宝贵的一键3连。


最后

以上步骤就是制作一个简单完整的Unity小地图的整个流程。希望能对你们提供帮助!!!

看到的小伙伴一键三连一下吧,你们的支持让我更有动力去创作和分享,希望能一直为你们带来惊喜和收获。

一键三连吧!

相关文章:

【Unity】如何制作小地图

我们为什么要制作小地图呢? 原因很简单: 导航和定位:小地图可以显示玩家当前位置以及周围环境的概览。这使得玩家能够更好地导航和定位自己在游戏中的位置,找到目标或避开障碍物。场景了解:通过小地图,玩…...

基于IMX6ULLmini的linux裸机开发系列八:按键处理实验

目录 GIC相关寄存器 GPIO中断相关寄存器 中断服务函数表 中断向量表偏移位置 make有报错 解决方法:error: for loop initial declarations are only allowed in C99 mode_‘for’ loop initial declarations are only allowed i_Young_2717的博客-CSDN博客 GIC…...

数据结构好题总结

Cut Inequality Down 题解 https://blog.csdn.net/lzh_naive/article/details/103340568 概括:st表倍增类st表 考虑如果没有UL限制的话,相当于是前缀和 我们发现,如果某次到了U/L(相当于是一次碰壁)那么这个值已知…...

Java串口开发

网上搜索了关于java串口开发的资料,发现都不是特别的全,故写下一些心得以帮助其他人能快速上手java串口开发,如有错漏之处,敬请指正 串口开发会用到一个javax.comm和RXTXcomm库,,javax.comm库不支持64位操作系统。该库仅适用于32位操作系统,所以接下来主…...

Python nohup 启动python脚本,后台没有日志

一、情况 1.linux上运行python脚本,前台运行打印日志,后台使用nohup不打印日志。 前台运行 ./xxx.py 后台运行 nohup python ./xxx.py > xxx.log 2>&1 &二、排查思路 2.1 脚本是否有问题 首先看自己写的python脚本是否存在问题。因为…...

完美解决微信小程序使用复选框van-checkbox无法选中

由于小程序使用了vant-ui框架&#xff0c;导致checkbox点击无法选中问题 <van-checkbox value"{{ checked }}" shape"square"><view class"check-content"><view class"checktext">我已阅读并同意>《用户协议》…...

IDEA报错:类文件具有错误的版本 61.0,应为52.0

springboot项目启动报错&#xff1a; 类文件具有错误的版本 61.0,应为52.0 请删除该文件或确保该文件位于正确的类路径子目录中 查阅了网上的很多资料&#xff0c;普遍原因说是springboot版本过高&#xff0c;高于3.0 需要在pom文件中降低版本 也有说是idea的maven配置java版…...

Linux 挂载局域网内共享目录

Linux 挂载局域网内共享目录 1、安装samba服务端2、samba服务端配置3、添加samba服务访问账户4、防火墙5、重启服务6、windows访问7、linux访问 1、安装samba服务端 sudo apt-get install -y samba yum install -y samba2、samba服务端配置 vim /etc/samba/smb.conf在文档尾部…...

FFmpeg解码32k大分辨率出现如下错误:Picture size 32768x32768 is invalid

最近找到一张32k的jpeg图片&#xff0c;尝试用ffmpeg来进行解码&#xff0c;命令如下&#xff1a; ffmpeg -i enflame_32768-32768-420.jpg 32.yuv结果出现Picture size 32768x32768 is invalid的错误&#xff1a; 找到报错的代码文件imgutils.c&#xff0c;以及函数&#x…...

EasyExcel+POI制作带有有效性校验及下拉联动的Excel模板

文章目录 1.背景2.实现功能的Excel特性2.1.特性介绍2.2.下拉框联动2.3.单元格自动匹配Id2.4.错误提示 3.代码实现3.1.基础流程代码3.2.名称管理器配置3.3.有效性配置3.4.函数填充3.5.其他补充 4.总结 1.背景 最近在做一个CRM系统的人员销售目标导入的相关需求&#xff0c;需要…...

Unity怎么制作魔法火焰特效?Unity制作魔法火焰特效方法

Unity制作魔法火焰特效方法&#xff1a; 在第一次玩Supergiant Games的RPG游戏《Hades》时&#xff0c;游戏的美术和视觉效果让人非常吃惊。受此启发&#xff0c;希望能够尝试制作类似风格的作品。 工作流程 整个工作从制作简单的火焰贴图开始。首先&#xff0c;我使用PhotoS…...

双基证券:房地产基本面仍处下行通道 政策有望促进走稳

摘要 【双基证券&#xff1a;房地产基本面仍处下行通道 方针有望促进走稳】双基证券表明&#xff0c;2023年5、6、7月商品房及二手房销量继续走弱&#xff0c;引发商场关注。咱们从各城市环线、住所户型、小区物业费的维度盯梢了房地产出售数据的走势&#xff0c;当前新房出售…...

31、springboot 配置HTTP服务端口及如何通过WebServer实例动态获取项目中的HTTP端口

配置HTTP服务端口及如何通过WebServer实例动态获取项目中的HTTP端口 ★ 设置HTTP服务端口&#xff1a; - server.port或者SERVER_PORT环境变量——总结来说&#xff0c;其实就是要配置server.port外部配置属性。▲ 同样遵守如下优先级&#xff1a; 这些都是外部配置源&#x…...

会计如何使用ChatGPT提高工作效率

文章目录 ChatGPT改变了会计行业微软重新定义了PC交互应对ChatGPT带来的冲击给财务人员的建议总结 ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮儿的个人主页 &#x1f3d9;️ 个人社区&#xff0c;欢迎你的加入&#xff1a;全栈弄潮儿的个人社…...

【TypeScript】类型推论和类型别名

类型推断 TypeScript 的类型推断是一种编译器能够自动分析代码并确定变量的类型的功能。它允许你在声明变量时省略类型注释&#xff0c;让 TypeScript 根据变量的值来推断出合适的类型。 以下是 TypeScript 类型推断的一些示例和情况&#xff1a; 基本类型推断&#xff1a; …...

字节码调教的入口 —— JVM 的寄生插件 javaagent 那些事

Java Instrumentation 包 Java Instrumentation 概述 Java Instrumentation 这个技术看起来非常神秘&#xff0c;很少有书会详细介绍。但是有很多工具是基于 Instrumentation 来实现的&#xff1a; APM 产品: pinpoint、skywalking、newrelic、听云的 APM 产品等都基于 Instru…...

Blender卡通着色入门

当想到 Blender 和 3D 设计时&#xff0c;你的想法可能会转向风格化渲染或照片级渲染和 VFX。 但是&#xff0c;你是否知道 Blender 还可以创建可与 2D 动漫风格和漫画书类似的图形&#xff1f; 推荐&#xff1a;用 [NSDT编辑器 快速搭建可编程3D场景 1、什么是卡通着色&#x…...

性能调优篇 一、Jvm监控及诊断工具-命令行篇

目录 一、概述1、简单命令行工具 二、jps&#xff1a;查看正在运行的Java程序1、是什么&#xff1f;2、测试3、基本语法 三、jstat&#xff1a;查看jvm统计信息 一、概述 性能诊断是软件工程师 1、简单命令行工具 二、jps&#xff1a;查看正在运行的Java程序 1、是什么&…...

Docker部署MongoDB 5.0.5

1、查看目录 rootwielun:~# tree mongo mongo ├── conf │ └── mongod.conf ├── data ├── docker-compose.yml └── logrootwielun:~# cd mongo rootwielun:~/mongo# chmod 777 log2、配置docker-compose.yml rootwielun:~/mongo# cat docker-compose.yml ve…...

Day18-2-地狱回调-Promise-async-await技术

文章目录 Promise技术一 回调函数二 异步任务三 回调地狱是什么?四 如何解决回调地狱1 PromisePromise基本用法使用Promise解决地狱回调2 async/awaitPromise技术 一 回调函数 当一个函数作为参数传入另一个函数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执…...

告别手动开关!用ESP8266+Arduino实现高精度定时(误差<1秒)的智能插座方案

告别手动开关&#xff01;用ESP8266Arduino实现高精度定时&#xff08;误差<1秒&#xff09;的智能插座方案 在智能家居和物联网项目中&#xff0c;定时控制是最基础却最常被忽视的功能之一。许多开发者都遇到过这样的尴尬&#xff1a;用手机App远程控制电器很方便&#xff…...

WinMD:跨平台存储架构的突破性实现与Windows访问Linux RAID解决方案深度解析

WinMD&#xff1a;跨平台存储架构的突破性实现与Windows访问Linux RAID解决方案深度解析 【免费下载链接】winmd WinMD 项目地址: https://gitcode.com/gh_mirrors/wi/winmd 在当今混合IT环境中&#xff0c;Windows访问Linux RAID已成为系统管理员和技术决策者面临的关键…...

AI应用开发模板:基于FastAPI与LangChain的Agent后端快速构建指南

1. 项目概述&#xff1a;一个为AI应用开发者准备的“开箱即用”大脑最近在折腾AI应用开发的朋友&#xff0c;可能都经历过类似的痛苦&#xff1a;想快速验证一个想法&#xff0c;比如做个智能客服、文档问答机器人&#xff0c;或者一个能理解你指令的自动化工具。结果发现&…...

像素映射天地 视频解构空间 ——以Pixel2Geo™核心技术,开启数字孪生与视频孪生无感感知新时代

像素映射天地 视频解构空间——以Pixel2Geo™核心技术&#xff0c;开启数字孪生与视频孪生无感感知新时代一、企业核心定位&#xff1a;无感感知赛道开创者&#xff0c;实景孪生技术定义者镜像视界&#xff08;浙江&#xff09;科技有限公司深耕数字孪生与视频孪生领域底层创新…...

突破大语言模型平滑诅咒:Emergence Codex语义架构与OpenClaw实战指南

1. 项目概述&#xff1a;什么是 Emergence Codex 与 OpenClaw Skill如果你和我一样&#xff0c;在深度使用大语言模型&#xff08;LLM&#xff09;构建智能体或进行复杂推理任务时&#xff0c;常常感到一种无力感——无论你怎么精心设计提示词&#xff08;Prompt&#xff09;&a…...

告别黑盒:手把手教你用S-Function在Simulink里打造自己的16QAM调制解调模块

从零构建16QAM通信链路&#xff1a;Simulink S-Function深度开发指南 在通信系统仿真领域&#xff0c;现成模块虽然方便&#xff0c;却常常成为深入理解底层原理的障碍。当我们需要验证特定算法、优化系统性能或进行教学演示时&#xff0c;自主构建核心模块的能力显得尤为重要…...

注册github账户时出现问题怎么解决

...

Go语言CLI工具服务化:基于JSON-RPC的进程间通信与自动化集成

1. 项目概述与核心价值最近在折腾一些自动化流程和跨平台脚本时&#xff0c;遇到了一个挺有意思的需求&#xff1a;如何让一个用Go语言写的、功能强大的命令行工具&#xff0c;能够被其他语言&#xff08;比如Python、Node.js&#xff09;或者更上层的应用&#xff08;比如Web界…...

简单学习 --> SpringAOP

spring 两大核心: ioc 和 aop ; (ioc : 控制反转 , aop : 面相切面编程)AOPAOP: 面向切面编程 , 可以看作是面向对象编程的补充 ;aop是一种思想,是对某一类事情的集中处理 (例如: 统一功能处理(拦截器,统一结果,统一异常) , 统一功能处理事AOP 的实现 )切面: 某一类公共的事情 …...

AIAgent系统崩溃前的7个征兆:基于SITS2026容错框架的实时预警与自愈方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;SITS2026容错框架的理论根基与演进脉络 SITS2026&#xff08;Self-Integrating Tolerance System 2026&#xff09;并非凭空而生&#xff0c;其设计深度植根于分布式系统可靠性理论、形式化验证方法论与…...