Customization questions from a Blender-curious 2d/3d artist.

Hi all,

This is my first post on this forum and therefore thought I would give you a little bit of a background before diving into questions. Feel free to skip this introduction below if you find it irrelevant.

***I have been working in the game industry for close to 10 years now, taking on 2d and 3d tasks ranging from concept art to real time lowpoly modeling, texturing, and high resolution sculpting. During that time I’ve had the opportunity to train myself, be trained and train other artists in many different tools and authoring environments : Max, Maya, Zbrush, Mudbox … and a plethora of others.

I kept an eye on Blender throughout this time but never quite had the chance to dive into it ; like many other CG artists I regularly downloaded builds of the program out of curiosity, gave them a quick spin, but never found the time to get past the initial apparent oddity of the user experience. However I stayed in contact with a former coworker who did the switch to Blender, and this allowed me to keep tabs on the interesting development of the program.

It just so happens that I now have some time on my hands to finally explore Blender at a relaxed pace. I am not hoping to turn it into Max or Maya - I am simply curious about what it has to offer, and I in that context I want to evaluate it fairly from a feature and UX standpoint, especially in the light of other programs becoming increasingly obsolete and ridden with glitches and bad design decisions.


Now on with the questions ! I am using 2.71 and 2.72.

1 - When editing keyboard shortcuts to fit my needs, I somehow managed to break the Object/Edit Mode toggle (which, iirc, is originally bound to the Tab key). What surprises me is that even after temporarily switching back to the default Blender keybindings, this did not seem to be reverted, which prevented me from investigating the issue. Where is this function located in the Keybinding list ? (either the name or the python name would help me find it). The feature itself has not been removed (I accidentally set it to left click), but for some reason I cannot locate it.

2 - In the User Preferences panel I notice that there is an option to set the Dolly navigation “driver” to be vertical or horizontal. Is it possible to set it to both ? As a Tablet/Cintiq user I am often relying on sweeping arm movements for zooming in and out, and I find that having zoom/dolly driven by both screen axis creates a pleasant and fluid interaction. This is not a deal breaker in any way - just something I noted as a possible area of improvement when playing around with the viewport controls.

3 - I noticed that the blender tools are all python commands, which leads me to believe that creating brand new keybindings would be very easy (copy command - create new custom key binding, done !). However I could not find a way to create my own category of bindings - every time I press “Add New”, the newly created keybinding seems to become a child of the currently expanded category. Is there a way to create my own ? Also, each keybinding created with “Add New” seems to receive “A” as a default key. Is it possible to avoid this behavior ?

Thank you in advance for your help ! Sorry for the verbose post - I felt like it was necessary to be as clear as possible.

Just solved #1 by running another build of the program, thus getting access to two sets of user preferences. (it was under Object Non-modal > Set Object mode).

Still very curious about #3.

Thanks !

  1. object.mode_set
  2. No
  3. Easiest way is to right click on a button/menu item and choose add shortcut, can also change a shortcut that way. But there are items that can’t be set that way (such as many functions on the 3D view header or 3D view properties) and setting a hotkey for those takes some research to find where those are in the API.

You don’t want to make your own input category because hotkeys are mode and context sensitive (curve, edit mode: alt+C = Cyclic, object mode: alt+C = convert) and it matters where you put the hotkey in the input section. The default hotkey is A when adding a new hotkey, which is fine to me because the biggest problem in setting hotkeys is that Blender already uses most of the keys multiple different ways on a full keyboard, so there aren’t many left. Blender also doesn’t warn if some key is already in use, and if you place it in the correct input section you can check that section and find out appropriate free hotkey.

New pie menus functionality in 2.72 might help using Blender with a tablet. Perhaps check that out. http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/UI

Thank you for your answer JA.

  1. I actually already solved this by the time of your reply, but unfortunately the new user policy of the forum prevented my post from appearing. Still, thank you for taking the time to answer.

  2. Gotcha. Not a big deal - I’ll just have to look into suggesting this to the devs. This is probably something that only a subset of the users notices (lefties probably) but it might be worth addressing.

  3. Thanks for the precision. I actually do not mind the absence of a warning ; it seems a little bit dangerous at first but it somehow makes sense since there is always the “restore” and arrow buttons to help the user know what has been changed.

I have heard about the newly added pie menus through users being very excited about them on other forums, but I am fine with embracing the default legacy UX of the program first. I generally tend to use on-screen popup menus in other program as a way to store my secondary shortcuts ; I like my primary ones to be keyboard-based, and this is what I intend to focus on for now. The less visual clutter the better.

Pie menus are designed to support simple gestures. You get up to 8 “main” buttons: left, right, up, down and in-betweens. Quick swipe towards a button right after activating the menu presses that button. So with practice (as the memory kicks in) you even stop seeing the menu itself. That’s almost like having up to 8 shortcuts on one key, and no real “clutter” (unless you forget which way to swipe, of course).

Custom menus can also contain regular buttons, which lends to ease of access to functions that are otherwise buried in menus with no hotkey assigned.

Thanks for the added details Stan. I am actually familiar with flick-friendly pie menus - Maya’s Hotbox works the same as there is no need to pause for the pie input to be registered, which essentially turns the onscreen menu into a rather in-depth gesture environment (with the added benefit of the entirety of the program features being mirrored inside the main spacebar Hotbox). I just tend to rely on it only for secondary shortcuts.

I didn’t know that Blender had custom menus as well. That’s interesting as this is where I would eventually put my tertiary shortcuts.

Good stuff :slight_smile:

Hello again. Since my last post I have been able to dedicate some time to the program and thanks to an excellent introduction tutorial I am happy to say that I am now quite comfortable with it. As a matter of fact, some parts of my workflow are now completely taken care of in Blender which goes beyond my initial expectations !

However and quite expectedly there are a few things that I would like to streamline further or correct. I hope that some workaround exist.

The first and main issue I am facing is the click-drag distance tolerance. I enabled “Release confirms” in the editing preferences, which greatly speeds up my workflow, letting me drag objects and components in a fluid and intuitive manner. However, I notice that when I perform a click-drag operation there seems to be some kind of built-in safety distance preventing unwanted transforms. It sounds great in theory, but in practice this is actually hindering me a lot when editing objects at the component level (verts/edges/faces). I would say that this safety distance is of approximately 10 pixels or more. Here is a recording showing this behavior :

Now here is the same feature implemented in 3DSMax 2010. The safety distance is of a few pixels (maybe 3 or so ?), and it feels quite fluid :

Lastly, here is the same thing in MayaLT2015. Oddly enough Maya doesn’t have any concept of a drag safety distance, which is actually a problem because it makes it easy for the user to indadvertedly move an object when selecting it while in Move mode. It is very fluid, but a bit dangerous.

With that in mind, I would like to know how to reduce this safety distance in Blender down to a more reasonable value. And if not possible, I would love to hear how you guys work around the issue.

Thanks a lot !

The “click and drag” event in Blender is called “tweak”. Its threshold can be adjusted in User Preferences -> Input -> Tweak Threshold.

Thank you so much - this was exactly it. And it turned out that the default was set to 10 pixels, as suspected :slight_smile:
Now on to my other questions …

- Off-hand component dragging

By default, the main mouse click (left in my case) allows for what I would call off-hand screen-space component dragging (as demonstrated in the videos posted above). However I do have a strong muscle memory of performing this with middle mouse coming from other CG software. Since middle mouse doesn’t seem to be used much by Blender, I would think that it would be possible to have both the main (=left) mouse button and the middle mouse button trigger this function. Would anyone know how to set this up in the input editor ?

- Jumping into mesh edit modes at the press of a single keystroke.

By default and if I am not mistaken, Blender requires three actions from the user in order to reach the components of an object (verts, edges, faces) for editing. The first step is to enter Edit Mode (Tab) ; the next step is to bring up the component selection popup (as Blender puts it, “Mesh select mode”) by pressing ctrl-Tab ; and then the final step is picking the desired category of components to be edited from the list.

http://img.photobucket.com/albums/v242/pior_ubb/2014-11-0301_19_41-Blender_zps3ffc4dfb.png~original

As you can see I already took some steps to streamline the second part of this process into a single action instead of two, by assigning direct shortcuts to these different modes. However I would like to also streamline things further by getting rid of the first step altogether. Is there a way to create a macro or a keyboard shortcut assignment letting me jump straight to the components of an object without having to press Tab first ?

Thanks a lot in advance.

Here is another question.

- On resetting the 3D cursor to origin

By default the shortcut to reset the 3D cursor to the origin of the scene is shift-C. It is of course an extremely useful function, but I have two problems with it.

1 - Is there a way to reset the cursor to 0,0,0 without having the camera automatically frame it ? (framing an object = centering the camera on it). It is an interesting behavior and certainly useful in some cases, but in my personal workflow this is slowing me down and distracting me.

2 - The default shortcut being shift-C is an issue for me. I would like to set it to something else - ideally, to one of the extra buttons found in gaming mice, like so :
http://img.photobucket.com/albums/v242/pior_ubb/mousebutton_zps2df0d58d.jpg~original

However I have been unable to locate shift-C in the list of default shortcuts, making me believe that it is hard-coded somehow. How may I work around this problem ? And is it possible for Blender to take use the extra mouse buttons ?

Thank you for you time.

(On a side note, sorry for the multiple posts - I am unfortunately still under the 10 post verification limit, which prevents me from editing my posts. This is honestly a very annoying system as it constitutes a very strong barrier of entry for any new user turning to BA for help. I think this is in urgent need of being addressed.)

Middle mouse is used quite heavily in default set up. But if that is not so in your case, it is indeed possible. Do a search for “Translate” in input editor, and you’d find shortcuts for that operation in various modes, so you can see how it is set up. The one you’ll need is one that instead of a key has a “Tweak” event triggering it. Create similar mappings, but simply use the “Tweak” “Middle” for trigger.

- Jumping into mesh edit modes at the press of a single keystroke.

Is there a way to create a macro or a keyboard shortcut assignment letting me jump straight to the components of an object without having to press Tab first ?

For newly created objects, there’s an option in User Preferences -> Editing to jump straight into edit mode. However, in general (editing existing objects) short answer is “not really”. Blender is modal and is best used with that in mind.

Long answer:

  1. Using the outliner, you can go directly into edit mode of an object (and switch between edit/object mode) by clicking its mesh data:


  1. Theoretically, operators that perform such switching could be created with Python. But I’d personally never do it myself, nor advise anybody to use such scripts were they created. Just like the 3D cursor, modality is a feature that is best learnt and embraced, not shunned.

1 - Is there a way to reset the cursor to 0,0,0 without having the camera automatically frame it?

Look in the menu Object -> Snap (in default setup this can also be brought up by shift+S). There is an option to snap cursor to center there. If you want to set a direct shortcut just for that operation, the operator is called view3d.snap_cursor_to_center.

However I have been unable to locate shift-C in the list of default shortcuts, making me believe that it is hard-coded somehow. How may I work around this problem ? And is it possible for Blender to take use the extra mouse buttons ?

It is not hard-coded. Do a search for “View All” in input editor, and you’ll find it :wink:

As for extra mouse buttons - I’m not sure. Never had multi-button mice.

PS. By the way, regarding mesh selection modes. I don’t know if you’re already aware of this: you can have more than one active at a time by shift+clicking additional components either in that ctrl+tab menu or in the header of 3D view.

not really, 3d cursor adds functionality to an interface, modality takes away. Modality makes the mistake of other signs of bad design of assuming that it know whats the best workflow for the user. In the end it slows down the user adding extra steps to move in and out of modes making the application less efficient.

