godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.59k stars 21.28k forks source link

Can't move or rotate an object whose scale is `(0, 0, 0)` using editor gizmos #63010

Open Calinou opened 2 years ago

Calinou commented 2 years ago

Related to #61491, https://github.com/godotengine/godot/issues/63011 and https://github.com/godotengine/godot/issues/63012.

Godot version

4.0.alpha (5fec0d232)

System information

Fedora 36, GeForce GTX 1080 (NVIDIA 510.68.02)

Issue description

The 3D editor doesn't make it possible to move or rotate an object whose scale is (0, 0, 0) using editor gizmos.

https://user-images.githubusercontent.com/180032/179119572-15aa036b-c7ae-4ae8-87b1-de407b5398a2.mp4

When attempting to rotate a 3D object of scale 0, the following error is also printed every frame:

core/math/basis.cpp:64 - Condition "det == 0" is true.
The axis Vector3 must be normalized.

This message isn't printed when attempting to move the 3D object though. I also can't reproduce this on 3.5.rc 3f0201335.

Steps to reproduce

Minimal reproduction project

test_3d_object_move_scale_0.zip

Sauermann commented 1 year ago

2D variant of this issue: #35081