Improving upon Blender's limitations

Good morning everyone. I am a modeler who uses Blender to work. Usually I realize objects for interior scenes (so by furnishing to electronics). My office instead uses 3DS Max and V-Ray for the realization of the final scenes, and even I use them. And so it often happens that I wonder: if I wanted to do the same things with Blender, what are the alternatives?

Sadly, I realized that many things are very difficult oor imposible to do in Blender with the same ease, in spite of 3DS Max is a very heavy, slow and bugged software. Blender is great for the realization of individual models, and even for animations, but becomes deficient in the management of complex scenes and complex projects. So it needs a more professional tool.

So the reasoning I made was this: a more professional software attracts more professional users, and more professional users lead to more consistent donations.

So I decided to conduct a study on how to implement those 3DS MAX and other programs’ features that allow me a better management of the scenes in Blender. In addition, I also put some personal ideas for new features that I find useful for faster work.

Here the proposals and their explanation (please read before voting):
https://rapidshare.com/files/134751811/Professionalize_Blender_Part_1-INTERFACE.pdf
https://rapidshare.com/files/1851157547/Professionalize_Blender_Part_2-TOOLS.pdf

Unfortunately I’m not a good enough programmer to develop these functions (and also I know very little math). But I can be considered as a tool designer. That’s the reason I want to publish my study here at BlenderArtists, in order to collect opinions from many users here and then plan the development of the most appreciated features. It may needs to distribute the work to various programmers, and organize fundraisers to meet their development, but it would be already a big step to know the objectives.

Now I ask you to read both PDF and vote on features that you find most useful (you can vote more than one option). In addition I would also like comments about each proposal, using their numbers to identify them, like so:
PART 1
1)Good!
2)Yes, but in this way…
3) Useless!

PART 2
1)Nice!
2)Don’t know
3)You can already do this way…

Thank you for the attention and Happy Blending!

“Blender is great for the realization of individual models, and even for animations, but becomes deficient in the management of complex scenes and complex projects. So it needs a more professional tool.”

I used Blender for relative big games to creating big levels with thousand of objects.
For example: http://etyekfilm.hu/makingofignite/

Can you show your work?

Ah most of your points are easy to make and modify in Blender…
Can you use Blender???

You are like a mindreader.

What do you mean? Do you mean if I can do things like this
http://i1215.photobucket.com/albums/cc509/Lell86/Lamborghini%20Reventon%20Model/th_lambo.jpghttp://i1215.photobucket.com/albums/cc509/Lell86/Lamborghini%20Reventon%20Model/th_Scenacampi.jpg

or this
http://i1215.photobucket.com/albums/cc509/Lell86/Challenger%202%20modeling/th_Challenger2MainBattleTank.jpg
Well, I can. If you know ways to do some of the things I proposed without big workarounds please tell us! Maybe with some of this features you developed your game in less time, which means “professional”.

I see where you’re coming from but the wording is slightly incorrect.

Blender, or any software for that matter has the potential to be ‘profressional’ software, if a person makes use of it for commercial gain then it has basically met that object.

Now with your suggestions I think a better title would be ‘Improving upon Blender’s limitations’, as some of these are limitations to Blender.

A few of them I would like to see, such as coloured wire frame mode, this would allow for easier management of complex visual scenes, I remember a few objects about this were ‘It’ll clash with pre-set colours, i.e. with ‘groups’ and so on’ A bad excuse not to allow it, but that is what was given and I believe that is what has stuck. I do believe at some point there was an add-on but I cannot find it anymore.

Anyway I would say change the title, and then you may get a few more replies etcetera.

Thank you for your opinion! Title changed.
I want to precise that I don’t came from 3DS MAX or other. I first learned 3d graphic with Blender, then I HAD to learn MAX to work in that render office.
And sorry for my bad english! :smiley:

As a scripting animator, I don’t need any of those things in the list. What I would like to see is the API locked down and working.

Being able to make changes to bpy.data in an event handler without Blender crashing during render is the #1 priority. I would trade everything in that list to have that one thing working. This effects us all, especially when you start using external render systems that are driven by event handlers.

