有2种方法 实现 小地图,
第1种,在 Unity 的AssetStore 下载 MiniMap(Radar)System。
第2种,使用Unity自带的现成的UGUI ,来实现。
使用的素材是Interactive Tutorial 3
------------------------------------第1种,在 Unity 的AssetStore 下载 MiniMap(Radar)System。
Unity的AssetStore的 MiniMap(Radar)System
在Unity的AssetStore,下载并导入MiniMap(Radar)System
在Hierarchy视图 有Canvas,鼠标悬浮在 Canvas 上 -- 右键--UI--RawImage
在Hierarchy视图 没有Canvas就在空白处 鼠标右键--UI--RawImage
在Project视图下,找到Minimap有4个样式不同的 迷你地图,任选其一,鼠标左键 MiniMap预制体 移动至Canvas下,
找到Player物体
选中玩家物体,移动至 MiniMap 的MapCanvasController 的PlayerTransform
找到 敌人物体,在Inspector 视图下,添加 组件 MapMarker ,使其MarkerSprite 为 任一精灵物体
点击运行后 如下左图所示,小地图如下中图所示,
https://github.com/Brackeys/Minimap
---------------------------------第2种,使用Unity自带的现成的UGUI ,来实现。
用Unity 自带的 ,进行 迷你地图小地图雷达系统 的设置
在Hierarchy视图 (有Canvas就如左图所示),鼠标悬浮在 Canvas 上 -- 右键--UI--RawImage
在Hierarchy视图 (没有Canvas就如右图所示),在空白处 鼠标右键--UI--RawImage
选中 上一步,新建的 RawImage 物体,在Scene视图下 移动至(Canvas)左上角,在Inspector 视图下,调整Anchor Presets。如下图所示
在Project视图下,任意文件位置 鼠标右键--Create--RenderTexture。重命名为NewMiniMap
在Project视图下 选中 NewMiniMap,把DepthBuffer 设置为 No depth buffer ,
NewMiniMap 的Inspector 的 Size 与 Hierachy视图下的 Canvas 的RawImage的 Inspector 的 RectTransform 的 Width和 Height 一致。
修改好后,记得回车。
在Hierarchy视图的 搜索框MainCamera。找到MainCamera
在Hierarchy视图下,MainCamera处 鼠标右键--Camera
新建 摄像机,重命名为MinimapCamera
将其移动至 自定义位置。
选中MinimapCamera,在Inspector 视图下,改变 Size的值,为合适大小(迷你地图摄像机 的 Size 大小正好 覆盖适当的 )。
像这样既可。
将Inspector的MinimapCamera 的TargetTexture设置为 (RanderTexture类型的) NewMiniMap
将Hierachy视图下的 Canvas的RawImage的Inspector的 RawImage的Texture 设置为
(RanderTexture类型的) NewMiniMap
调整 Hierarchy视图下的 MinimapCamera 的坐标(在Scene视图下进行调整),使得 Game视图 下的 小地图 合理显示,如下图所示
在Scene 视图下,删除了 一部分 的 物体。对应的 小地图的一部分 也发生了改变。
是可以实时显示 小地图。
相关资料:
1.
2.
3.
4.