With all of the hype about Blender Compositor Node system, Fluid simulation, Game Engine, etc. it is nice to see that we don't forget the good old Blender UI! Matt over at his blog has recently published a really interesting menu selector concept which he refers to as Radial (Pie) Menus. This concept is nothing new but it is a very interesting and fast selection mode.
I wouldn't doubt that it will be accepted as an alternate menu option in upcoming Blender releases, but don't just take my word for it! Check out this video:
Radial Menus Demo (.mov)Â (remember to right click and save as)
Read more about Radial Menus on Matt's Blog:
I've been working on a project using Blender over the last weeks and during the last few nights menu access has been increasingly frustrating me. Last year I had an idea for how to nicely integrate radial (pie) menus in Blender, and so during some time in the last couple of days I blew the cobwebs off my high school trigonometry and gave it a shot. It's now mostly implemented and working well so far.
62 Comments
Very very nice.
Continue your amazing work
--name
Hate to ask a potentially old question... but can you guys remind me what codec is needed to watch this? Seems like that information should be linked in any article that contains a video.
ooooohhh. Interesting....
Hey Joe,
For windows and mac, Quicktime 7 is the way to go. For linux guys I think VLC might play it, but I'm just speculating there.
well... according to http://mediawiki.blender.org/index.php/BlenderDev/SundayMeetingAgenda/August_6th_2006 , it and his cool little quick menu are in pending some updates from Ton.
Sometimes it's the little things. Good job Matt.
Thanks for the link Mark! It's good to see that there is a good chance we'll see this real soon!
Dude thats pretty sweet :)
That's what Maya has right now... This might help some users make the switch from Maya to Blender more easily.
I played it with mplayer, but VLC can play h264 videos, too. mplayer and VLC are both available for Windows, Linux and OS X. I didn't test it, but I'm shure xine plays it, too. h264 is a standard codec. mov is not a standard encapsulation format, but everyone hacked mov ;)
Looks very nice and fast!
Is there somewhere a Beta-Version to test this menus? :)
looks cool !!!!
Yeah, this looks like it would really speed up workflow in Blender. And if they implemented user-customizable radial menus, so you could put all your frequently used tools in one place, that would be even better.
A W E S O M E ! ! ! Thankyou so much for the hard work. This is awesome.
Looks really good.Hopefully we see that in Blender soon.
Somehow we always seem to be waiting for GUI improvements to arrive.
I would like to think with the next release we can actually get there.
I don't know how matt earns his keep but perhaps Ton would make him an allowance so he can put some time in and finish it up.
With all due respect, I don't think radial menus work. Worse still, I think they would have a negative impact on the speed of work flow. Sure, it's nice eye candy when done properly, but the very nature of a circle is kind of wasting space. It is fine for eye candy apps like winamp, but for fast workflow, I think the eye prefers to travel up and down verticaly searching for selectable items. The hand tends to make linear motions to select a menu item. This is not intented to start a flame war or something. Altough the following is not really a valid argument, but why doesn't apps like , windows, kde, Office 2003, ACAD, Photoshop, Inktscape, Norton Antivirus etc etc etc have radial menus if radial menus was such a good thing?
I think it is better to futher unclutter the UI and include more visual clues to begin with.
Hopefully, if this is implemented in later releases of Blender, it will be configurable to set different distances between the options; also: what happens with nested menus?
Regardless, I think it's a good idea, at least it allows us some choice in the way we use Blender's menus.
toontje: I am assuming you didn't watch the video... because surely if you did, you would have seen the extreme efficiency offered here. You don't have to actually select it, the widget takes the amount of menu items (for the sake of visualizing it here, i'll say we've got 4 choices), and splits it into 4 regions. So a single vertice in the middle, running to each corner of the screen, in this case, creating 4 equal regions: 25% of the screen for each choice. So you just throw your mouse in the direction of the choice, and click. Simple. This allows the non-experienced user to slow down and read the choices without having to memorize 300 billion shortcut keys, while leaving open the ability for him to develop his knowledge to automatically throw his cursor in the right direction.
This way, the unexperienced user gets his/her menu, while the experienced user gets his/her improved efficiency (and cuts the amount of time having your left hand on the keyboard in half - you'd only need it for modifiers).
Only one thing that I personally would like to see added to this concept, and thats having a similarly-styled box somewhere in the bottom left (or right)-hand side with a brief description of each choice, again for the lesser-experienced user. Because while I personally believe that functionality shouldn't be compromised to accomidate beginners, I don't really see how a little box with a description would inconvenience others...
yes this is the only thing that i miss about Maya after switching to blender, so now that blender's gonna have it, the world is a better place...
Wow 0_o' the speed of modeling is be so much faster with that impliment! Bye Bye mouse gesters.
Is this in the CVS yet? Just wondering..or has matt kept the source all to himself lol.
advs89: not to nitpick but... there's no such word as vertice :)
I think this feature would improve speed in working with Blender but I have a big concern about adding menu items and how that affects your muscle memory. Having to relearn the location of a bunch of widgets to get work done quickly wouldn't get tiresome after a while. I'm definitely curious to see how Matt plans to handle that.
@toontje: In Maya I use radial menus all the time. And in Firefox I use gestures. They are very fast and easy to learn. At first you don't know what going to the left will do and thus the button is shown. But after a while you know what the movement does and it turns into a gesture (without the button flikker I hope, but with a visual feedback on selected item).
Maya also allows radial subitem.
"And let go of the modifier key to select"
I was more hoping of letting the mouseKey go to select.
My favourites would be:
LMB click: select
LMB click and wait: pop menu
LMB drag: border select (lasso, box or paint in header)
shftLMB drag: start translate of selected, stop translate on LMB release (there is undo now)
ctrlLMB click (edit mode): create vertex / extrude selected
ctrlLMB click (object mode): place cursor
altLMB drag: rot view
ctrlAltLMB drag : view zoom (doesn't everybody have a mouse wheel?)
MMB click and wait: pop view menu
MMB drag: view rot
shftMMB drag: view trans
ctrlMMB drag: view zoom (and also left to right, come on guys thats a longer distance!)
RMB drag: radial ((python) programmable) buttons.
RMB click and wait: pop radial
ctrlRMB click: places cursor
shftRMB click: gestures (or ban them)
I'm sure I'm leaving a few unintensionaly out. It's pretty crowded under the mouse.
Good stuff.
Yeah... I definitely meant 'vertex'. The plural for 'vertex' is vertices, so I wasn't thinking and said 'vertice'. Although look through every post on this page, (except your's and mine), and then you can "nitpick" about mine. But I know you were only joking, no offense taken. ;) Oh, and yes, I did spell-check your entire post to see if I could throw it back in your face, and sadly, it passed for both spelling _and_ grammar. Aarghh!!
-advs89
@vs89:
Yes I watched the video, and no I'm still not convinced. And I don't think that Blender should aimed at beginners. Hack, even the simplest of instruments like a guitar (only 6 strings attached on a box) is no beginners stuff. That is what the manual is for. Blender should make it easier for the intermediate and advanced user to work with, and radial menus IMHO doesn't help in this case. Like someone said already: what about submenus? Imagine a maximum of five menu panels layed out across the screen, and lets take 5 equivalent radial menus. When addind more menu items, with rectanglura panels, the panels grow in the length, or you can add submenus. In a radial menu, the circle will get bigger, and that is ust weird. Nope, IMHO it is ust eye candy, nothing more, nothing less. Nice for games, wimamp, educational programs for children, websites or flash etc.
toontje: Im not so sure. Maybe not far all menus, yes, ok, but what about the small ones? Ie the view type changer? Or the extrude menu?
I still think this will speed things up. Although I do agree with you that large menus will be a hastle.
So now you didn't read my post. I specifically said "I personally believe that functionality shouldn’t be compromised to accomidate beginners," (yes Chris, I spelled accommidate incorrectly - I'm sorry!) meaning I _don't_ think it should be geared towards beginners. But it still allows for efficiency, so IMO, _not_ eye candy, its an improved and more streamlined workflow. I'm sure they will leave an option to turn it off for the people who are already used to the old style and don't feel like relearning, but for those who are converting from our closed-source proprietary competitors, it will allow for a smaller learning curve. Actually, I would say that this is the developers' approach at taking a stab at defeating that horrible learning curve. So I_M_HO, Blender _does_ need to get easier-to-use, because whenever you hear about Blender, you first hear about the dreaded learning curve. Plus, maybe if your lucky, they'll even leave the old way as default, and the new way as only an "option"...
-advs89
Aargh... I still mispelled "accommodate"!!!!
Haha, it would be great if Blender supported this:
http://www.cybernet.com/products/navigaze.html
@advs89: There's no such word as "Aargh." ;)
Ha, thats not what Wikipedia says...
--
http://en.wikipedia.org/wiki/Argh
--
Also, that would be awesome if blender supported NaviGaze, although I though my modelling skills was bad before, imagine how it would be after having to use that!
*that's (contraction for that is)
Oh, and my modelling skills _were_ bad before - not "was"... I think I'm going to give up on this proper grammar thing. I'm going to bed now!! Leave me alone!! Oh, and I think Chris must be an English major or something, because noone has perfect spelling, punctuation, capitalization, and all other aspects of grammar in a forum-like atmosphere. No-one (isn't supposed to be hypenated - I know!). Ever. Seriously.
-advs89
That looks amazing. Also, the visual keyboard will be handy for better video tutorials.
Well..now that thats over...Does anyone know if its in the CVS?
@Coby: I think that the keyboard is not part of Matt's new menus but rather a separate OSX application. But yes, a system like this one (preferably one that also shows mouse clicks) would be handy for video tutorial creation.
Hi all!
If you have questions, I recommend you read my original post here ( http://mke3.net/archives/2006/07/radiation.html ) since I wrote a fair bit about it and the design process there.
Toontje: Unfortunately your opinion about what the eye prefers is in contradiction with the literature, research and testing. The human capacity for angular memory is far stronger than that of slightly different scalar distances. I recommend you take a look at the articles I linked to in my post, and also some of the papers linked at http://piemenus.com , they explain it well. As for why they're not in other programs (hehe.. Norton Antivirus, good one ;) they are in many applications, Maya and Modo being two CG apps, but otherwise there's a nice article on this here: http://www.infovis.net/printMag.php?num=125&lang=2
Funnily, while I often consider it important to work on things that lessen Blender's learning curve for people including newer users, that's not really the aim for this project - radial menus are squarely aimed at people who use an application a lot, and can take advantage of the muscle memory.
Chris: I spent a lot of time thinking about the 'adding menu items vs. muscle memory' issue, found a solution, and wrote about it in the original post.
Re. modifier keys, customisability, etc:
Ideally, I want this to work on any key, not just combos with modifier keys. The reason I've only got it with modifier keys so far is due to a limitation in Blender's events system - you can check to see if a modifier key is held down or not, but not for 'normal' keys - holding them down just sends repeated key pulses. I'm pretty sure of a way to fix this, but Jean-Luc will also be working on refactoring GHOST, the low level events manager, and plans to add this capability anyway, so I've just left it on his todo list :)
I'm pretty sure (hope) that with the upcoming events/tool API refactors, it should be very easy to do things like making custom lists of tools that can be used for my toolbar, radial menus, whatever, bound to custom hotkeys or mouse actions. It's not worth attempting to implement that now, since Blender's capabilities for it are not good, and will probably be drastically changed anyway with the refactor.
Re. CVS etc:
I doubt it will be in CVS any time soon. There's still a few things that need to be worked out (like menus with more than 8 items) that I have some ideas for, but I'm really just waiting for the tool api/events work, as with other projects :) I haven't got time to make a patch right now either since there's a lot of extra WIP changes in my source tree that would be time consuming to separate out.. I can probably upload an OSX build of my WIP tree or something, but I dunno how helpful that is, since it's still incomplete.
Anyway, hope this cleared some things up and thanks for the great comments!
cheers
Matt
All I can say is "Awesome." Radial menus are an excellent addition, and I look forward to seeing where this project goes. If I could also make one small recommendation, I'd also like to see color coding added to menu items... Even if it's something as simple as coloring items serially in a Red, Green, Blue pattern, it would aid immensely in finding the correct item faster. Something similar to the Firefox Colorful Tabs extension -> https://addons.mozilla.org/firefox/1368/
The concept is ok but not really new, i renembered Screens of Maya and Cinema4D that using this concept too.
@Bart: please use another nickname here to avoid confusion with me..
blender was a blast to learn from my point of view, there is something mystical about all these darned hotkeys!
But the added functionality would be a good thing I suppose overall.
Has anyone here used the 3d manipulator from Hexagon 2.1? I think that would be a very nice addition to blender. Basically it is a visible icon that allows you to extrude and manipulate a mesh along not just one axis but two!! which is very handy if you need to move one vertices along the x-z axis without changing its y at all. I really think it would be an excellent addition in fact its my only gripe about blender vs other commercial modelers.
Sweet I am definitely definitely looking forwards to this.
Another step towards making Blender the tool of choice.
Hi!
For my own, I use very few the 3D transform manipulators (widgets), because each of the 3 manipulators need to be selected by clicking on the icons at the bottom of the 3D window, and it breaks the worflow... so I prefer to use the keyboard shortcuts R, S, G.
The radial menu is a feature allowing to select tools without leaving the working area on the screen. It seems very interesting and I'm quite sure that I would use it all the time!
Philippe.
I've visited the blog, and seen pictures of radial menus with much more than 3 choices... I think that more selectable choices will lead to be much more careful in moving the mouse, and we could loose the advantages of instinctive use.
I'm quite sure that in order to keep a good workflow, avoiding frequent mistakes, 3 or 4 tools would be the maximum usable.
Philippe.
Matt,
This seems like it could be a great help if implemented properly. Maybe something could be put into Blender's [i] configuration page to choose between radial and linear menus, since there's a bit of opinion as to which is better.
~Peter
About UI:
There's some improvements to be made to UI. But i think the biggest pain in the a*s is the usability of the sliders. They feel too inaccurate to select the value you want (or again too accurate with shift -pressed). It just drives me nuts sometimes.
My 2 cents..
This looks great, would it be too much to ask for redifineable hotkeys tho
I just want to say it again. Take a look at Hexagon 2.1's universal manipulator. It is very very intuitive. I think everyone could find a use for it. It even answers Roubal's concern because everything can be accessed with it.
That along with a radial menu would just be tooooo coool.
I have already customized Blender for myself; I have made LMB the default for select instead of RMB. This I will try out, and either turn on or off. We'll have to see.
What I always find amazing is an open-source foundation publishing almost all of their video stuff in formats unplayable on common open-source platforms ;-)
Horst, i never had a problem playing files under linux, try compiling your own stuff they might work get the sources and compile it yourself then you can be sure it will work, mplayer either binary and compiled for my arch by me plays almost everything and if not there are others for the purpose of it, not only OSS.
Hey this happens to help if implemented like the video and with custom hotkeys like not the modifiers only. there is plenty of room for new hotkeys if desired and implemented in the event refactory.
I was reading the post at the wiki mentioned here and i saw tangent space normal maps - patch already - ton
what is that is there a place where i can find more info about that? if someone knows it i would love to hear, sorry if this isnt in a proper thread but if everyone can complain about codecs in every post here why not ask something that is perturbing me?
i forgot to mention great job :).
@BigM
Maybe a control+shift for what shift is doing now and use shift for something inbetween normal and fine?
Please don't force this one on everybody.
I appreciate that some people like radial menus, but most of us much prefer a simple, straightforward table-like menu, which is predictable in size, shape, and distance between options even before it opens. With normal menus, each item has a similar spacing, and starts in a similar place, no matter what its length -- same for submenus. One simply has to scan vertically for the option required. With radial menus, this just isn't the case: the menu looks different and requires different operation depending on how many items are in it. Radial menu items have different start positions, different spacing, different radial mouse movements, different box sizes for each item, etc. One has to spend time reorienting to each menu that opens before it's useful. That is time LOST, not gained.
Again, please don't force this on everyone. If it can be done as an option, which doesn't create two entire sets of code to be updated, then that's great for the few who want it, and I'm all in favour. Otherwise, please just accept that the UI world has moved on and found other methods more favourable.
Call me old fashion but I prefer hotkey driven menus as they are much faster. I'd guess most of you don't use or hate windoze but it there ARE some good points.
Like Alt-F for file menu and S key for save after the menu is open. Something Blender has lacked for awhile. Along with cutting and pasting for a long time. Maybe rather then reinvent the wheel you should just conform to a standard GUI and tweak it to do what you want/need.
look at http://sourceforge.net/projects/radialm to have a good idea about radial menus.It's an open source program that enable support for radial menus in any program(for windows) and it work very well
Hi ! For my own, I think that radial menu would be a very good thing if limited to 3 or 4 tools in edit mode (like in the demo movie), to increase the modelling workflow. It may be confusing if used with different choices for several features.
For the hotkeys,I have always found that things like Q key for Quit and S key for save are very dangerous. Several times, I have hit the wrong key and seen a warning... in some softwares, there is no warning at all, or hitting two times the same key enables the choice...
This leads to quit without saving, or save something without the ability of undoing bad things or trials...
Philippe.
??? ctrl-q and ctrl-s give a pop-up warning.
Personaly I love quit without save. I set all render output to what I need as a render. I save. I press 25% and do a preview render to see if all textures are okay etc. Then I quit blender. and start a batch.
This way saving a file is a contious action. It's part of the workflow.
No I don't want to save the file on quit. I also don't want to add a cube on quit.
Yes people make mistakes, they quit by accident, but for that there is the quit.blend.
Radial menus can be as deep as other menus are. As default they should offer the same options as pulldown menu's. btw. Maya shows radial and popup at the same time.
http://www.nonakassenaar.nl/blender/mayapop.png
if there was a radial menu pallette that would be nice where you could place your own custom things in it, the tools that you use most maybe. The would be dark when not applicable and highlighted if they could be used from where you were. This way the radial menu could be as large or small as you wanted it to be
VERY sweet, I cant wait for it to be added to blender.....
one one small problem... means learning a new interface..... but that's like saying
"I don't want to learn how to fly an F16, it's too complicated, in stick with me Cesnna."
and besides, the few hours learning the new menus will be retrieved in a few weeks of blending at the faster speed.
Wild Doogy
I hope this feature will be added in Blender 2.5 Cause this menu system is great!