Does anyone know how to rig a gauge needle, and by extension a speedometer/RPM meter needle?
To wit, I tried three methods in this video: Just using the mesh, a one bone armature and an empty.
I also noticed that each of these methods also make the needle mesh go through the mesh of the gauge (and the armature method makes the needle go backwards, while the other two completely break the animation outright). Is there any way to remedy this as well?
(model used in the video is Stundif’s Black Betty model)
This is a straight forward task, nothing really complicated about it. I didn’t watch the video, but I know all three methods you mention and they are all pretty easy. I really think we need more information from you to help you. Care to post up the .blend file your having problems with? I suspect it’s something really simple that you are missing here.
It is really easy with bones (for instance). Add a bone, rotate ot properly so one of its axes matches the axis of rotation of your needle, and add Limit Rotation constraint (or do not, it’s optional, you may also limit rotation of unnecesary axes in Transform Section of N-panel).
Example from the rig I currently work on:
The reason why your needle goes through the mesh is that rotations take place in parent space. Your needle, or in cases in which the needle is parented to an empty, the object with the animation is not parented to anything (or actaully to the world). This means that it rotates in world space.
If you tell Blender to animate the needle from the first keyframe to the last keyframe Blender only knows that starting and end condition in which your needle is supposed to be. It doesn´t know which axis it should rotate around. It uses x,y and z axis of the parent which in this case is the world.
To fix this you have to
create an empty (empty A) that is aligned with the axis you want to rotate your needle around.
After that you align a second empty (empty B) to this first one an parent it to it.
Then you parent your needle to empty B.
You do not animate empty A. You only animate empty B.
You could also skip empty B and simply parent the needle to empty A but it is usually better not to animated meshes at all and simply link the meshes to animated emptys/bones/other types of helpers. The reason for this is that if you decide later that you want a different object to be your needle it is easier to simply delete the old needle and re parent your new needle. That way you don´t loose your animation.
Okay, so I tried the bone method and used a “limit rotation” constraint on both of the needles I want to animate. But I hit a snag. The direction I want to go in (forward) stops about halfway before it snaps back to the rest position and I don’t know how to fix that. I tried to increase (or in this case, decrease) the minimum of the rotation limit, only it doesn’t seem to work either.
So now I have no idea how to move forward (pun not intended), as if I want to get them to go all the way, they have to move backwards. and that’s not what I want. I’ll include the file so that way you guys can help point me in the right direction (I’m still barely even a beginner when it comes to rigging anything). Hope you guys don’t mind MediaFire.
Hmm… It’s strange: the Limit Rotation Constraint doesn’t work as I expected. So delete it altogether and limit rotation in Transform panel (except the Z-axis, of course, see the image below), and you could also limit Location and Scale (I belive, your needle won’t be moved or scaled). And change the Rotation Mode to one of the Euler’s (cause I, for example, don’t quite understand how a quaternion works). Hope, it’ll help.
I really hope I did not offend you, but for whatever reason, my tongue would not cooperate. And now that I look, I did not write your name down correctly either. 978 not 987. Sheesh!