godotengine / godotengine/godot

Touch-based navigation in the 3D editor has strange motion when zoomed out

Open
#99,635 1 comment 0 reactions 0 assignees View on GitHub
bug confirmed platform:android topic:3d topic:editor usability
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.