godotengine / godotengine/godot

RemoteTransform3D will drift scale very slowly when "Update Scale" is _unchecked_.

Open
#115,665 1 comment 2 reactions 0 assignees View on GitHub
bug topic:3d
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

4.5 & 4.6

### System information

Godot v4.6.stable - Windows 11 (build 26100) - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4090 (NVIDIA; 32.0.15.7216) - 13th Gen Intel(R) Core(TM) i9-13900K (32 threads) - 63.78 GiB memory

### Issue description

I have RemoteTransform3D nodes attached to a Skeleton with animations on it. The animations make lots of small rotations in a loop. It has "Update Global", "Update Position" and importantly, "Update Remote" checked while "Update Scale" is _unchecked_.

The object RemoteTransform3D is updating will very slowly drift its scale away from [1,1,1] over time due to very small floating point precision error accumulation from the rotation-without-scale.

### Steps to reproduce

Create a remote transform that rotates a cube without updating scale.

Image

Results:
- Over about 5-10 minutes you will see very small errors accumulate on the target object:

Image

Expectation: the target objects scale should remain fixed over time.

This will eventually trigger endless error warnings in the console from Jolt if the target object is a collision object or contains a collision object. Each axis will drift ever so slightly and when they are far enough off the error check will start logging.

### Minimal reproduction project (MRP)

N/A

Contributor guide

Open the contributing guide

Research direction

Start with the RemoteTransform3D implementation and reproduce the reported rotating-cube setup with Update Scale unchecked, as described in the issue. No source file, test, or minimal reproduction project is provided; done means the target scale remains fixed during prolonged rotation and the reported downstream warnings no longer occur.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, godot
Domain
computer-graphics, game-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.