godotengine / godotengine/godot
Touch-based navigation in the 3D editor has strange motion when zoomed out
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in: 4.3.stable, 4.4.dev5
### System information
Godot v4.4.dev (fd6c4515f) - Android - Single-window, 1 monitor - OpenGL ES 3 (Compatibility) - Adreno (TM) 730 - (8 threads)
### Issue description
On Android, touch-based navigation in the 3D editor has its right stick motion act in a strange way depending on zoom. The more zoomed out you are, the more it will move around as you change the view direction. This results in "jelly"-looking motion.
Default zoom level:
https://github.com/user-attachments/assets/addffea8-2ab6-4f61-9216-847ab9a96b6a
When more zoomed out and going back to the origin using freelook:
https://github.com/user-attachments/assets/a57e5b10-34bb-4843-b1ee-9000e1108fda
This may occur because right stick motion doesn't actually enter freelook mode, but pans around the camera instead while compensating for the orbit position change manually (panning is smoothed by default, but orbiting isn't). If I set **Translation Inertia** to 0 in the Editor Settings, the problem goes away entirely.
### Steps to reproduce
- Use the right stick in a 3D scene in the Android editor to look around.
### Minimal reproduction project (MRP)
N/A
Contributor guide
Research direction
Start by reproducing the behavior in the Android editor using the right stick in a 3D scene, comparing the default zoom with a zoomed-out view and checking Translation Inertia. The issue names no files or tests, so trace the 3D editor's touch navigation and freelook/panning behavior. Done means view-direction changes no longer produce jelly-like motion at different zoom levels, without requiring Translation Inertia to be set to 0.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, cpp
- Domain
- computer-graphics, game-dev, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100