《Unity开发实战》——2.9节显示迷你地图

简介:

本节书摘来自华章社区《Unity开发实战》一书中的第2章,第2.9节显示迷你地图,作者 (爱尔兰)Matt Smith (巴西)Chico Queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看

2.9 显示迷你地图
在很多游戏中,给场景提供更宽的视角对于导航和信息来说,其好处是无法估量的。在第一人称或第三人称模式下,迷你地图非常适合作为玩家的额外视角。

2.9.1 准备工作
示例代码中名为“0423_02_08”的文件夹中有一个名为miniMap的包需要导入,此包中有一个在简单迷宫中的第三人称控制器,以及一个名为marker的纹理。

2.9.2 操作步骤
请按照下面的步骤创建迷你地图:
1)导入miniMap Unity包,打开02_08文件夹中名为thirdPerson的场景。
2)选择3rd Person Controller(第三人称控制器),在Inspector视图中,把它添加到名为NoMap的新图层中:


7df9295b5936b3d2ab4c33ca03f90060175831d6


36df9dfdd88e1ee63229ec6802f1f89763c9a4fc


47492dbad88ee17d19cab0104737b5d37542c44e

5)保存脚本,并附加到Map Camera中。然后,在Inspector视图中,修改Generate Map组件的值,具体设置如下所示:
Target(目标): 3rd Person Controller(第三人称控制器)
Marker(标记): marker
Cam Height(摄像头高度): 6
Cam Distance(摄像头距离): 10
Horizontal Alignment(横向对齐): Right(右对齐)
Vertical Alignment(纵向对齐): Bottom(底部对齐)
Dimensions In(单位): screen_percentage(屏幕百分比)
XOffset(X轴偏移)和 YOffset(Y轴偏移): 0
Width(宽度): 25
Height(高度): 25


5f717f6ed25ca50153f112732b4501677408e7d3

2.9.3 实现原理
脚本做了两件事:通过期望的位置和维度设置视角,并调整摄像机的变换设置,让它从俯视透角(top-view perspective)跟着主角色。另外,为了让地图看起来更清楚,当显示角色应该在哪里的标记时隐藏了主角色。

2.9.4 更多内容
如果还想练习更多迷你地图的例子,可以参考下面的内容。

  1. 使用渲染纹理(仅限专业版)
    如果使用的是专业版,可以始终使用Render Texture(渲染纹理)并用GUI.DrawTexture 或 Graphics.DrawTexture显示地图。关于Render Texture的更多介绍请参考Unity的文档 http://docs.unity3d.com/Documentation/Components/class-RenderTexture.html
  2. 适配迷你地图到其他样式
    可以很容易修改本节内容以实现竞速游戏中地图的俯视图或等距视图。只需要手动定位摄像机并阻止其跟随角色。另外,别忘了给所有赛车都加一个在地图上的显示标记。
相关文章
|
定位技术 图形学
|
5月前
|
算法 定位技术 图形学
unity2d实现一个全方位的无限随机地图
unity2d实现一个全方位的无限随机地图
346 0
|
定位技术 图形学
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
|
存储 定位技术 图形学
【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
281 0
【猿创征文|Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏地图绘制(2-1)
|
前端开发 机器人 定位技术
在Unity中实现小地图(Minimap)
小地图的基本概念众所周知,小地图(或雷达)是用于显示周围环境信息的。首先,小地图是以主角为中心的。其次,小地图上应该用图标来代替真实的人物模型,因为小地图通常很小,玩家可能无法看清真实的模型。大多数小地图都是圆形的,所以本文也将创建圆形小地图。
3438 0
|
机器学习/深度学习 定位技术
unity2018使用tileMap生成地图 类似泰拉瑞亚创建和销毁地图块
using System.Collections; using System.Collections.Generic;using UnityEngine;using UnityEngine.Tilemaps; public class CreateTileMap : MonoBehaviour {...
2977 0