0
$\begingroup$

I have been trying to rig a drum kick pedal, and found a free rig online. I copied the rig for the kick pedal, but for some reason, the pad that is supposed to rotate, does not rotate in the same way that the original rig moved. It moves in a bigger arc, and does not pivot properly. The other bones rotate and operate fine, but not the pad. I tried to dissect and reverse engineer the rig, but i cannot seem to wrap my head around this. Here is what I mean:

Here it is in the normal, base state

This is what happen when i rotate.

One thing to note, is that in the file, the bone all the way to the left is the controller, you'd tap "G" then move down on the Z axis, for the rig to do what it needs to. I have tried changing parents, but no luck. I have looked into IK and FK, but i could not find a tutorial that was similar to what I am making.

A side question also, how can i shrink the rig without shrinking the mesh? Would i have to clear the parents, shrink the armature, then parent again?

Thanks again.

Blend File: https://www.mediafire.com/file/4azrzlhbbk1074x/Drums+Troubleshooting.blend/file

$\endgroup$
2
  • $\begingroup$ could you pls link where you found it? thx. $\endgroup$
    – Chris
    Commented Feb 3 at 10:26
  • $\begingroup$ @Chris sketchfab.com/3d-models/… $\endgroup$
    – noyou
    Commented Feb 5 at 18:34

1 Answer 1

2
$\begingroup$

enter image description here

Yours, posed, left; yours, unposed, middle; theirs, right.

When we look at the pad's relations, we find it is bone parented to Bone.003 (in all rigs.) This bone rotates-- about its origin!-- based on a transformation constraint.

On their rig, Bone.003 is located at the location of the point about which the pad rotates, and so the rotation of the bone matches, visually, where it ought to rotate about. But on yours, the actual rotation point is very distant from where your pad should rotate about, so the pad goes in a crazy circle.

If we were to adjust your objects to match the postions of the bones, it would work fine:

enter image description here

With these constraints, we can't adjust the position of any of the bones, because it's based on a bunch of positions in world space. Which also answers your question

how can i shrink the rig without shrinking the mesh?

Here, you cannot-- shrinking the rig will make it stop working. Because it uses world space constraints. Shrinking the rig even with shrinking the mesh will make it stop working. (In other situations, you'd probably just scale the rig before parenting mesh objects to it.)

So let's start from scratch. How can we build a kick pedal rig? Preferably, without using a bunch of world space positions like this one uses, so we can reuse it elsewhere. We'll use what you have as a start, so we can preserve the way it's controlled and so that it might make more sense (since this is what you've been looking at.)

First, we'll unparent all mesh objects from it. Then, we'll reposition the bones to match our geometry:

enter image description here

Now we can reparent our objects. I'm going to reparent with bone relative which will make it so we won't have to unparent/reparent if we edit in the future.

We'll edit the constraints on Bone.001. The rig author almost certainly wanted to do their constraints in the other order, so we'll limit location after copying location.

enter image description here

And I'm limiting location now in local space rather than world space, which means I now need to limit the Y rather than the Z (the bone's +Y axis points in world +Z.) I tuned these values to eye.

Now let's tune the transformation constraint of Bone.003.

enter image description here

I've changed this to local space, so I'm now driving local X rotation from local Y location. I've copied the Y min from the limit location constraint on the target, tuned the rotation to eye, and enabled "extrapolate" to get the proper rotation at positive Y locations of the target.

$\endgroup$
3
  • $\begingroup$ Incredible, thank you so much! You are very thorough and detailed, i learned a lot. You showed me more than i thought i was going to get! One extra question though, i have noticed, the mesh that is connected to Bone.001, it kind of sticks out and through the other meshes. It is supposed to "pull" the hammer, and not go through the mesh. What can i do to counter this? $\endgroup$
    – noyou
    Commented Feb 5 at 18:31
  • $\begingroup$ @noyou It's hard to answer without pics to demonstrate what you mean, and I don't know exactly how a kick drum works-- the mesh doesn't really demonstrate the full mechanism. It's also difficult to do any kind of back-and-forth on BSE. You might consider asking someplace like blenderartists.org, where there's a lot more freedom for back and forth, and where I'll likely be able to help you further. The main, important thing to take away from this existing answer is, things will rotate around their origin (the bone, which is then inherited by the mesh object,) $\endgroup$
    – Nathan
    Commented Feb 5 at 22:55
  • $\begingroup$ I understand. I should’ve had an example, say like a chain like being pulled or something. But thank you so much for answering my main question. Thank you so much. When I get the chance I will post there with a better example, hope to see you there. $\endgroup$
    – noyou
    Commented Feb 7 at 2:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .