Unity简易小地图制作

        创建小地图的方法网上有很多种,这里我使用UGUI来实现小地图的功能,方便而且不需要使用额外的插件。

        首先新建一个Camera,这里命名为MiniMapCamera,将该Camera的Projection改成Orthographic,然后适当调节Position的Y轴位置。MiniMapCamera的Size值越大(为负值时相当于Y轴旋转180度),地图缩放越大,摄像机可视范围越大,Size越小,地图缩放越小,摄像机可视范围越小。然后在Asset文件夹下新建一个RenderTexture,这里命名为MiniMapTest,拖拽到MiniMapCamera的TargetTexture属性上去。

                             Unity简易小地图制作

         在Hierarchy面板中右键从UI中新建一个RawImage,调整位置到右上角,将上述新建的MiniMapTest拖入RawImage的Texture属性即可。

                              Unity简易小地图制作

          此时我们进入游戏发现小地图确实存在,但是却不会随着我们人物的移动而移动,此时我们给MiniMapCamera挂载一个FollowTarget脚本,将需要跟踪的人物的拖拽到FollowTarget的Target属性即可, 代码如下

public class FollowTarget : MonoBehaviour
    {
        public Transform target;    

        private void LateUpdate()
        {
            transform.position = new Vector3(target.position.x, transform.position.y, target.position.z);
            transform.rotation = Quaternion.Euler(new Vector3(90, target.eulerAngles.y, 0)); 
        }
    }

         我们还需要一个箭头指向表示自己,可以在Hierarchy面板中右键从3D Object中新建一个Quad,将其X轴顺时针旋转90度,适当调节Position的Y轴位置。然后将箭头或者自定义的图片直接拖入Quad的Inspector面板中即可。

                              Unity简易小地图制作

         至此一个简易的使用UGUI创建的小地图就完成啦,此外我们也可以用插件直接使用小地图,放一下工具链接: