DupliVerts as a Modifier?

Hi everybody!

Although DupliVerts is a powerful tool, it lacks some more control that would be desired sometimes. Now, you can only affect all objects that are duplicated in the same way, so the result is always the the same object.

I would like to propose the recreation of Dupliverts as a modifier. This might help to move it from Anim Setting tab to the modifier stack, which I think is a better place for Dupliverts, used mainly as modeling tool. But them main improvement would be adding more control and variation to the result.

Firstly, the basic function should remain the same. The “Track” and “Up” buttons should be copied, and if only one object will be dupliciated, it will work like Dupliverts we know now.

Secondly, the user will be able to duplicate multiple objects. The total number of duplicates will be based on number of vertices the parent object has. The number of objects should not be limited, so they will be listed in a list (the “Objects” row). The distribution of them will be random, user only specifies the propability (or percentage) that the object will appear. For each object, location, rotation and size variantion could be defined and also the Tracking and Up axis. Either constant (“Const” button) or random ("Random! button) offset might be possible. This is per object setting, so it could be possible to have one type of object uniformly rotated and another randomly. This might be set in the 3x3 matrix for location, rotation and size on each axis separately. The small blank button is selector, because it might be hard to orientate when more objects were added and for each a big part of the tab be created.

Thirdly, the modifier should enable mixing duplicated objects with different materials. The number of objects should be independant. It is possible to try to duplicate object with multimaterial assigned, so an option to preserve assigned material for object moght be handy (the “Mat” button).

The “Seed” field is for distribution and random transformations. The “Make Real” button will determine the result of modifier. After applying this modifier, the user might get diffrent results. If “Make Real” was not pressed, it will generate a new single mesh with correctly assigned materials and vertex groups based on duplicated objects. If the “Make Real” was pressed, then the result should be separate objects, each with correct material and local transformations (in contrast what the result after making duplis real is now, each object having the same local trnaformation only the mesh transformed).

Possible problems:
If the “Rot” button is pressed, the duplicates are alligned with vertex normals, so the duplicates might be transformed only on global axes, or more preferably on they respective local axes. For this, it might be good to create vertex groups based on the names of objects, and for each also remember local transformations.
Current limit for multimaterials is 16, which might be very limiting for this modifier.

Eventually, the entire modifier could be Dupli modifier, and you can choose between DupliVerts, DupliFaces and DupliGroups.

Edit: Possible UI
http://img176.imageshack.us/img176/4252/duplivertsmodifierja3.th.jpg

What do you think about it? Will it be possible and useful?

P.S. I don’t know C, so I cannot make it, it is just a proposal.

Yeah, Dupliverts (with duplifaces included) would certainly make more sense as a modifier.

Another example of a tool that would gain useability and usefulness as a modifier, are the Spin/Screw/Spin Dup tools. These tools could all be turned into one modifier (probably named Lathe), which would be able to create all the same effects, nondestructively and nonlinearily.

where is the difference between “make real” and “apply” on your mock-up?

anyway: great, sophisticated idea!

S.

Well, appling the modifier without the “Make Real” would create a single mesh. Further deforming using lattice or other modifier should be OK.

On contrary, appling with “Make Real” pressed would generate separate objects, with local transformations. Great if you want to make e.g. forrest. Having all trees in a single mesh isn’t good idea. But this might be problem if there was another modifier in the stack after this one…

Good idea, but how about ‘Seperate’ instead of ‘Make Real’, if that’s what it does.

Yeah, a very good idea, definitevely useful. This should be posted in the feature request forum, IMO.

Do you mean the Blender.org forum? I’m going to add it to the feature request section of BlenderWiki now…

make real should perhaps be labeled “Make individual” to give more clarity. make real doesn’t mean much IMO.

but great idea, it would be nice.

I get the feeling the modifier stack needs its own window now.

Alltaken

:slight_smile: I think this would be very useful - imagine the complexity when adding a duplivert modifeier in a stack with an array modifier, and that using an empty to offset… Oh,boy!

Sounds like a really good idea to me. The options you described are things I was just hoping for recently.