- Home /
Best way to move my player (3d)
So, I've been struggling with this for days. I'm trying to set up a simple movement script for my character, I'm making a simple isometric zelda clone (a mix between something like A Link Between Worlds and other Zeldas), so 8 directions movement, go up/down slopes and stairs, and when I collide with other objects I don't want anything weird to happen.
I have tried using Transform.translate but I get jittering issues when I collide with non-moving objects. To fix this, I've read that I should use the rigidbody to move because transform.translate doesn't use physics.
So I have tried using Rigidbody.MovePosition but when it comes to slopes it does weird things (especially when going DOWN slopes, it kind of "glides" down the slope), I tried fixing this with several things but nothing seemed to work (like casting a ray down to check if I'm grounded, and if I'm not move the player to the hit.point.y or increase gravity etc). So I've read that Character Controller is the best way to deal with this, and of course I've CharacterController.Move and .SimpleMove but it was a total mess (I can't seem to find decent tutorials on those).
What would be the best solution for my game? Where should I focus my energies on?
Answer by Cuttlas-U · Sep 27, 2017 at 01:42 PM
hi; I can see u did a good search for it and all of your results are correct;
well it depends on your game but mostly u have to use physics and move rigidbody is the best awnser ;
about that weird moves i think it depends to your collider so what collider are u using for it ? ( almost always capsul collider is the best choice ) ;
Your answer
Follow this Question
Related Questions
Making a bubble level (not a game but work tool) 1 Answer
How do i maintain the same speed in the air? 1 Answer
Grid based movement in 3D environment 1 Answer
Help with recreating movement from game 1 Answer
How to move player or character Left right by 14 unit every at button click on mobile 0 Answers