- Home /
Changing FPS script to a Top Down.
Ok, so i found a rigidbody script on the unity wiki and i edited it a bit so it would fit my game a bit better. (Not being able to jump)
I have tried to understand how the script works but i cant really figure everything out, so here is the script i have now.
var speed = 10.0; var maxVelocityChange = 10.0;
private var grounded : boolean = false;
function FixedUpdate () { if (grounded) { // Calculate moving speed var targetVelocity = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
targetVelocity = transform.TransformDirection(targetVelocity);
targetVelocity *= speed;
// Apply a force that attempts to reach our target velocity
var velocity = rigidbody.velocity;
var velocityChange = (targetVelocity - velocity);
velocityChange.z = Mathf.Clamp(velocityChange.z, -maxVelocityChange, maxVelocityChange);
velocityChange.x = Mathf.Clamp(velocityChange.x, -maxVelocityChange, maxVelocityChange);
rigidbody.AddForce(velocityChange, ForceMode.VelocityChange);
}
}
// If player is touching ground, grounded = true function OnCollisionStay () { grounded = true;
}
I tried some things to make the script work like i wanted it to. (not in the script because it didn't work) What i want is a top down controller script, if anyone got any suggestions i would be happy if you could post them.
Forgot to say that this is a learning project, not that good at program$$anonymous$$g yet...
You can edit your post if you want to add in more information. Click the edit link next to retag
Answer by fireDude67 · Nov 28, 2010 at 06:31 PM
First, you will need the camera to follow the player. You can do this by first (in the scene view) position and rotate the camera until it's on top of the player. Then, drag the Main Camera
object in the hierarchy onto your Player
object. That will make it follow the player.
Now, you need to move the player in the direction the arrow key is pressed
void Update() {
transform.Translate(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
}
You can change transform.Translate
to rigidbody.AddForce
to move it with physics instead
Your answer
Follow this Question
Related Questions
Topdown player movement with controller problem 1 Answer
Player Movement & Blend Tree - Can anyone help with my script? 1 Answer
MMD How to export model and animations to Unity as 3rd person controller? 2 Answers
2D top down shooter controller: on joystick release, player automatically faces top. Ideas? 1 Answer