I’ve been thinking about a randomization modifier for a while. The basic idea behind this modifier would be to randomize the location, rotation, and scale of any loose parts within a mesh. In theory this could then be used with the array modifier as well to create randomness in arrayed objects (something I miss from cinema4d).
I’m calling the modifier “Randomize Parts”.
Below is a gui I made to get a clear idea of how it would work, as well as an explanation of the interface.
Seed: This allows the user to change the random seed number used to generate the randomness when the modifier executes.
Location Fields: The user can set the maximum amount of random transformation for the objects location using these fields.
Rotation Fields: The user can set the maximum amount of random transformation for the objects rotation using these fields.
Scale Fields: The user can set the maximum amount of random transformation for the objects scale using these fields.
Link Fields: These check boxes give the user the ability to keep the fields above them in sync. So if say the user changes the x value then the y and z will automatically update to that same number. (couldn’t find examples of this already being done in blender, but let me know if there are for consistency sake)
Object Offset: This can use the transformations of an object instead of the number fields.
Vertex Group: This might be unnecessary or unworkable, but I thought it would be interesting if you could have the randomization only effects vertices within this group.
Convert: This drop down is to select whether the transformations take place in global space or the objects local space.
Now unfortunately I really have no C experience, and modifiers don’t appear to be a great way to dive in :). I’m going to attempt to first write a py script that creates some of this functionality then perhaps I could try to port it.
Of course if there are any enterprising coders out there just looking for a project like this to complete that would be the best case scenario (I won’t hold my breath though). I’m sure I could provide any artistic feedback.
Anyway let me know what you guys think. Am I missing anything? I’m trying not to bloat this up with too many features, but let me know if there is anything critical I missed.