[Bf-funboard] Re: OOPS-based Object Manager mock-up

Karim Nassar bf-funboard@blender.org
Fri, 05 Dec 2003 12:53:32 -0500


OK, based on Ton's description of how Layers really work, I started 
thinking about how to set up Object Management without gutting and 
re-building the present layer method.

It was brought up earlier that Layers might be thought of as Objects 
themselves, so I decided to pursure that train of thought a bit. What 
I've come up with is a different approach, using a revised OOPS 
inspector to achieve some of the same goals in parallel with the 
existing "Layer Bit" method that (shouldn't) step on any programmatic toes.

The first thing I did was assume that we can create a new type of 
Object: The Container. This would be something like an Empty, in that it 
can be both a parent and a child of dependencies. However, it would not 
have any 3-d presence (it would ONLY show up in the OOPS/Object 
Manager). This means that a Container has a Layer bit just like other 
objects, so Containers aren't really Layers.

The second assumption that I made is that the settings we have 
previously discussed as being added to Layers (display, lock, no-render) 
can be set at the individual object level. This facilitates using 
Containers as "Layers" in process if not in name.

At this point, I started looking at how to clean up the OOPS window 
interface, which currently presents some useability issues, especially 
as projects get large and complicated. This is my first pass at 
resolving some of these issues:

http://www.karimnassar.com/phoenix/images/Obj_detail.jpg

The Object Manager Object Block in detail:

Each Object is represented by a block in this inspector. These blocks 
have the following properties:

1) Handle - a zone reserved for dragging & dropping of the block. When 
moving the parent of an expanded tree of Objects, Children will move as 
well, relative to the Parent. This allows an easy way for the user to 
visually arrange the objects for ease of use.
2) Shade Control - Collapse or Expand the Block display itself. (10)
3) Object Name - User editable Text field. Default Name as per Blender 
standard.
4) Block Background Color - This color denotes at a glance what type of 
Object is indicated (pink = mesh, white = container, blue = camera, etc)
5) Layer Bit Indicator - Which Layer the object is on. Rt-click to change.
6) Primary Dependents - Shows the primary (default) dependency of the 
object. Clicking the (+) shows Children, (-) hides Children. Rt-Click to 
change settings. Changes to a Parent's settings will change Children as 
well. Shown as the Primary Dependency is "Interactivity" which includes 
Visibility, Editability (lock), and Render Toggle. (9)
7) Additional Dependencies - Such as Linked Materials, Armatures, etc.
8) Access Object Details - Launches an In-depth object inspector with 
access to all Object settings (like Object Edit Panels).

9) When The Block is collapsed, The Primary Dependency (6) moves up to 
remain visible.
10) Shade Control (collapsed)
11) Hide Children (-)
12) Child Dependencies

So, the Object Manager in action might look something like this:

http://www.karimnassar.com/phoenix/images/ObjMan.jpg

Thoughts?

--Karim