Force an empty to follow an armature?

Hey there! :smiley:

I’m working on a turret model as a first training. Right now, I’m facing a new kind of problem:

basically, I have a minigun turret divided into three parts, each one with a bone of a same armature. In order to get a constant rotation animation of the barrels of the gun as it fires, I have set an empty and a linear extrapolation in the dopesheet.

But since I did that, it looks like the empty has its own behavior: if I try to rotate a bone in pose mode, any of them, the vertex group I assigned the empty to (here: the cannon) will rotate in a completely different way than before.

I guess it has to do with some parenting stuff, but I have no idea what exactly. What are the rules for that kind of animation? Can I force the empty to use, besides its “constant rotation”, the same moves as the bone of the vertex group I assigned it to? :confused:

I hope you’ll understand my problem. Here is the file, just in case.
minigun-pref.blend (657 KB)

Thanks in advance for any help. :slight_smile:

I rigged the cannon how I would rig it myself so you can see how it can be setup without the use of a empty.


Hope that helps

Well just parent the empty to the bone !

Now, that’s a lot of work! Thank you! :yes:

As you used a lot of functionnalities that I didn’t know (actually I basically know only one or two :smiley: ), it’ll still take me time to understand everything, but I’m sure I’ll learn much that way.

Thanks for your time. :slight_smile:
I may have to ask for some help eventually though. Just out of curiosity, how long did you take to set all this file like this?
Also, did you use something to give the barrels a constant rotation or did you manually rig the rotation?

@ Hadriscus: I did, of course, but the problem is that the empty and the bones dont seem to use the same axis references. I was going to work on that, but McHammond’s file just arrived, so I’d rather study this one than mine for now.

It took less than 10 minuets to set up the file, there is nothing too complicated happening. The rotations are restricted to a specific axis in the transform panel after the bone is set to use Eular rotations.

Thanks, noted.

I never understood why so many “eulers” were available. Could you explain me the point ?

Oh sorry I really read over your post too fast.
Rotation axes are arranged in a hierarchy. By default, rotating along the X axis will move the other two axes with it. Then, rotating along the Y axis will move the Z axis too but not the X - X being the “parent axis”. And finally rotating along the Z axis won’t affect the other two.

To understand it better, I suggest using the “gimbal” orientation.


Thanks Hadriscus, this explains a lot. I’ll make some tests to check all this. :slight_smile:

So, I’ve been studying your file McHammond, but when I try to do it myself, something is wrong: first, I dont know how to get the same armature models as you (I guess it’s not really a problem for now though); and second, my first bone, the “base” as you named it, as it is slightly rotated to match the shape of the turret, has a local axis that is rotated too.

In fact, if I try to rotate it in pose mode around the Z axis after I locked the others two axes, it moves in a weird direction.
But, if I dont lock the X and Y, it rotates properly around the Z.

To make it short, how did you obtain these relations between your bones? Did you use some kind of parenting stuff? Or just the simple “extrude bone” function?

I compared our files on every point, but I cant find any more differences. So I’m kinda lost. :smiley:

Oh, did you simple add bones one after another, then parenting them after setting their right orientation? 'Cause it seems to work now…