hi there, im trying to make a minimap and not using the 2nd camera method. from what i’ve found from some other source im only able to print out the texture of the map using graphics.drawtexture function. how can i print out an object to indicate the player/enemy on the texture i’ve created?
thanks for the link. but i’ve found another minimap tutorial which is what i wanted, this is the link for those who have no clue about how to make one like me. http://www.jakel168.com/2010/09/how-to-make-mini-map-for-your-scene-in.html
Hi,
You can also use the popular KGFMapSystem.
Its fully customizeable, well documented, and well supported. If you have not already implemented you own minimap this will spare you a lot of time and trouble.
homepage->www.kolmich.at/kolmich/index.php?option=com_content&view=article&id=116&catid=86&Itemid=475&lang=en
assetstore->http://u3d.as/content/kolmich-creations/kgfmap-system/3bf
Hi, you can use this method to make a mini map without a second camera. Take a screenshot of the map, place it inside a canvas. Then create 4 transform positions and place it in the game world edges. Then use this script and assign the values.
public RectTransform marker; //player pointer image
public RectTransform mapImage;//Map screenshot used in canvas
public Transform playerReference;//player
public Transform[] mapEdges;//4 edges, make sure its in rectangle.
public Vector2 offset;//Adjust the value to match you map
private Vector2 mapDimentions;
private Vector2 areaDimentions;
private void Start()
{
for (int i = 0; i < mapEdges.Length; i++)
for (int j = i + 1; j < mapEdges.Length; j++)
{
if (mapEdges[j].position.x < mapEdges_.position.x || mapEdges[j].position.z < mapEdges*.position.z)*_
{
Transform temp = mapEdges[j];
mapEdges[j] = mapEdges*;*
mapEdges = temp;
}
}
mapDimentions = new Vector2(mapImage.sizeDelta.x, mapImage.sizeDelta.y);
areaDimentions.x = mapEdges[1].position.x - mapEdges[0].position.x;
areaDimentions.y = mapEdges[2].position.z - mapEdges[0].position.z;
}
private void Update()
{
SetMarketPosition();
}
private void SetMarketPosition()
{
Vector3 distance = playerReference.position - mapEdges[0].position;
Vector2 coordinates = new Vector2(distance.x / areaDimentions.x, distance.z / areaDimentions.y);
marker.anchoredPosition = new Vector2(coordinates.x * mapDimentions.x, coordinates.y * mapDimentions.y) + offset;
marker.rotation = Quaternion.Euler(new Vector3(0, 0, -playerReference.eulerAngles.y));
}