本篇实现非整体式地图全貌,也就是显示一部分小地图并随着人物移动旋转做更改
一、代码:
//跟随的目标
public Transform target;
//目标初始距离
public float High = 10f;
//摄像机位置
private Vector3 pos;
//摄像机旋转
private Vector3 rot;
private void LateUpdate()
{//跟随目标
pos.x = target.position.x;
pos.z = target.position.z;
pos.y = High;
rot.x = this.transform.localEulerAngles.x;
rot.y= target.localEulerAngles.y;
rot.z = this.transform.localEulerAngles.z;
this.transform.position = pos;
this.transform.localEulerAngles = rot;
ChangeSize();
}
/// <summary>
/// 放大缩小功能
/// </summary>
public void ChangeSize()
{
if (Input.GetAxis("Mouse ScrollWheel") < 0)
{
High += 0.1f;
}
if (Input.GetAxis("Mouse ScrollWheel") > 0)
{
High -= 0.1f;
}
}
原理就是摄像机在人物上方拍摄,将画面显示在与具有同一个Map Render Texture材质的RawImage上,同时旋转也同样跟随,这样就可以在地图上看到了实时人物位置地图