You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using this plugin for some of my UI layout, and some of my panels have 3D viewports in them. In the 3D scene, I have Area nodes that have mouse_entered and mouse_exited signals on them. When I nest these viewports in a DockableContainer, the areas do not trigger the signal, even when the DockableContainer mouse filter is set to "Ignore". My hunch is that this is because the dockable container uses some tab and split containers, and when the dockable containers mouse ignore setting is changed, it is not propagating to the sub-containers.
Steps to reproduce:
Create a viewport container, with a viewport. In the viewport you need a 3D scene, with Areas and Colliders.
Nest the viewport container in something like a margin container.
Set margin container and viewport container mouse filters to "Ignore"
Set the viewport "object picking" to on.
Connect the mouse_entered and mouse_exited signals from the Area to a script in the Margin Container.
Preview the scene, hovering the mouse over the collider will trigger whatever you put in the connected function...
Create a new margin container with dockable container child, put this at the top of the scene tree. Nest the original margin container with viewport onto the dockable container node.
Set the new margin container and dockable container mouse filter mode to "ignore"
Preview the scene. The signals will no longer trigger when mouse hovers over the area.
The text was updated successfully, but these errors were encountered:
Maybe I missed this documented somewhere, but it would be helpful for others.
Perhaps there could be a checkbox in the dockable container that can handle this, so that it is more user friendly.
Unfortunately, this is a known unintuitive behaviour of Viewports + ViewportContainers in Godot, in a quick search I found two open issues about it (godotengine/godot#17326, godotengine/godot#26181) =(
You can also move this workaround to your ViewportContainer and handle this in _gui_input like in this answer if you want, it may be a little better than making your top level node have this responsibility.
Perhaps there could be a checkbox in the dockable container that can handle this, so that it is more user friendly.
Apart from ViewportContainers, that are explicitly made to handle Viewports, it doesn't make sense trying to track Viewports as an edge case on general purpose Containers like DockableContainer.
I'm using this plugin for some of my UI layout, and some of my panels have 3D viewports in them. In the 3D scene, I have Area nodes that have
mouse_entered
andmouse_exited
signals on them. When I nest these viewports in aDockableContainer
, the areas do not trigger the signal, even when the DockableContainer mouse filter is set to "Ignore". My hunch is that this is because the dockable container uses some tab and split containers, and when the dockable containers mouse ignore setting is changed, it is not propagating to the sub-containers.Steps to reproduce:
The text was updated successfully, but these errors were encountered: