godotengine / godot

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

`CSGShape3D` with collision but no visuals do not show gizmo #96807

Open MajorMcDoom opened 1 month ago

MajorMcDoom commented 1 month ago

Tested versions

Reproducible in 4.3.stable and 4.4.dev

System information

Godot v4.3.stable - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1660 SUPER (NVIDIA; 32.0.15.6081) - Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz (16 Threads)

Issue description

A CSGShape3D with Use Collision enabled, but set to invisible will not show any gizmos, as the gizmo visibility is linked to node visibility. This makes it impossible to visualize CSGs that are meant purely for collision purposes.

CSG_Gizmo_Visibility

The expected behaviour would be for all CSGShape3D gizmos to remain on if either the Use Collision property or Visible property are true.

Note that this is a follow-up issue to a series of prior issues and fixes. You can find a summary of them here: #86699

Steps to reproduce

Minimal reproduction project (MRP)

N/A

MajorMcDoom commented 1 month ago

It seems like this is a problem with gizmos for all Node3D in general. For example, CollisionShape3D can still be made "invisible" (even though it does nothing) and this would also hide their gizmos. EditorNode3DGizmoPlugin, the parent class of all Node3D gizmos, has this gizmo visibility behaviour built-in.