首先需要在PhotoShop中分别制作一个圆形遮罩和圆形边框,主体颜色为白色,背景透明,格式保存为png
导入后把它的设置为Sprite
创建一个空对象 “小地图”
在其下方创建 一个Image“遮罩” 和 一个Image边框,然后在遮罩下方创建RawImage
给遮罩对象添加Mask组件,并把遮罩图片赋给遮罩
创建一个RenderTexture,把它赋给HeadCamera和RawImage
运行游戏,就可以看见小地图了
最后再加上边框,就完美了
如果有多个角色,建议把小地图相机单独放置,用父子约束进行绑定,而不是放在角色预制体中
然后在角色身上挂载如下代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Animations;
public class MiniMapCamaraRegister : MonoBehaviour
{
void OnEnable()
{
ParentConstraint constraint = GameObject.Find("小地图相机").GetComponent();
ConstraintSource constraintSource = new ConstraintSource()
{
sourceTransform = transform,
weight = 1
};
constraint.SetSources(new List() { constraintSource });
constraint.SetTranslationOffset(0, new Vector3(0, 50f, 0));
constraint.SetRotationOffset(0,new(90,0,0));
constraint.constraintActive = true;
}
} 


