Unnecessary workflow slowdowns and how they could be improved

I’m new to Blender, having worked in C4D, Maya and most recently and currently, mostly MODO.
And while Blender looks hugely promising, there seem to be quite a few curious workflow blockades that make working in Blender unnecessarily cumbersome.

Workflow and UX design is the area where MODO really shines and where Blender could learn from MODO’s example. Now to be clear, this is not a “Blender sucks, make it more like MODO!” thread as there are areas where MODO is severely lacking compared to Blender, which I by the way also point out in the MODO forums.
Just as an example, Blender’s rig and deformation performance is light years ahead of MODO’s.

But let’s get to where I think Blender could work smoother:

First of all, it seems like an unnecessary step having to CTRL+E > Mark Seam for an Unwrap. Blender could simply see what edges are currently selected and consider those as seams. This is how MODO works and it works great.

Secondly, it seems like needless complexity to have two sets of selection modes. In the 3D view we have Vertex, Edge and Polygon selection options, and in the UV Editor we have separate, independent Vertex, Edge, Polygon and Island selection options. Unifying them into one could simplify and speed things up a bit in a way that outweights the disputable benefits of being able to have different selection modes for both views at the same time active. (I for one don’t see where that would ever be necessary).

What are your thoughts on those?

Now something Blender has that MODO doesn’t is the option to show Angle Stretch and Area Stretch. Those seem like very useful tools to have, so thumbs up for those! :cool:
EDIT: Just for the record, I found out that MODO in fact does also have a feature to show distortion in its UVs. Never knew about that before today. Cool! :slight_smile:

While I understand the rationale, I personally don’t always unwrap immediately after marking. And I definitely like retaining the marking so I know where my seams are. That said, it wouldn’t be difficult to write a Python operator that marks and unwraps in a single go. Sounds like a good first-time add-on that someone could write.

If you enable the “Keep UV and edit mode mesh selection in sync” button in the UV Editor, you get exactly what you’re asking for. Without that feature enabled, though, selection remains independent (and that’s a good thing, IMHO).

First of all, it seems like an unnecessary step having to CTRL+E > Mark Seam for an Unwrap. Blender could simply see what edges are currently selected and consider those as seams. This is how MODO works and it works great.

In the Toolshelf in Mesh Options you can change the edge select mode from ‘Select’ to ‘Tag Seam’. Hold Ctrl to mark edges and it also selects shortest path between selections to speed workflow. You also have the ‘Live Unwrap’ option to see effect of adding seams in real time in the UV Editor

This one’s a bit old and too elaborate, but it demoes the live unwrap thingy:

The live unwrap is really great, I use it very often.

Don’t take any video you see about blender as a valid status of current possible workflow.
Live unwrap is possible as explained in previous posts.
And blender can synchronize selection for UVEdit and Mesh Edit mode.
Using L key, you can select any UVIsland defined by UVseams in UVEditor or 3DView in Faces selection mode.
The need to be in faces selection mode is a probably weird heritage that hides the feature.
Maybe it should be 3Dview’s selection mode template that should change.
But faces island selection can be used without synchronization with UVeditor.
It is possible at the moment that UVseams are closing a region for hiding or texture painting masking.

calling a menu and selecting an item now qualifies as an unnecessary slowdown, excuse me will I roll my eyes.

First of all, it seems like an unnecessary step having to CTRL+E > Mark Seam for an Unwrap. Blender could simply see what edges are currently selected and consider those as seams. This is how MODO works and it works great.

In fact, no it’s much better to make a selection and keep it because you can make your seams on the entire mesh and then unwrap after.
Making selection is not good because you can loose your selection and you have to restart the all again if you reopen your soft later.
On Maya you can create sets of selections, you can do this too in blender, but the seams are better.

After, you start blender, it’s normal for you to find some things you don’t like, but, try the blender workflow and you will see how it works.

After² you can use addons like this if you prefer.
http://www.blenderartists.org/forum/showthread.php?352666-Input-Custom-Blender-Setup-Silo-Maya-esque

Thank you - that’s good to know!
Could you tell me thought why and for what situations you deem it necessary and beneficial enough to have selections independent, to a degree that justifies the additional UI clutter and need to manage them? I for one can’t see how the benefits justify the added clutter.

Any unnecessary click is an unnecessary slowdown. That’s how UI and UX design works.
Unnecessary clicks add up over time.

I understand what you mean, but do you seriously ever wait between one Blender session and another (i.e. closing the software inbetween) after you make your edge selections and before you hit Unwrap? :wink:

If you lose your selection accidentally you can hit CTRL+Z and undo do get back to your selection.

MODO also has selection sets (Blender has an addon it seems?) where you can save and later recall selections you’ve made but I’ve never, ever in my life had the need to use them when UVing.

