注意:不采用2个相机来实现,因为两个相机物体会被渲染2次,性能开销大,所以采用等比例映射来实现。
player相对于地形的位置=player的位置-地形的位置
x比例=player相对于地形的位置x/地形的宽
y比例=player相对于地形位置z/地形的长
背景图片的宽 * x比例=背景图片玩家x的位置
背景图片的长 * y比例=背景图片玩家y的位置注意:一般采用Image来作为小地图,玩家标记作为Image的孩子,他们都是
和屏幕左下角对齐,并且Image的中心点为左下角。Vector3 deltaPos=player.position-terrain.transform.position;float rateX=deltaPos.x/terrain.terrainData.size.x;
float rateY=deltaPos.z/terrain.terrainData.size.z;RectTransform parentRect=transform.parent.GetComponent();float xPos=parentRect.sizeDelta.x*rateX;
float yPos=parentRect.sizeDelta.y*rateY;transform.localPosition=new vector2(xPos,yPos);