CGCookie / retopoflow

A suite of retopology tools for Blender
2.51k stars 249 forks source link

[PROPOSAL] UI Responsiveness and Polish #838

Closed theoldben closed 3 years ago

theoldben commented 4 years ago

Issue Template

Retopoflow Version: 3 beta 2

Blender Version/Hash: 2.82.7

Platform Version/Distribution: Windows 10

 

Issue:

UI Responsiveness: The window of time that a mouse click may take to trigger an action is very small. This may be due to double click detection, but in practice, it means that interacting with the Cookie Cutter Framework feels very, very finicky to interact with.

Probably the worst offenders in this: the Triangles that open the tool menus. Not every click tracks through, which means you never know if the thing is going to open. Since Triangles are toggles, you need to wait for a short time to make sure it is not just a delay, but a complete input loss. Same behavior on the Tool Panel: not every click goes through. I have noticed that this behavior gets better if the tool clicked is not the first one. I have attached a video file with audio, so you can hear when the click goes down.

https://youtu.be/JpgW-fFOt70

This is just clicking the main toolbar. The Click on "Polypen" does not go through. This is endemic to the whole interface.

A similar oversight are the numeric input fields. I am not complaining that the Up/Down Cursor keys cannot be used to increment/decrement the values. That would be useful, but blender just does not have that functionality.

NoAutomaticValueSelection

I am complaining about not highlighting the input value when I click the field. Since the field does not allow for Shift or Ctrl+Shift highlighting or selecting the whole content, that means I have to manually delete the old values before entering the new ones.

To add insult to injury, these values come with 4 decimal places. I do appreciate precision like the next guy, but I doubt it will be necessary to expose that many to the user, and with the current lack of full-field selection, it makes changes values torturous.

 

How to Reproduce: Run Retopoflow, use any UI element. Particularly Drawer Triangles and input fields.

vxlcoder commented 4 years ago

Thanks for the report, @theoldben.

I'm actively working on the UI Responsiveness. Unfortunately, the response time does vary from machine to machine, but also from Blender version to version. My tests show that Blender 2.83 beta and 2.90 alpha run much faster than on 2.82a. Not sure why, yet; still investigating. Wanted to get a stable, working version out as another beta, even if it meant that the UI isn't as quick as it ought to be.

Question: in your workflow, do you need to use the UI much? How do you use it? (ex: just for initial set up, constantly as you need to adjust values, etc.) I haven't spent a ton of time on that area, because the artist workflows I know of do not use it frequently. But if this is a common thing, maybe this should be something to spend more time on.

I will be updating those input boxes, too. They were coded up fairly quickly so I could focus most of my time on getting tools working well, and so they do lack a lot of polish. The Up/Down idea is interesting... Typically, pressing Up/Down when the box is in focus is similar to hitting Home/End. But if your mouse is simply hovering the box, that might make sense. I'll have to think about how much they should increment / decrement, as this would be different for each field.

Thanks again for the feedback. We're constantly balancing our time and effort, and maybe the UI should be at the top of the to-do list.

theoldben commented 4 years ago

I model fairly cartoony stuff, so I stay very low poly on my cage and let the subdivision add the geometry to get smooth shapes. As such, default values are a little high for me and those are what I set when I start up Retopoflow.

It might be nice to be able to just store them (the input field defaults), sort of like a startup file. For instance, I start out with 8 verts per edge loop in the Contour Tool. Once set, that only needs adjusting infrequently. Other tools like PolyPen, Tweak and Strokes do need constant adjustments.

I have noticed one thing: all those tools only have one or two settings that could fit in a slider of sorts where the cursor is and could be triggered with a hotkey. I could see this implemented like the brush size selector, where you press F, get a modal to slide in your value, ideally with some graphical feedback, then you OK the settings and the modal closes again. That would eliminate the need for going to a side menu at all. Maybe a horizontal slider would be better visual feedback, since the input is essentially one-dimensional in nature. I have attached a mockup. If it is at all doable, I think this kind of component might be useful to have in the framework.

SuggestionValueInputSliderModal

vxlcoder commented 4 years ago

storing defaults: yes, this is quite easy to do.

quick slider: that's a nice option, which would (seemingly) be quite tablet-friendly too

theohero commented 4 years ago

Same issue for me, my PC is pretty strong and can handle a lot of complex operations, but it feels weird when it can't handle the UI. Sometimes clicking on the function doesnt work, changing numeric data in UI(like distance for merging) is a big pain. So I really hope it's gonna be fixed soon.

jlampel commented 3 years ago

The UI slowdown has been addressed in the latest release so I'll close this out, but I've also saved the other UI suggestions as notes to revisit later.