In fact, it’s fairly common on large worlds because it mitigates some of the floating point issues for really large world positions (presuming the rest of the scene is always bit locally relative to the camera).
That being said, I wonder what the problem you are encountering is and if there isn’t a simpler solution.
Moving the root node instead of the camera is not free. By moving the root node every frame you will make JME recalculate all of the world transforms and world bounding shapes every frame. This is not necessarily a huge expense but it’s not free.
Even in games with large worlds, it’s common to have the camera move within some area and then scroll the world by ‘zones’ as the camera reaches some boundary… rather than move the root node all the time.
The problem I am facing is that I want to have a fixed number of “zoom levels”. I want to switch between them using the mouse wheel.
At the same time I want smooth changes between the levels, so I thought of using a camera motion path.
But when I then try to move the camera with w,a,s,d, things get messy, because the MotionEvent and my custom control want to move the camNode at the same time (I hope this is somewhat understandable).
Probably there is nicer solution, but if it isn’t uncommon to move the world instead, I think I’ll stick with that idea.