armory3d / armortools

3D Content Creation Tools
https://armorpaint.org
Other
3.26k stars 337 forks source link

Question/Request for hotkey modability #1347

Closed MrAdrianPl closed 2 years ago

MrAdrianPl commented 2 years ago

Hi im wondering if it would be possible to add some additional hotkeys for picking different viewport modes etc is there any way to currently do it or could it be implemented. Feature like quick favourites from blender would be quiet cool thing also.

MathemanFlo commented 2 years ago

Great idea and easily doable for sure. Do you have specific ideas for shortcuts to change viewport modes? Quick favourites are harder to implement.

MrAdrianPl commented 2 years ago

Well it depends there is bounch of free keys rn i think that it could go with first letters of the layer name. so m for mask n for normal etc. also it would be great to have option like in blender where every button can be hotkeyed by rightclick -> add hotkey, that would be good idea for plugins that may come in future

MathemanFlo commented 2 years ago

Okey so it would be great to have a comprehensible system for the 13 modes. At least for me it would be hard to remember the 13 shortcuts and I'm probably not alone with that. What do you think about a two step command. E.g. Press Ctrl+m to start mode selection. A popup appears containing the 13 commands + shortcut like 1..9, shift+1..3. This way the user does not have to remember the shortcuts.

Second idea: Add a command selector like Ctrl+shift+p in VSCode or Visual Studio or Office Word, Excel, Powerpoint. Pressing Ctrl+shift+P could reveal the selector, then type "hei" and press enter in order to switch to height or something like that. Of course this idea is more general and it becomes harder to select an item the more items are added to this selector.

MrAdrianPl commented 2 years ago

yes it would be hard to remmeber all the 13 hotkeys yet it would be cool to have access to both a list one and direct hotkey for more used modes within preference of user first idea of introducing it seams to be better imo 2nd one might be bit too much of hassle for a hotkey also any chances i could get in touch with you on discord or any other chat as i have another idea/feature request?

MrAdrianPl commented 2 years ago

@MathemanFlo also have you considered adding small qol features directly inspired from Substance Painter like for e.g. alt + click allows to turn all channels on a layer apart from the one being clicked

MathemanFlo commented 2 years ago

Played a bit around and extended ArmorPaint's shortcut handling. Now it would be possible to use ctrl+m+1 to set lit, ctrl+m+2 to set base mode and so on. Obviously only 10 out of 13 would be possible this way. Of course the keymap would be editable so the user could customize it if desired. This way all 13 entries could be given a shortcut but some would not have one by default. @luboslenco What do you think?

@MathemanFlo also have you considered adding small qol features directly inspired from Substance Painter like for e.g. alt + click allows to turn all channels on a layer apart from the one being clicked

Sorry, don't use Substance, could you desribe the feature or send a link to its documentation? Is this the second idea you mentioned?

MrAdrianPl commented 2 years ago

oh it simply works as ive described back there, instead of beeing force to disable all chanels form a layer user can press alt and desired channel and only the selected channel will be enabled and all other will be disabled. also i have one more idea but it's way bigger one and i would like to dm that first if it wouldnt be a problem for you if it is ill open another request

MathemanFlo commented 2 years ago

oh it simply works as ive described back there, instead of beeing force to disable all chanels form a layer user can press alt and desired channel and only the selected channel will be enabled and all other will be disabled. also i have one more idea but it's way bigger one and i would like to dm that first if it wouldnt be a problem for you if it is ill open another request

I implemented that because it is ultra easy to do and very handy. Did it for layers and for materials. Let me make an example using base color. Now there are two cases:

  1. Base is enabled. User does alt+click -> all others will be disabled, base remains enabled
  2. Base is disabled. User does alt+ click -> all others will be disabled, base gets ENABLED

@MrAdrianPl Is this the right behavior you would like to get?

also i have one more idea but it's way bigger one and i would like to dm that first if it wouldnt be a problem for you if it is ill open another request

In theory no problem at all but why not simply open a feature request in order to let everyone participate?

MrAdrianPl commented 2 years ago

yeah exactly like that, that feature has been introduced already? yeah i can open new request jus wanted to ask if the feature would be possible to implement withiout unreasonable amount of work.

MathemanFlo commented 2 years ago

yeah exactly like that, that feature has been introduced already?

Opened a PR for it. See https://github.com/armory3d/armorpaint/pull/1349

yeah i can open new request jus wanted to ask if the feature would be possible to implement withiout unreasonable amount of work.

Feel free to email me.

MathemanFlo commented 2 years ago

Back to shortcuts: What about Ctrl+F1...Ctrl+F12? Easy to implement, easy to use?

MrAdrianPl commented 2 years ago

hmm tbh i dont know at this point, sine it wont be possible to fit all 13 under any numerical keys i think it would be better to make it into list as you said before and the direct shortcuts could be wthin user decission without default keys set just as an addition to the list. though i would assume that ctrl+f1 and so on, arent that great of a hotkeys since it's bit far distance in between eachothers and keys from f6 would require weird hand angles to acces

MathemanFlo commented 2 years ago

Oki, build what you said. The implementation I tested was: Press Ctrl+m to select mode. A menu appears next to the mouse. Now you can press "b" for base color and so on. Does that fit your needs? grafik Unfortunately I'm not so creative for useful shortcuts. Tried to use the first letters but it's not possible everywhere. So please suggest good shortcuts.

MrAdrianPl commented 2 years ago

i think it would be best to go ctrl + 1 to 6 and alt + 1 to 7 for the rest might not be most optimal one but i dont have better idea rn

MathemanFlo commented 2 years ago

@luboslenco What do you think? I'm not so sure whether pressing ctrl+1,... is conventient as the user already pressed ctrl+m. Are you interested in this kind of feature? Could hand in a PR within one day.

MathemanFlo commented 2 years ago

Why did you close it? It is already implemented. Only @luboslenco has to give some input.

MrAdrianPl commented 2 years ago

oh yeah ive closed it because you said it will be implemented

niedz., 10 kwi 2022, 12:42 użytkownik MathemanFlo @.***> napisał:

Why did you close it? It is already implemented. Only @luboslenco https://github.com/luboslenco has to give some input.

— Reply to this email directly, view it on GitHub https://github.com/armory3d/armorpaint/issues/1347#issuecomment-1094241968, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANIXQ5X5M2CXQ3X47WOQ64DVEKWA7ANCNFSM5RZHTWEQ . You are receiving this because you modified the open/close state.Message ID: @.***>