does anyone know how to create a hotkey for “lock camera to view”?

SpaceView3d.lock_camera

but where do you put it?
and any tips on what keys are available and what would be logical?

numpad 0 is camera view
Ctrl+Alt+0 points the camera at stuff…

so maybe
shift+0 or something unless that is already taken?

Part 1
1)you can zoom in a 2DView but maybe it could be like in Image Editor Scopes region.

2)I don’t care.

3)I am against this. It is not a good idea. There are already modal keymaps for tools and intensive use of it. Actual way is to use alt, shift or Ctrl as a modifier to access an other mode of the tool. It is faster than an global tab key switch. I think this modification of keymaps will be more confusing than helping. It is not a good way to help people to learn blender tools. When you don’t know what to use menus is a better solution to show all existing alternatives.

4)OK! but more discreet than in your mock-up. a little symbol or “lock” message in a corner of camera.

6)I would prefer a cycles render border.

7/8/11)OK

9)You are blending to much ideas in one point. Global outliner settings is not very interesting for all items and it depends of outliner view. It does not make sense to hide or to freeze your whole blend or to render nothing. Actually you can change these settings once, for a group of objects. I would prefer same kind of solution for a scene.
Object Wire Color is a recurrent feature request. I think it should simply be object color. IMO, it should not be set in outliner but in Object properties or in item panel in View properties.
I also think that object’s renderability options or viewport display options should be in this item panel.
Your proposal of material, textures modes could be satisfied by current “datablocks” view or future asset browser editor.
I like the idea of a layer manager view in outliner. I think that actual “visible layers” view is not enough.

10)Your first proposal is in svn trunk. I dislike it and I don’t think your second proposal is better. Because last settings are not always user preferences.I think 3 buttons are needed. One to keep settings in memory or in a .py file and use them as default. One to reload blender default settings. One to reload settings in memory or in a .py file.

12)Operator exist, you can give it a shortcut. There was one in previous releases. Ask devs why it was suppressed.

14)Useless. You can edit your mesh in local view or change others objects display to bounds.

Part 2

1)From a FOSS foundation, I prefer an investment in FOSS software development. IMO, the Vray add-on should be financed by Vray Users not by people who give money to develop FOSS.

2)There are already “Object -> Transform->Align objects” tool (use it with View->Align view menu), “3DView->Simple Align” add-on, “Align to transform orientations” tool. You can copy location values. I am used to scale to 0 with the manipulate objects center only and snap 3Dcursor or objects to target if needed. It is really more intuitive and faster. You don’t have to check four options. IMO, more than an advanced align tool; I only miss a Scale to dimensions tool with numeric value.

3)It is because axis used by texture space are object’s axis like autotexture space is based on object bounding box. I don’t care to rotate a geometry in edit mode or to rotate a specially created axis gizmo. I am terribly missing a 3D display that supports Projections of Generated Coordinates. -> 5)

  1. OK for the idea but not for changing view keymaps. Instead change tools modal keymaps using middle mouse buttons.

5)+ 1000. In 2.49, Render Preview in 3DView is terribly missing and Cycles is not an option to do it. It have a poor display support for textures with generated coordinates.

6)Solidwire is not a priority for this menu. You can have solid wire by enabling extra display in object properties. What is worse in 2.5, 2.6 than in 2.49, is the way to only show shaded solid. You can’t. You have to disable textures manualy for each object. Your second mockup with a shaded option would be an intuitive way to show what we need without having to happen N column to enable/disable texture solid (there was a shortcut in 2.49 used by texture space, now).

7)You can already set a frames limit in tracking settings.

9)Useful for loopcut. But it requires a proper or a better edge slide. Loopcut slide is just edge slide operator after cuts. Like 2.49, proportional edge lenght mode should be restored. This is a good request for Bmesh.

10)Bad idea. Scene are used in VSE and support multicamera switching. It does not make sense to jump from a esolution to another for final montage. You can use existing file output node created for this purpose.

11)Totally useless. Save as copy and delete what was not needed or do a group that could be appended.

