2
$\begingroup$

I model a digger assembled of multiple parts, place several instances of it into the scene and animate each instance's bucket individually within the rotation constraints specified by the model.

This is the task to be performed. An everday's task and a core requirement for an animation software.

Or, construct a car and put some of this same brand and model into the scene. One should steer to the left, another one to the right, the next one's window is open and another one's trunk is open. They are all instances of the same model, just with movable parts to be animated within the limits as specified with the model.

My problem is that it's not doable in an acceptable way:

  • Copying the objects the digger is made of would mean that any future change to the model would have to be done numerous times with every instance. Copies are not instances.
  • The parts of group instances are frozen. The group's objects, like the bucket, are not rotatable individually.

After 15 years of trying to work with Blender, stumbling across this again and again, I'd really like to know this now.

Thanks

$\endgroup$
  • $\begingroup$ Hooks work for instanced meshes or objects, you can press Ctrl+H > Hook to new object. If I understand you correctly, this should work. Let me know if it does or does not. $\endgroup$ – VRM Jun 12 '15 at 22:29
  • $\begingroup$ Novice, I'm sorry, I do not understand the relation to the question. I know the hook modifier. Ctrl+H sets the "restrict render" option. To which part of the digger should the hook be attached? The wheels? The bucket? First I need to know how to place several instances of my digger into the scene. $\endgroup$ – CryGuy Jun 12 '15 at 22:42
  • $\begingroup$ Whatever you want to animate. In Edit mode, select a set of vertices, and do it. To create an instance of an object, use Alt+D. $\endgroup$ – VRM Jun 12 '15 at 23:13
  • $\begingroup$ I do not want to animate vertices, consequently I do not need to go into edit mode. All vertices will stay at their positions. Thanks anyway. $\endgroup$ – CryGuy Jun 12 '15 at 23:18
  • $\begingroup$ What are you animating? Bones? You can do it for them too $\endgroup$ – VRM Jun 12 '15 at 23:19
1
$\begingroup$

It sounds like you need to add an armature and rig it to your mesh. The various armatures can be posed and animated independently although they share a single armature datablock. The same with the objects instantiating the mesh.

I found a couple of rigging tutorials by searching for blender armature rigging.

And the Humane Rigging series is somewhat legendary

It is entirely possible to place multiple independent meshes under control of a single armature by giving each mesh an armature modifier pointing at the controlling armature. This still requires assignment of vertex groups, but you would have to do that in a single-mesh situation anyway.

An even simpler system is to give each mesh a "child of" constraint and make it the child of a single bone in the armature. This is only appropriate if each mesh is a single rigid element, but if your objects are constructed in this way, you do not have to assign vertex groups.

I am not sure what problem you are solving with proxies. When I am linking assets from external files, I often end clicking Make Local on the Object datablock (storing positions, constraints, modifiers, etc) and the Mesh datablock is still a link to the source .blend. Changes to the mesh will be reflected in the linking .blend upon next load. The drawback is that changes to the modifiers and object position would not be.

My suspicion is that blender can accomplish the vast majority of what you want to do, but some of the workflow steps are not covered by the tutorials you have read yet.

$\endgroup$
  • $\begingroup$ I know how to rig one mesh. A digger is not one single mesh because it's an assembly of several separate parts. If you joined all parts to one big mesh, you would create copies and redundant vertex definitions. Copying is bad because every change of a certain part has to be done multiple times, so don't do this. But this is basic modeling knowledge. If we disagree here, it's pointless for me to continue regarding this subject. Thanks anyway. $\endgroup$ – CryGuy Jun 13 '15 at 21:47
  • $\begingroup$ I'll add some more to my answer to explain. $\endgroup$ – Mutant Bob Jun 14 '15 at 14:03
  • $\begingroup$ Some final words in a plain-text file uploaded to avoid a lengthy discussion here: 1drv.ms/1QwUkKx $\endgroup$ – CryGuy Jun 14 '15 at 14:03
  • $\begingroup$ Ok, I fail to understand. Maybe a solution based on my simple digger example makes sense. It should show - a digger model assembled by several objects - some instances of the digger model - raising/lowering the bucket of every instance individually (there is already a rotatable empty for this purpose) - changes to the model must be reflected within all instances of the model. For example, changing the distance between the pillars of the digger model must automatically be reflected with all instances. No copying, scripts, drivers should be required. continued... $\endgroup$ – CryGuy Jun 14 '15 at 15:13
  • $\begingroup$ I do not necessarily need group instances, armatures, etc. for this, just the most simple approach. Sorry, my formatting is gone in the previous comment. Edit: I see it's not possible in a comment. $\endgroup$ – CryGuy Jun 14 '15 at 15:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.