Hmm, how about parametric modeling? Sort of like a blend of macro, modifiers and drivers: 1. user records a sequence of operations (the end result must be one or more objects) 2. user can change parameters of any constituent operator at any time afterwards (thus regenerating the object(s)) 3. user can modify the operator node graph (add/delete/reconnect operator nodes) at any time afterwards (thus regenerating the object(s)) 4. user can declare "high-level parameters" that drive some parameters of constituent operators
Implementing it as a Python addon currently is not feasible, for the following reasons: - from Python, there's no way (or at least I couldn't find one) to monitor what operators are being successfully applied (if operator has been canceled, it shouldn't be recorded; if operator has finished, we must use values of arguments with which it finished) - "parametric" object must be a special kind of Object which can be modified only by changing the operator node graph and/or its parameters (though user can convert "parametric" object to normal object(s) in backwards-incompatible way, like in curve->mesh conversion) - regeneration of such object requires special handling of context -- to have reproducible results and to avoid side-effects in the main scene, the operator node graph must be applied in a separate "pocket dimension" with fixed initial conditions Parametric modeling is probably most useful when you need many similar objects with some variability (houses in a village, armada of pirate airships, etc.), or when you want some animated complex fractal effects in a video. Addons like sapling/ivygen/masonry can benefit from such mechanism too, since it would allow to edit their parameters not just immediately after creation. Also, parametric generation may aid procedural generation. It's just a rough description, but I hope the idea is clear :-) _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
