- Home /
How do i create a minimap?
I wanted to know how to make a minimap? So i started to think maybe a second camera held directly above the character? but how would i make it appear in the top right corner of the screen. Would it be a gui or something of somesort? Please consider in helping me...
Answer by spinaljack · Jun 26, 2010 at 10:42 AM
You set the minimap camera to a higher depth than the main camera to get it to render over it.
You set the culling on the minimap cam to depth only so it doesn't render a sky box or anything to cover the rest of the screen.
You then set the viewport normal on the minimap to a corner of the screen.
http://unity3d.com/support/documentation/Components/class-Camera.html
The normalised rect is from 0-1 where 1 is the width of the screen so 0.5 would be half the screen.
You can also make the map extra special by creating a map icons layer and disabling it on the main camera and setting the map cam to only render the terrain layer and map icons layer so you'll see map icons in the minimap and not in the main view.
Complete and succinct - I wish more answers were like this.
@spinaljack $$anonymous$$aybe you mean set the "Clear Flags" to "Depth Only"?
absolutely awesome answer... worked perfectly, even in unity 5
Answer by Ashkan_gc · Jun 26, 2010 at 12:21 PM
there are two ways to do this. 1 you can use normalized viewport as described by spinaljack in another answer. 2 you can render the camera to a render texture and use that texture in any 3d plane/GUI you want. this will require you to have unity pro.
Something like this -> https://blog.theknightsofunity.com/implementing-$$anonymous$$imap-unity/
As of Unity 5, RenderTextures are not a pro-only feature. See this post for more information
Answer by JJNCreator · May 06, 2012 at 02:44 AM
you make a camera, go into "game" tab (next to "scene") and set the position of the camera (i put it in the upper right corner). next, put it up REALLY high up on top of your player and set the projection to orthographic. now make a c# script that will make the camera follow your player. heres the script i used:
using UnityEngine;
public class CameraFollow : MonoBehaviour {
public Transform Target;
void LateUpdate()
{
transform.position = new Vector3(Target.position.x, transform.position.y, Target.position.z);
}
}
then, set your player as the target. if you see any problems, reply back to me. hope it helps!
Answer by kolmich · Aug 15, 2012 at 11:28 AM
Hi there,
Making an minimap is not as simple as it appears when you first think about it. We spent about 3 month implementing a really good working minimap/map system. Its fully customizeable, well documented and super easy to integrate. Maybe this would save you some time?
KGFMapSystem Homepage checkout the screenshots!
A well-made $$anonymous$$imap asset is a great timesaver, but building one one that is designed to the project saves a lot of overhead and isn't overly complicated. A decent one only takes a few hours.
You should really state that your $$anonymous$$imap extends NGUI ($95). That adds significant overhead and implies that very little of the map is handled by proprietary code. This would be the option you choose if you are already using NGUI and want to add a $$anonymous$$imap to it. It is not something to suggest when someone is looking to add a $$anonymous$$imap to a new project or one without NGUI.
Answer by Treasureman · Sep 07, 2014 at 07:13 PM
Set the camera depth to 1 and change the x and y until it's where you want
Your answer

Follow this Question
Related Questions
Mini Map that displays Players X,Y,Z coordinates 2 Answers
using mouse cursor to change levels 0 Answers
Draw "Blip" on Minimap? 1 Answer
Drag objects uisng the minimap 0 Answers