12)Your description doesn’t show something that can’t be done by joining meshes and separate them or parenting objects. I am not sure that it is needed. Shift G allows to select objects of a group and then you can use copy to selected operators to do what you want.

13)Blender always writes your render at indicated path in Output panel.The question is do you overwrite it or not.

14)Blender had mouse gestures in 2.49. And now, you can use a mouse movement as a keymap. It is not a good idea to force border selection on left and drag. For people, who use left as select button, it corresponds to drag immediately operation.

15)You can disable autotexturespace in mesh properties. AltV operator to scale an UVmapped plane at image aspect ratio was removed. Maybe, it could be a good shortcut to scale texturespace at active texture aspect ratio.

REPLYES part 1
1)Don’t understand what you mean.
3)I don’t want to change the current keymaps, just to add a new option with a key that is not used in that cases.
9)Of course those options are also in the proprieties panels. And the top bar buttons don’t act globally, but to the selected objects. And current filtering options must be there too, so you can filter by object type and things like this.

Part2
2)If all the options are in the same panel you have more possibilities and save time, especially if Blender remembers settings.
11)Your way could lead to errors.
14)OK, but it’s needed to better select objects based on their crossing with the selection rectangle.

Thank you for your time!

Point your mouse over material preview and press numpad +, several times. It scales everything in Properties Editor.
A solution to only resize material preview could use same kind of handle under histogram in T column in UV/Image Editor.

Save as
Select objects you want to keep.
Inverse Selection.
Delete inversed selection.

I don’t understand where is the error.
If you want to export a selection; errors about forgetting objects would be the same.
IMO, asset browser will help enough to not have a .blend exporter needed.
http://wiki.blender.org/index.php/User:Elubie/AssetBrowser

I started such a feature proposal thread about a year ago and there was no response from developers. And there always be people that will agree with you and those whou would think of you as a crazy. I remember Ton mentioned that better communication between developers and advanced users is needed but I have no idea if anything happened after that. I’m not saying that devs should accept all the wishlists (some of your suggestions are interesting, but I cannot agree with others) but I would be really glad if once for a while they comment them. Even if they would say - your suggestions are rubbish, yes, we got to know all the ideas but we didn’t like any of it.

