Jump to content
  • Advertisement
Sign in to follow this  
Ovicior

Unity How To Fix/Create Movement Code In Unity

This topic is 1033 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey,

I've been working on a movement system in Unity, and have a functional one. I wouldn't say the code is any good, though...It's all in one method, and I've got no idea how to move it to other functions. I've tried, and it's all ended with the player glitching out in mid-air and not moving. Can any of you share your movement code used in Unity? I would like to use rigidbodies, and only need WASD movement (Along with holding shift to increase movement speed). The game is 3D.

Code: http://pastebin.com/rR8wduPn

 

I'd appreciate some help.

Share this post


Link to post
Share on other sites
Advertisement

Standard assets has a Character Controller. Standard Assets > Characters > First Person Character Controller. I think there's a 3rd person one as well. That's the best place to start if you need a generic one. There wasn't a sprint option last time i checked , but that's like a 5 line script.

 

If you want to code your own, just attach the camera to a object with a rigid body and a collider and tie your keys to AddForce.

 

For example - to move forward use something like:

 

float speed = 5f ;

if( Input.GetAxis("Vertical")>0){ transform.GetComponent<Rigidbody>().AddForce( Vector3.forward * speed , ForceMode.Acceleration ) ;}

 

and do the same, except check if Input.GetAxis < 0 to move backwards and check GetAxis("Horizontal") to move left and right.

 

I didn't test that, but it should work. Might have to tweak speed though and maybe tie it to Time.deltaTime. Also, calling GetComponent every frame is kind of costly, so it's better to define it during Start().

Share this post


Link to post
Share on other sites


I would like to use rigidbodies

Is there a particular reason you want to use rigidbodies? I've built character controllers both ways, and I have to say, the versions without a rigidbody are way simpler, and a lot more stable in practice. Rigidbodies have all sorts of weird behavior around collisions and friction that you are going to have to work around.

Share this post


Link to post
Share on other sites

 


I would like to use rigidbodies

Is there a particular reason you want to use rigidbodies? I've built character controllers both ways, and I have to say, the versions without a rigidbody are way simpler, and a lot more stable in practice. Rigidbodies have all sorts of weird behavior around collisions and friction that you are going to have to work around.

 

 

That may be my fault. I was talking to him before and didn't understand that a controller could replace a RB. I need to do more research on the controller component. My bad.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!