Let me finish this up by saying that I’m very pleasantly surprised by the response here.
I tried to get into Blender years ago but was very quickly dejected by people taking any constructive criticism as a religious offense.
A thread like this would’ve gotten me crucified by the Blender users I encountered back them. It’s great to see that the atmosphere has gotten a lot more relaxed and constructive - and the Blender community seems much more open to taking input from other packages in order to help make Blender a true production-ready package. That’s great to see and something that gives me a lot of confidence and motivation. :slight_smile:

  1. I like to be able to mark seams, I can come back to them that way. It basically lets you easily save the selection.
  2. Strong YES to unify selection mode between the UV and 3D views. (by default)

I understand what you mean, but do you seriously ever wait between one Blender session and another (i.e. closing the software inbetween) after you make your edge selections and before you hit Unwrap? :wink:

If you lose your selection accidentally you can hit CTRL+Z and undo do get back to your selection.

In fact Yes, sometimes I have to quit my job and finish another time, but, the seams are not only to unwrap, you can see them in the viewport and select them in one clic.
After, if you prefer make your selection and unwrap it, you can make a simple script to do that.

For me the seams are really usefull, the live unwrap is really cool, you should test it :wink:

I can often have crazy UVs with a lot of overlapping (using material slots, I may only need to unwrap specific parts of a mesh rather than the whole thing). Then the problem with synced selection is that I end up seeing all the UVs when I only want to see a subset of them. With unsynced selection, I can select the geometry I want in the 3D View (often with face select because it’s faster) and then manipulate just those UVs in the UV Editor (often in vertex select mode).

Also, island selection (L) in the UV Editor only works with unsynced selection.

Now… regarding your desire to unwrap based on currently selected edges as seams, here’s a quick little script that gives you a menu option to do exactly that:


import bpy


def main(context):
    bpy.ops.mesh.mark_seam()
    bpy.ops.mesh.select_all()
    bpy.ops.mesh.select_all()
    bpy.ops.uv.unwrap()


class MarkAndUnwrap(bpy.types.Operator):
    """Mark seams (from selection) and unwrap in one shot"""
    bl_idname = "mesh.mark_unwrap"
    bl_label = "Mark and Unwrap Operator"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        main(context)
        return {'FINISHED'}
    
def menu_mark_unwrap(self, context):
    self.layout.operator("mesh.mark_unwrap", text="Mark seams (from selection) and unwrap in one shot")


def register():
    bpy.utils.register_class(MarkAndUnwrap)
    bpy.types.VIEW3D_MT_uv_map.append(menu_mark_unwrap)


def unregister():
    bpy.utils.unregister_class(MarkAndUnwrap)


if __name__ == "__main__":
    register()

Test it out and see if it works for you. Shouldn’t be hard to make that a proper add-on.

You can continue to edit mesh after editing UVs. In some cases, you are testing addition of faces to model a detail that is present on texture.
You can add loopcut or insert faces in 3dview but just want to correct UVs for vertices.

I can’t imagine doing an unwrap and then not adjusting it, moving seams to a different area and trying again, adjust the model and then re-unwrap, to get the best results. If I couldn’t change my selection until I was completely done unwrapping, and I had to do it all in one session, it wouldn’t really be possible to get good results!

@blurymind I think what you ask has been coded during gooseberry. Shift-H hides all unselected curves, and there’s the normalize feature. To focus on current frame, use numpad zero, to view selected, numpad comma.

[EDIT] Ah, I see what you mean…yes looks like this was not added after all.

There’s a few things to consider when trying to remove clicks from the workflow.

1). Are we really sure the program can be made smart enough to do what the user expects almost every single time?
2). Do we want to make it an operation that is adjustable or able to be redone by the user if the initial results are not wanted (the current method of tagging seams and unwrapping does exactly this).
3). Can it be expanded to account for a large number of uses at once (the more automated you make a tool, the more likely you limit its use cases).

I’m all for intelligent tools and applications, but sometimes it’s quite risky to just have the tool make all of the assumptions for you (as per where it seems some parts of Modo are headed in).

Ah I see. Thank you for looking into it. So it was partially added. All thats left is the ability to toggle on an automatic trigger that executes the command(s) upon channel selection.
Can it be done via an addon? I really miss this simple feature from maya and it seems i’m not the only one.

Sadly no (otherwise, I would’ve added that on my - now ages old - add-on). There’s no Python access to selection events. Would love to have such access though. There’s a lot of fun toys I could make based on the act of selecting a thing.

It works in sync but only in face select mode (i dont understand why only in face mode?)

I see what you mean blurymind, I don’t like Blender’s behaviour with curve selection either. However checking “only selected” in the header and clicking on the curve you want to edit in the list isolates that curve, so it’s close enough.