I have a ramp and I move a sphere with arrows. I have unity’s gravity and I want the rigid body of sphere to slide when it is stoped at the top of the ramp but without rotating it’s body. The problem is if I Freeze rotation on x axis, it won’t slide.
Ok, Ignore my physics material comment. Physics materials are great when trying to add realism or a slide/stop mechanic, but for general ball motion, lets try using joints.
You will need 2 spheres, both the same size, both with rigid-bodies. Overlay the spheres to the same position, rotation, and so on. And child one of them to the other to look like this in your hierarchy:
Pacman (Stationary)
InvisibleColliderSphere (Rotates)
Once you have those two spheres, set up their components like this.
Make sure all the component variables are the same. The only difference is that you will not need to render the child (collider) sphere, so feel free to remove that component. This is the sphere you want to add all your force to, and it will rotate freely, as your PacMan does now. But, this will make it so the parent object (PacMan) will stay stationary. So PacMan will no longer get dizzy.
If you want me to explain anymore or if you are having trouble, feel free to ask. The components should be easy to read, but are sometimes hard to understand.