(1)如果没有小地图,可以在编辑场景中调整一个鸟瞰摄像机,刚好可以看到整个地形场景(最好不要大了或者小了),然后使用这张图片作为小地图的背景图。
(2)在没有地形图的情况下,可以直接在屏幕上绘制一个地形图,然后通过比例计算主角在地形位置比例与在地图上的位置,然后在地图上绘制一个小图标来标识主角就行了。
本文中:用鸟瞰视角截了一个图作为地形图,用一个小圆圈图片标识主角,下面给出代码:
public Texture map;//小地形图
public Texture jueseTexture;//标识角色的图片
float juesePosX = 0;
float juesePosY = 0;
public GameObject player;//角色
public GameObject plane;//地形
float planeWidth;//地形的宽
float planeHeight;//地形的高
void Start()
{
//获取地形的宽高
planeWidth = plane.GetComponent<MeshFilter>().mesh.bounds.size.x * plane.transform.localScale.x;
planeHeight = plane.GetComponent<MeshFilter>().mesh.bounds.size.z * plane.transform.localScale.z;
print(planeWidth + ", "+planeHeight);
}
void OnGUI()
{
//此时的小地图在屏幕的左上方