Dynamic models, non-human essentials, free...
Dynamic: Created from formula, following rules of a structure, and bonded with external components to create a new unique component that is "built to desire".
This is something I have always loved related to models and modeling. I do this, as well as others, manually. However, some things do not have to be manual.
Models, for the most part, are basic structures. They have rules to form and often have specific expectations. For a primitive example (no pun intended), I will use something we all use, daily. A dresser. (Ok, most of us use them daily.)
A dresser has a basic structure. The body which houses the drawers, provides structure for the top, sides, feet and trimmings, and the drawers which provide structure for its own trimmings, face and handles. The over-all structure, itself, confirms to standards that allow it to fit within doorways and provides some form of ergonomics. (Drawers not usually on the floor and deeper drawers being lower.)
For the most-part, this is the generic structure of many other things that are similar. Night-stands, trunks, cabinets, tool-chests, etc...
Though, as we are often inclined to be unique, it is common-practice to make every individual component as separate items, including the trillions of variations that are so subtle, you hardly notice them. Here is where my "suggestion" comes into play...
Just like with the human models, (having that basic structure and rules), other objects can severely gain from this form of "compression". Saving a morph, as opposed to a duplicate whole model, is a form of compression, using recycling of unchanged components. However, unlike the human models, the models I am talking about would be dynamic themselves. (Human models could be dynamic, but that is a whole cup of tea that I don't want to try to swallow at the moment.)
Here is the concept, using the dresser, again, as the example.
You select the dresser-form. (Assume it is that specific of an object.)
The dresser has ten inlay styles (3D shapes) available and ten graphic-styles.
The dresser has ten top-trim styles (3D contours), and ten graphic-styles similar to the inlay.
The dresser has five side-trim styles... (the four corners)... ditto to above...
The dresser has seven foot styles...
The dresser face is another component, bonded/inserted into this component...
- The face has options for 1,2,3 stacked rows of drawers
- The face has options for 1,2,3,4,5,6 columns of drawers, in each row
- The individual drawer-spaces have the options to have covers or be left as uncovered space
- There is an option for drawer-gaps
- There is an option for solid-cover drawers (no face and actually just skips this drawer in the column)
Back to the dresser... Now that it has a drawer sub-component to play with...
The dresser-drawers have ten cover-styles... (basic square, trimmed, inlay, rounded, decco...)
The dresser-drawers also have a sub-component style for handles (wood, brass, plastic, knob, latch)
The dresser-drawers also have a sub-component style-position for the handles (Center, left-n-right, three centered)
Optionally, some faces have specific variations. (Being swing-open with hinges, roll-out, being flip-down/up)
All of the above being one actual formulated object, created from individual components that simply obey structure rules. These also possibly being interactive for manipulation. (Pulling the dresser wide would not just scale it, but optionally create more drawers that auto-fit, based on the style selected. Raising the height would add more rows of drawers instead of just stretching the drawers out of proportion. Keeping all the trims of the same scale, if it was "stretched" instead of "expanded with more drawers".)
This can not be done with simple morphs, for most of the above... However, it is just a simple "adjustment" in the model to do all of this. The base-model itself (the components that are not "formulated"), consume little space.
In the end, you have one "object" that can be turned into a million possible unique objects/items. This also helps when it comes to making "matching sets" with "similar variations", as each sub-component is not actually bound to any one model, and can be used anywhere there is a "knob" or "foot" or "inlay-top" or "trim" or "drawer".
This is actually nothing new. CAD has used something similar to this for years, as-well-as google-sketchup-3D and many other programs. Often they are for stuff just as dull... Stairway generators, foundation generators, roofing generators, kitchen-cabinet generators...
This is also the reason I believe the "base foundations" should be free, with limited base-variations. This gives us the ability to create all the unique individual style components that others can use to "build" what they need, without us having to build a 42-piece matching set of furniture, or knives, or street-signs, or lamps, or... yadda-yadda-yadda...
There is even some cool "helper" options already available in daz, to aid in this. Same with hexagon and all other programs. (The script, nodes, and attaching meta-data that can be used to flag things like expanding segments and locked-scales, etc...)
This would, however, require an actual "registered component ID" and naming-convention, with a similar matched catalog for ease of locating and matching "compatible" stuff and "similar styles", and "versions". (Unlike how the catalog is now, where everything is sort-of jumbled into one giant resource. Though, there are flags to isolate things like "V4 compatible", which is OK, but honestly, anything that specific should be isolated into a catalog only for V4 stuff. This would require a whole area just for dynamic component bases and component parts. You don't want to search for feet, and get human feet and dresser feet in a general search.)
This could help give DAZ a little more of a tactical advantage over others, if it is done right. Not only for the users, but also for the content creators.