A group dedicated to indie and standalone game development.

Post tutorial Report RSS How to make a minimap

How to make a simple minimap. Based on Rman's script and tips. :-)

Posted by on - Basic Other

After starting your Unity project:
1. Select GameObject -> Create Other -> Camera, rename it as you like it
2. Select Assets -> Create -> JavaScript, rename it to "OrbitCam" or something similar ("MinimapScript\", etc.), edit it

3. Paste the following code:

var target : Transform;
var damping = 6.0;
var smooth = true;

function LateUpdate () {
	if (target) {
		if (smooth)
		{
			// Look at and dampen the rotation
			var rotation = Quaternion.LookRotation(target.position - transform.position);
			transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
		}
		else
		{
			// Just lookat
		    transform.LookAt(target);
		}
		transform.position.y = target.position.y + 90;
		transform.position.x = target.position.x;
		transform.position.z = target.position.z;
	}
}

function Start () {
	// Make the rigid body not change rotation
   	if (rigidbody)
		rigidbody.freezeRotation = true;
}

4. Click the minimap camera you created earlier, then without clicking the script, drag the script onto the camera name
5. Still having the minimap camera on, drag the target of the minimap (the character, car, whatever) onto the field Target

All is set. Remember that the Depth of the minimap camera should be above the Depth value of the Main Camera, or the minimap itself will be hidden behind the Main Camera view! Very important!

An example of minimap camera properties set:

Minimap camera

Projection property can be set as either Perspective or Othographic, with Field of View also customised to your needs.

Normalized View Port Rect properties can be set as following:
X: 0.04 (0.54 for the second minimap if you use the splitscreen multiplayer))
Y: 0.04 (0.54 for the second minimap)
X and Y properties specify the position of the minimap on the screen.

W: 0.2
H: 0.2

W (width) and H (height) properties specify the size of the minimap. 0.2 means 20%. You can set them as you wish.

And that's pretty everything you need to do to get a simple minimap. Remember it's a method very little optimised - better would be creating minimap itself (using a texture).

The credit for the script (OrbitCam.js) and the tips goes to Rman, see his Planet 4 game site:
Planet44.wordpress.com

Post comment Comments
Salynrad
Salynrad - - 21 comments

This is what I've searched for a long time, thank you for uploading.

Reply Good karma Bad karma+2 votes
NakorTBR
NakorTBR - - 33 comments

Yeah this is great for certain games. Unfortunately I can't really do this as it would increase my draw calls enormously.

Reply Good karma Bad karma+1 vote
Guest
Guest - - 687,512 comments

This comment is currently awaiting admin approval, join now to view.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: