Modo to Blender Simple Key Config

I just wanted to share my custom Modo to Blender config for any Modonauts out there looking to try out Blender.

You can download it for free from my Gumroad

This is a simple keymap to make using Blender feel a bit more like Modo, while still retaining the vast majority of default Blender 2.8 keybindings so that tutorials are still easy to follow! It’s mostly just navigation and selection changes to bring things more in line with the Modo way.


This is for Blender 2.80 and above! I highly doubt it will work as intended with 2.79 and below, but you are welcome to try or use this as a reference to create your own.

If you are installing on a version newer than Blender 2.80, the install will be the same except that the 2.80 part of the install file location will need to be changed to the version you are using, so the 2.81 instead of the 2.80 folder for example.


Some notable features are:

• Middle Mouse select through lassos

• Right Click Selecting Lassos

• Space bar to “drop the tool” functionality

• Modo Viewport Navigation style

• Paint Selecting while holding ctrl or shift with left click drag

• Custom Viewport Navigation Pie Menu with the buttons in the places they are in Modo

• Default render engine set to Cycles instead of Eevee to be more in line with default rendering behavior of Modo’s F12 box rendering and viewport preview render. (I found myself changing it from Eevee to cycles a lot, but instructions on how to change it back + a variant with Eevee as default are included)

• Backface Culling Enabled by default

• Clip distance set as low as possible as default, so stuff doesn’t get culled out of view when navigating the viewport, namely when getting very close to meshes


Notes:

GPU RENDERING NEEDS TO BE ENABLED FOR CYCLES IN YOUR PREFERENCES . You will need to go into Edit>Preferences>System and either enable Cuda (Nvidia GPU) or OpenCL (AMD GPU) if you want to use GPU rendering in cycles. By default, this config will only use your CPU if you don’t select one or the other.

• I made this as a config instead of a keymap because as a config this will auto update itself with any new and/or changes in the official default keymap in Blender.


Keybinding Changes Notes:

While most of the changes are just navigation and are not worth mentioning if you have Modo muscle memory, here are some of the notable keybinding changes that you should be aware of:

• Since the WER keys had to be rebound to the move, rotate, scale tools, I rebound their default functions to be a double tap of either the E key for Extrude while in edit mode or a double tap of the R key to activate the tool handless rotate tool of blender. I did not do this for the W key which swaps your selection method by default because it just bugged out completely when sharing the first press with the active move tool.

• Moving the Cursor around had to be rebound from the default key of Shift+Right Click & Drag to Shift+Alt+Right Click & Drag because the default one obviously conflicted with the lasso select being bound to Shift+Right Click & Drag

• A lot of the space bar key combos have been changed to make everything work while fitting in most of default blenders functionality:

 1. Space bar: Changes selection method to just be "select".  This essentially replicates Modo's drop the tool functionality.

 2. Ctrl+Space: Custom Viewport Pie Menu with buttons in the same location as the Modo one

 3. Alt+Space: Play/Pause Animation forward

 4. Ctrl+Alt+Space: Play/Pause Animation in reverse

 5. Shift+Space: Search Menu Popup underneath mouse

 6. Shift+Ctrl+Space: Active tool sidebar list popup underneath mouse

 7. Shift+Ctrl+Alt+Space: Fullscreen active viewport with UI elements on

Version Changes:

v1.1 - Curves, Metaballs, Armatures, Lattices, and Grease Pencil should now all have the appropriate W, E, R, spacebar, circle select, and lasso select on right click & drag keybindings bound in their respective edit modes, or as close as they can be. They were not changed at all in the initial release.

v1.2 - Rebound moving the Cursor to be Shift+Alt+Right Click & Drag. This means that you can properly drag the cursor around and easily snap it as you can in default blender, instead of the bad workaround I had before where you could only place it by clicking and the snapping didn’t work. Thanks to @Steve_White for the idea to fix it!

And the UI had changed slightly in 2.81, they added an additional toolbar at the top of the viewport. I had to recreate the startup.blend file with the new version of blender for it to appear because the old one was created within 2.80.


Bugs:

• The active tool Box Select (The one activated in via the “T” left side bar) is basically disabled and doesn’t function. You can still activate the box selecting with the B key though.

• My paint select workaround involves temporarily activating a small circle select tool while holding down either ctrl or shift with left mouse button drag. This can sometimes cause some unwanted behavior in some very specific situations.

• While not a bug with the config I’m including, there is a reason why I am not including a Box Select instead of Lasso Select version. There is a bug in Blender where if any form of the Box select tool with the add or deselect modifier are bound to Middle Mouse, it will not let go when you release the middle mouse. This happens with the default tool and the original Heavy Poly Script. This is not an issue with Lasso Select bound to Middle Mouse.

