godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.17k stars 98 forks source link

Add search to the bone selection dropdown menu #11265

Open JekSun97 opened 3 days ago

JekSun97 commented 3 days ago

Describe the project you are working on

3D Game

Describe the problem or limitation you are having in your project

I decided to try models for my game from DAZ 3D, and I encountered one inconvenience, some drop-down menu lists look unfinished, for example where we have to select something.

An example is a model from DAZ 3D, in one model by default there can be about 200-300+ bones, and if we, for example, want to select the bone we need in the LookAtModifer3D modifier, then we have to find the bone we need ourselves, which complicates the search and takes a lot of time

Image

Describe the feature / enhancement and how it helps to overcome the problem or limitation

We could use an advanced Popup menu with search capability

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

For example, here is a window for selecting a node for NodePath, where there is a search, this is very much lacking in the Popup menu

Image

If this enhancement will not be used often, can it be worked around with a few lines of script?

No

Is there a reason why this should be core and not an add-on in the asset library?

Part of the engine

Flynsarmy commented 2 days ago

This issue is present in many places in the engine. IMO all dropdowns should automatically convert into comboboxes when there are too many records.

Here's the exact same issue I was having in the animation player https://github.com/godotengine/godot-proposals/issues/7278

Calinou commented 2 days ago

An example is a model from DAZ 3D, in one model by default there can be about 200-300+ bones, and if we, for example, want to select the bone we need in the LookAtModifer3D modifier, then we have to find the bone we need ourselves, which complicates the search and takes a lot of time

Note that you can already type out letters and it will focus the first matching element automatically (keep typing without interruption to find more precise matches).

JekSun97 commented 17 hours ago

An example is a model from DAZ 3D, in one model by default there can be about 200-300+ bones, and if we, for example, want to select the bone we need in the LookAtModifer3D modifier, then we have to find the bone we need ourselves, which complicates the search and takes a lot of time

Note that you can already type out letters and it will focus the first matching element automatically (keep typing without interruption to find more precise matches).

I remember about this feature, but it only works for one key pressed, I used this feature in older versions of the engine, which was of little use, now I decided to test it on 4.4 dev5, and it doesn't work even for one letter.