I advise people to learn and use python to create their own workflow, Blender is extremely scriptable and customisable and there are many great addons because people have experiment with different workflow concepts.

Modality brings with itself granularity. How would you propose to have object manipulations, mesh editing, various painting and sculpting, rigging, posing and animating, all without some kind of modes (tabs, switches, you name it)? A giant mish-mash of everything right there in the viewport? How is that useful or more efficient? There are only so much buttons on the mouse and keys on the keyboard. Manipulating objects and hierarchies is quite different from vertex pushing or texture painting, to the extent of default mouse/tablet actions.

it depends on the task at hand one solution to removing modality is context sensitive UI, that means shortcuts , menus etc are dependent on the selection instead of being global. There plenty of articles online about modality and what are the alternatives. 3d apps are hardly the only applications out there that are very complex.

Fantastic, thank you all so much for the replies and detailed instructions.

I now have the offhand middle mouse drag fully working, which is a great companion to the regular left mouse dragging. I can also confirm that the extra mouse buttons are supported as I now have one button set to bringing the 3d cursor back to 0,0,0, and another one triggering the box/marquee selection mode. It’s extremely useful - Stan, I would highly recommend you to pick up an advanced mouse to give it a try (and it’s good for games too :))

- On the subject of jumping straight to mesh edit modes

It’s great to hear that this is potentially doable through scripting. This is of course not something I can attempt right now (unless there is a macro recorder that I am not aware of ?) but I will certainly give it a try in the future. I am not sure to understand why one would think that this would be incompatible with the “modal” nature of Blender though : all I am talking about is a macro triggering object mode and then entering a specific component type. I am not hoping to bypass the notion of “modes” altogether - I just want to get there faster, to save precious time and prevent unnecessary user inputs.

I am indeed aware that it is possible to stack component modes (verts+edges for instance) but I am not using this feature at the moment since I do not know of any scenario where it would be useful for my workflow. I will certainly explore it though.

Besides that … I have a few more questions.


- Connecting edges

Blender has a tool to connect vertices (default shortcut being “J”). However I also need to be able to connect edges through their middle point in a single input, like so :

http://img.photobucket.com/albums/v242/pior_ubb/Blender-edge-connect_zpsmuakdonm.gif~original

This is of course different from inserting a loop, and it is a very useful tool to have when building lowpoly game meshes. Any idea on how to do that ?


- Unified shortcuts for dissolving and deleting components

I am running into another workflow optimization problem when it comes to removing and deleting mesh components. I actually appreciate the fact that Blender offers a lot of different options for this, but this is another area where I would like to accelerate the default workflow, this time by wrapping multiple functions into a single key input depending on context. More precisely, I would like to group all delete actions under one hotkey, and all remove(=dissolve) actions under another.

I actually attempted to do so by assigning the same hotkey to multiple functions, hoping that the context-sensitive nature of Blender shortcuts would sort it out, but unfortunately that didn’t work :

With this setup, Delete Face(s) and Dissolve Edge(s) both work ; but these two functions seem to override all the others, and I cannot dissolve or delete any other component types. Now of course it would be possible to assign 5 different shortcuts but that’s obviously not an acceptable solution. How do you guys work around the problem without having to resort to the the extra step of bringing up a popup ? Surely enough it should be possible to script something that looks at the component type being selected and then operates accordingly.


- Texture and material removal

This last point has been really puzzling me. I imported an .OBJ mesh and was pleasantly surprised to see that Blender picked up the corresponding .MTL perfectly ; the model appeared with all its materials properly assigned. However I am running into an issue which I think is a bug. When I duplicate some faces from this model to then work on a separate part (for instance, duplicating the surface of a shoulder to start working on a shoulder pad), I am then unable to remove the texture from that newly created mesh. Now I am not fully versed with the unique Blender approach to materials (they seem to be part of the models themselves rather than being pulled from a scene library, if I am not mistaken) but I think I took the necessary steps to remove the texture from that part - yet it still shows.

