Hi everyone! I had an interesting idea about layers in Blender. I know that in some cases people would maybe want to use more than the given 20 layers. This could be due to a highly complicated scene or a dire need for organization of various objects. The concept gives the user more flexibility and control over layers, since there are more. But how to implement them without sacrificing the intuitiveness of the current setup?
I propose that we remove half of the layer buttons (10 layers) and replace it with a sort of drop down menu. In this menu, one could create additional groups of 10 layers and switch between them. If you had 10 groups in this menu, you would have a total of 100 layers.
It would also be nice to be able to rename these groups, so that one could organize things into "Lamps," "Geometry," "Particle Systems," etc.
In having 10 layer buttons always viewable, they are always a mouse click away, and it would only take another 2 mouse clicks in the menu to access a much larger amount.
I do not know if these layers are rooted very deeply with the rest of Blender's code, and if so, this would probably be difficult to implement. (Might it then be possible in Blender 3?) If this is not difficult, this might be something to work on for the next release.
That's an idea, I suspect layers would be pretty hard to expand like that though.
What *I* would like to see is a tree interface. I've used that in several other packages and I LOVE it. The 20 layers are better than nothing, but having a collapse-able, name-able tree setup is great. I've used it in Vue and its very cool and intuitive.
I love the ideas... I am working on a project where I'd love to have each character in their own layer as well as having the set in different layers... The 20 layer limit will be reached by me soon. I can deal without more... but it would just be nice.
|dgebel wrote: |
|What *I* would like to see is a tree interface. I've used that in several other packages and I LOVE it. The 20 layers are better than nothing, but having a collapse-able, name-able tree setup is great. |
That's a very good idea. There is the problem of interface design, though. One of Blender's "trademarks" (in the non-legal sense of the word) is the instant accessability of everything. It will be an interesting puzzle (if we decide to impliment a tree-based solution) to figure out how best to make all parts of the tree quickly accessable at all times.
The advantage I see in ImagineActuality's idea is, as he pointed out, the quick accessability of all layers. In fact, his idea can be thought of as a two-level tree, where the first level only has branches, and each branch always has exactly ten leaves.
I like both ideas. The only way to figure out which one is best is to try putting each into test versions of Blender, and seeing which one ends up being more useful in practice.
An idea that I have is to allow objects to be members of multiple layers. This would allow yet another level of possible organization. Of course, it could also potentially result in a lot of confusion. And there would, again, be the issue of figuring out what the best interface-design for the feature would be.
I'm not at all sure if this idea is good or not, but I might as well put it out in the open for discussion.
how about this
you can set up your own trees but are limited to 10 trees of 10 at the max.
so you caould have 2 trees of 4 and 5
or 10 trees of 5,6,7,1,2 blah blah blah layers.
to get to the first tree you press Alt+1 and then you press the layer as normal.
so you can still keyboard all the layers. and unlike currently where you need to press Alt +# for layers 11-20 the new way you would just press Alt when selecting the tree and a number for layers 1-10 of the tree.
Real good idea i think.
also with my development of the Concept then you could also set up a TREE based menu with names and stuff. without sacrificing ANY of the speed, meaning it could be accessed 3 ways total.
I like that idea, but how about keeping it somewhat backwards-compatible. You could make it so the hotkeys 1 to 10 toggle the parent layers on and off like usual (eg. activate/deactivate all of the sub-layers underneath that parent), then you could manipulate the sub-layers in a popup GUI panel initiated by clicking on the layer button. I think that would be reasonable since you you wouldn't be manipulating the low-level layers that much anyway (so hotkeys not as impoprtant) and you could also use it the old, fast way if you wanted. Perhaps then you could use ALT-number to do something else, like locking the layers from selection or something.
Just throwing ideas around anyway. It'd be great to have a more powerful layer system - for example, not just viewing thing, but also locking them from selection, excluding them from rendering, grouping them in parent layers, etc.
Since there are already 20 layer buttons in two groups of 10, wouldn't it be fairly intutitive to make the first group of 10 the group buttons and the second group of 10 the actual layer buttons that would give you 100 layers with out changing the actual interface, and all layers would be accessable with two mouse clicks.
By clicking the first button in the first group (group buttons), you would have access to layers 1-10. Clicking on the second button in the first group (group buttons), you would have access to layers 11-20................ and so on. Just by looking where we are already used to looking you could see which layer you were in. Some work would be needed for multiple selection of layers across groups though. Perhaps an OOPs style window with a tree type structure?
I like the layers in blender very much. They are far better (faster) then the ones in Maya.
The other thing I like in blender is the big difference between layers and groups and parenting. They are three different things in blender (okay group does not exist ).
-Layers are mostly for editing/modeling.
Scenes get to big, so people cut them up to handle them better.
Making a layer/group for lights does not make any sense in blender, the nice thing about blender is the light-linking to objects by using layers. ie: Put cube in layer 1, sphere in layer 2, light set to layer only
in layer 2 and only the sphere is lit. Very very fast and user friendly system (please try the Maya light linking to find out the wrong way of doing it).
-Parenting is for animation hiearchy.
-Grouping is still unimplemented in blender.
This puts multiple objects in a group with or without hiearchy. So a mesh and a curve object can be members of 1 group, and no matter if I click on mesh or curve, the group is selected for move/rot/scale. This will stand in the way of parenting (3 levels of modes: Group / Object / Mesh).
-Treeview can be used for parenting, but also for a good view on hidden/unhidden objects (blender does not support hidden objects).
With a clear treeview you no longer need a layer system, each object is it's own layer.
|VelikM wrote: |
|Since there are already 20 layer buttons in two groups of 10, wouldn't it be fairly intutitive to make the first group of 10 the group buttons and the second group of 10 the actual layer buttons that would give you 100 layers with out changing the actual interface, and all layers would be accessable with two mouse clicks. |
Unluckily, that would be very ambiguous. Both sets of buttons look exactly the same, not to mention that even now they are both unlabeled (I remember trying to figure out what the hell they were for when I first started using Blender).
If we used a menu, then the menu itself could be labeled something like "layer sets", making things much less ambiguous, and also much more flexible (you could add as many sets of layers as you want!)
I would love to be able to just say certain objects are and arent visible.. maybe an option when you select an object you could bring up a properties panel or even add the button to the edit panel. Would then need some way to unhide all or something or unhide all and hide selected or something like that. I would also love to add the functionality similar to Max where you can edit a list of objects that are affected or not affected by the light selected. Maybe do this through parenting a light to objects? and have a toggle button that says affects child objects only. This would give much greater control than just having the ability to light only a single layer. I don't much care for the layers except for a grouping type of function. If layers were to be functionally usable you would need an unlimited number of layers... I would rather have the control be put down to the individual objects. Shouldn't be too hard to do. Who knows... I'm just rambling off ideas... I still can't even get Tuhopuu or the Foundation CVS trees to compile yet... heh...
I agree - the tree view like in Vue is fantastic, both for organizing, hiding, and selecting. But how to implement even the interface, regardless of under the covers...
The suggestion to click on the square, and have a drop down menu makes the most sense to me.
One more suggestion: use an entirely different window for it as well to get the actual "tree" - the datablock view, I think its called. Have a setting on there to view the window as a tree instead of a... mess
Since you can reuse datablocks, it would be tricky, but I think ability to choose which type of object/datablock to in a tree would work.
ie: select Object tree view, would display all the actual Objects, and any cross-linked data would either be hidden, or show up similar to a Material that's used on multiple objects - a (2) or (12) or whatever appears after the name.
Be nice to be able to select Object, Material, etc so you can see easily which items are being used all over, etc.