[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