This first model is freshly imported. Everything looks fine, and the texture shows in the material tab as expected :
http://img.photobucket.com/albums/v242/pior_ubb/2014-11-0323_29_43-Blender_F__Dota2art_Bloodseeker-DropsofAncientCrimson_Blender_BS_blockou_zpsc539136b.jpg~original

This second model also imported properly (from the same .OBJ file) and still looks fine, but as you can tell the texture preview is blank. This is probably due to a manipulation on my end, but it is strange to me to see that the preview sphere is inconsistent with the model. Is that a known bug ?
http://img.photobucket.com/albums/v242/pior_ubb/2014-11-0323_30_07-Blender_F__Dota2art_Bloodseeker-DropsofAncientCrimson_Blender_BS_blockou_zps8a366f29.jpg~original

This last model is a part being worked on. I tried everything to remove any trace of a texture material, and the sphere preview reflects that ; however, the texture is still showing on the model. This really puzzles me :
http://img.photobucket.com/albums/v242/pior_ubb/2014-11-0323_30_20-Blender_F__Dota2art_Bloodseeker-DropsofAncientCrimson_Blender_BS_blockou_zps0ac26fff.jpg~original

                  • -
  • Project folders

Lastly, is there a way to define project folders in Blender ? The idea would be to point to a folder anywhere on the computer and tell Blender to use it as the root of the current project (meaning that a project can then be moved and shared easily). On top of that, at the moment I am a bit uncomfortable with texture assignments in Blender as I am not sure if they use relative or absolute paths.


- Confirmation popup on object delete

Is it possible to get rid of this altogether ? I don’t really understand why it is here in the first place, since there is always undo to do just that.


That about covers it for now :slight_smile: Thanks a lot for your time !

created by ishidourou

you might be interest in this plugin called ( quick origin ) this is really useful plugin …
very useful in quick assigning the pivot and reduces the steps from using call menu

since most Modifiers need to use pivot in correct place for Example Mirror …

try this

http://i.imgur.com/5rrePRH.png

if you want to assign individual

Yeah, that’s what I have been doing - the problem is that I would like this to act as a global delete (true for either verts, edge or faces), as opposed to having to assign multiple shortcuts to each like you have here.

Another question :

- Toggle select backfaces hotkey

Is there a way to assign a hotkey to this switch ? I cannot seem to find it in the input list …
http://img.photobucket.com/albums/v242/pior_ubb/2014-11-0400_28_57-Blender_F__Dota2art_Bloodseeker-DropsofAncientCrimson_Blender_BS_blockou_zps13cbea72.png~original

Thanks JA, that seems to be it. However, how do I locate this in the input list ? The only points of entries I know of are :

  • Knowing exactly where an input is located in the hierarchy of list (for instance : Window > Open Blender File)
  • Knowing the name of the function as listed in the input list, and entering it in the search box in “Name” mode (in the example of file>open, I would just type “open” and look through the list until I find it)
  • Knowing the default shortcut, and typing it in the search box in “Key-Binding” mode (in this case I would type O).

However I do not understand how to locate the space.data.use_occlude_geometry command function you are referring to. When I look under 3D View > Mesh, I can find two existing “context toggle” entries but none of them relate to the occlusion toggle. How did you get there ?

And, more generally, what is the actual chain of event to locate a specific function in the inputs list ? All I know from looking at the little UI button is that it launches “Python : SpaceView3D.use_occlude_geometry”. How do I go from this to finding this function in the input list and then assign my desired hotkey to it ?

opps my bad i ddnt read… ive search this function as well
if you select vertex , edge or face and hit delete it will delete depends on the selection

in the end … i still not find this function thats why i ended up assigning those 3 keys
i hope someone can confirm this function if its possible or a plugin that is already exist can do this function