We could stop movement in a particular dimension, for example, we could force z=0 so that movement is always in 2 dimensions.
Alternatively we could constrain the movement in a particular dimension to be within certain limits, for example (-1,+1). Or we could allow an object to slide in a particular plane or along a particular line (see joints).
If an action tries to move an obect outside these limits, we could just pin the object to remain at the limit and/or we could raise an event when the object reaches the limit.
Another possibility is that we could allow the object to go beyond the limits, but apply a progressive force if it tries to do so. With this type of constraint we could create some very natural looking motion.
We could prevent rotation altogether, we could allow rotation only about a particular point or a particular axis (see joints).