the list is pretty obvious… I’m not surprised by any of the suggestions as I’ve seen some of them in other threads before (or even suggested some myself over the last 6 years or so.

some can be done right now (if you have the right addon) and some have long been on developer “todo” lists from way before the 2.5 project starting…

The point is it doesn’t matter whether people agree or not, it’s not like the developer base is unaware of these issues, but most are minor minor gripes, or an educational issue… a tiny amount will not get fixed as the currnet behaviour is “the design philosophy” and whilst you may not like or agree for “feature x” having a philosophy is a good thing.

Try fixing them yourself in python, it’s probably the easiest way to get something done…
else hire(or set up a fundraiser then hire) a developer to work on these features… make sure they discuss with other devs on IRC if you want these changes integrated into trunk…

this poll is probably pointless as all these features are in one of the following categories :

  • already implemented (but maybe as an addon or branch)
  • in progress
  • nice to have but no available developer right now
  • against the design philosophy so will never make it to trunk
  • off the radar (no one has ever thought about that)

I’d say most are just down to lack of developer time…

My last category was just for completeness… none of the things on your list are in that category for me…

1.1: I believe you already can set a custom scene for the render preview window, the external renderers do this already.

As for zoom and whatnot, probably be better to develop your materials in a separate scene designed for this purpose so you can see exactly what you’re getting.

1.2: Would be easy enough to add a slot parameter to the bpy.ops.render.render() operator and add your own button to the panel. Not sure where the render op decides which slot to put the render result in but it really should be decided by the calling function.

1.3: Bad plan methinks, would slow down the ‘power users’ a lot. Be a lot easier to map a custom menu to whatever key calls the ‘main’ operation than mess up everyone else.

I did this with the number pad view keys (on a laptop ya see) and it really isn’t that hard with a little python-fu.

1.4: No opinion since I don’t think I’ve ever locked the camera to view, don’t even know how to do it actually…

1.5: Cycles is super-alpha software so who knows what ‘professional’ features Brecht has in store.

…and I think it kind of defeats the purpose of a ‘rendered view’ to have a bunch of stuff drawn all over your scene but that’s just me.

1.6: Meh, just zoom the viewport.

1.7: Probably be nice to have but a little math never hurt anyone, just do ‘1920*.25’ and ‘1080*.25’ in the text boxes to make it 1/4 the size.

1.8: …or you can organize your stuff better than having a thousand image textures in one folder.

Plus there’s work in this area so who knows what they’ll come up with.

1.9: Yes, the outliner needs some love.

1.10: Already implememted

1.11: Blender should never guess which option is ‘more important’ to the user.

1.12: Yeah, resetting values is a trainwreck because 99.99% of the options don’t have the default value programmed in so it defaults to 0.

With that said, right clicking and selecting ‘Reset to Default Value’ isn’t too difficult in the grand scheme of things.

1:13: Blender kind of sucks that way, probably best to just accept that it will never be ‘professional enough’ in that regards…

1.14: Everyone wants wire frame colors

2.1: If I cared enough (and had 400€ to blow on a renderer) I’d work on it myself so no real opinion on this one.

2.2: Don’t really care enough to read and comprehend the full description but that’s one of the reasons they added user programmable operators.

2.3: Never fully figured out the texture projection thing so just uv map and call myself lucky blender has good tools for that.

2.4: That’d be nice, not too sure on the different key combinations from regular 3d view navigation though.

2.5: That’d be nice too.

2.6: Just turn on the ‘show wireframe’ little tick-box thingie.

2.7: Never used the camera tracking stuff.

2.8: Nah, bad plan and probably a lot of complicated coding to figure out if a hole is really a hole and not a, umm… non-hole?

2.9: Don’t care and the bmesh merge will let people actually start working on these tools again.

2.10: Seems overly confusing and something that only a few users would want/need.

2.11: This one seems like a workaround for a bad (or non-existent) asset management system.

2.12: Interesting concept.

2.13: Then people will complain that blender overwrote their render that took all night because their cat stepped on the keyboard and hit f12.

2:14: I think left-click cursor placement is here to stay so may as well get used to it…plus you can set it to whatever you want with custom keymaps/operators.

2.15: Isn’t that what uv mapping is all about?

@Michael W I completely agree
Some of the things on your list are already in blender or require an addon
Some could be fixed with a python script

Blender foundation’s resources are very limited so we all can’t have what we want

When talking about big projects, the main thing that blender needs is editing the properties of multiple objects all at once.

In most cases we can have what we want. We just have to code it ourselves. :stuck_out_tongue: At least we have that option.

Look, everyone has their wishlists and everyone thinks that their wishlist item(s) is what Blender really “needs.” The truth is that Blender does good enough (and often better than that) at most things to be used effectively for “professional” work (depending, of course, on your profession. If you’re a professional boxer, I’m pretty sure Blender’s not going to be of use to you). Paired with that is the fact that we’re spoiled… spoiled by complete access to Blender’s source code, high extensibility via Python, and uncommonly easy access to Blender’s core developers (who themselves are uncommonly patient and friendly).

Long story short: I agree with Michael W. :slight_smile:

Scripting is about the best thing that ever happened to Animation. I’ve had a few improvement suggestions come to my own mind, such as a recursive search box in the outliner, but I know that suggesting any of these ideas on the forum won’t do much. I’m better off writing a script for myself. Now, I know that many of the things you suggested can’t be fixed with a simple add-on, but I think a project that says “Here’s a list of add-ons I wrote/am-going-to-write to accommodate my gripes with Blender” would be well received. I agree with some of your suggestions, but a wishlist with “Download add-on now!” next to each item instead of “Vote Up” will garner more enthusiasm. In other words, I think you have valid ideas and I appreciate your effort in building and thoroughly explaining this list, but you’ll get less criticism if you approach this as “Here’s what I fixed” instead of “Could somebody fix this?”

Unfortunately, not everybody knows how to script. Therein lies the rub.

So the reasoning I made was this: a more professional software attracts more professional users, and more professional users lead to more consistent donations.

Define “Professional” in your own words, please.
Because “Professional” to me means “Something you can use to make money” or, if it’s a person “Someone that makes money from what he does”.
What’ll make blender more professional then 3ds max, is if you get payed more if you work in blender then what you do if you work with 3ds max on average for the same amount of work.

on I go, but remember, just because I “Agree” for now, doesn’t mean it thought hard about it and decided that blender really needs this… It could also mean “Sounds like a good idea on paper (from the amount of time I thought of it… which is not much…), but can’t tell if it’s a good idea in practical use”.

Part 1

  1. Pointless.
  2. Agree.
  3. Agree
  4. Agree, but nothing like that. A little text on the bottom right of the camera “Locked/Unlocked” would do just fine.
  5. Agree
  6. Agree
  7. That’s what the percentage meter is there for. But still, kind of agree.
  8. Agree
  9. I’d prefer “Filter only meshes (view only meshes in the outliner) (or other object type)” + That row at the top to edit them all (Should be hideable).
    I strongly disagree with the Cycles icons though.
    When it comes to resources modes (Materials, textures), I believe ALL DATA TYPES should be able to be isolated this way.
    And all of this belongs in the outliner mode dropdown menu, not some extra icons on the header.
    Not for some extra properties or something, but so that you could easily delete them and rename them all in one list.
    Like, for example, images… Deleting them in blender is really messy. Extra point: I believe no data should be deleted if it’s unused, and a button to “save even if it has no users” is just an extra button that doesn’t even have to be there and it overcomplicates things. There may be a button “delete all unused data” instead.
    I like layer mode, but it should display ONLY layers + what scene they belong in, i don’t understand why you have unlayered mesh objects in the list too. Also, the 3D view header should have a dropdown menu for layers instead of that grid imho.
  10. Agree
  11. Blender needs a complete snapping improvement, not just that. Blender is a terrible choice when it comes to modeling precise models, that is, with specific, precise distances and angles. Needs something more like an AutoCAD snapping system, where you can snap to edge centers, perpendicularly snap to edges, snap a specific degrees when moving an object, (That is, object can move for example only in directions 0,45,90,135,180… from its original location according to view), etc, etc, etc…
  12. Numpad 0 resets the value.
  13. Agree
  14. Different wire color FOR ALL objects in Wired shading mode, but when in edit mode, make other wires only partially visible, like 50% faded out.
    Blender needs some 3D view beautifying indeed.

Part 2

  1. Agree. Blender should have full support for at least one (preferably more) of the most popular rendering engines. Not because it’s good, but because it’s popular. And if blender would support it fully, blenders image would increase greatly.
  2. All I want here is the easy pivot movement. That is purely a hole.
  3. Agree
  4. Agree
  5. Isn’t that done in Cycles material shading mode?
  6. Agree with the mixer. But what about “rendered” or GLSL? What would it display if i mix those two together in such a mixer? Probably if you tick “Shaded” it should untick “Rendered” and “GLSL” and “Material”, but keep everything else on.
    Was thinking about a Shading mode preset editor a while ago, where you could select what you want there to be displayed, and save them as a preset that you could select on the header, I think that’s better then clicking multiple times every time you want to change something. Also, Objects tab/Display, should have such options as “Invert from shading mode” and “Override shading mode”.
  7. Agree
  8. Agree… But i’d say INVISIBLE backfaces. That way blender would even draw the model twice as fast! Unless the user selects “Doublesided faces” in the shading mode preset editor thingy, and those backfaces, if displayed should definitely be 20% darker :wink:
  9. You can allways pinch and slide using blenders modeling tools…
  10. Agree
  11. Turn on a new file, use File/Append.
  12. Most definitely agree. I believe that the Groups concept in blender should be completely removed, and Layers should be used for such purposes, and Groups should be used to group objects into single units.
  13. Agree
  14. Agree
  15. Agree