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

Comments
Salynrad
Salynrad

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

Reply Good karma Bad karma+2 votes
NakorTBR
NakorTBR

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

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

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Tutorial
Browse
Tutorials
Report
Report
Share
Related Games
CarEdu
CarEdu Racing
Related Engines
Unity
Unity Commercial
Related Groups
Indie Devs
Indie Devs Hobbies & Interests with 1,438 members
Unity Devs
Unity Devs Hobbies & Interests with 1,617 members