There are probably a few more quirks, but for the most part it works surprisingly well!


Huge shout out to Brent Alleyne (@Brent3d) from Alleyne Studio for inspiring me to create this because of his old Blender Lightwave/Modo config he made back in the day for 2.7x. His config not only was a source of inspiration for me, but it served as a point of reference for how to create some of the functions in Blender to work like Modo. I would have never made this without him!

And another huge shout out to Vaughan Ling (@Heavypoly) from HEAVYPOLY for creating the Border_Select_Through script in his Blender Config that I used as the base for the Lasso Select variant in my config. I wouldn’t have been able to create this without him!

3 Likes

This is very interesting! I’m also currently using Heavypoly’s Select_Through script, so I’m curious to see how your variant works. Also, have you looked into Raycast Select by @Darcvizer instead of a tiny Circle Select?

Might want to pop into the Modo to Blender discussion to mention your config :smile:

3 Likes

Great job! and thanks for the shout-out :+1:

Thanks! I meant to send you an email about it privately before I released it, but I figured you’d see it via the mention on here ;). I would have never even know this was even a possible if you hadn’t made yours back in the day! And It’s cool to see you posting on the E-cycles page too, small world haha.

1 Like

Thanks for the suggestions! It’s nice to see I wasn’t that only one that was interested in something like this.

The Heavypoly’s Select_Through script lasso selection variant I’ve included in my config is literally just my 3rd grade level of python coding swapping out all the border select stuff with the lasso version. Luckily the rest of the script just worked when I swapped them out!

I wish I had known about you a few months ago, would have saved me a lot of headaches lol. I’ll PM you sometime soon, I’m very interested in the scripts you’ve made

Is this working in 2.81? I can’t get the lasso to work as it did in 2.8.

Yup, it’s still working! Just make sure that you install all the files into the 2.81 folder equivalent path instead of the 2.80 folder you used originally. The path changes whenever Blender does a version number update unfortunately, let me know if this fixes it for you!

Yes, sorry David, my fault. I forgot to add the startup folder before adding the python scripts.
Just for future reference, is there a preference to allow for this type of lasso behavior to select front facing or back facing polygons in the keymap section? Coming from Modo myself, I just wouldn’t want to lose this type of functionality in the event the scripts are no longer supported one day.

The only way to get back facing selections included by default is to manually enable the " X-Ray " toggle in the top left of the viewport, make the selection, and then manually turn it off. All the script does is kinda automate this process by toggling X-Ray mode on and then off again after you release the button.

@Darcvizer has his own script that does the same thing too, so I guess if mine ever stopped working and wasn’t updated, his might still work.

But I’m in the same boat as you as far as not wanting to lose it, so if this ever stopped working for some reason, I’ll try my best to get it working again and update the download.

Yes, thanks David, I knew about toggling X-Ray mode on or off for backfacing selections or wireframe but really find it to be a big deficiency in Blender to not have this functionality natively. Coming from XSI as well, its just hard to work without it, at least it not being a pain in the ass.
Anyway, I appreciate the scripts, they really helped ease me into Blender.

1 Like

Hey David, one thing I discovered was that now with this keymap, you’re losing an important function and that is shift right clicking to position the 3D cursor. That still works but you lose the ability to drag the 3D cursor as the right click button is now set to do a lasso select so as soon as you go to drag the 3D cursor (say to snap it to a vertex or edge), it begins to lasso instead.
Would you have any suggestions for adding this functionality somehow or maybe adjusting the keymap in some way to accommodate for this?

EDIT: I see you mentioned above suggesting to use the cursor from the toolbar but that takes you out of your current transform mode which isn’t ideal.
Thanks!

Yeah, I wasn’t sure what to do with it at the time, and I wasn’t pleased with the workaround I ended up with… But you sparked an idea and I took another look at it!

I’m happy to report that I have updated the config to v1.2, and that I have rebound the default behavior of Shift+Right Click & Drag to be Shift+Alt+Right Click & Drag, which means it functions exactly the same as default blender!

Let me know if you encounter any conflicts with the New Keybinding, I guess I just didn’t see this keybinding as open when I was making this. It seems perfect for it, which has me a little paranoid I’ve broken something lol

David, that’s great, thanks for that! I’ll give it a try!

EDIT: hmm, its not working for me here. shift right click is able to position the cursor like normal, but shift + alt + right click and drag is still making a lasso, not moving the cursor.

Ok David I downloaded the file again today and now it appears to be working.

Thanks again.

1 Like

Thank you. Select_Through_Lasso.py already worth it. If someone doesnt want to use any additional modo stuff just try this script alone.

1 Like