Topic - AR15 Magazine Spring Rig *Help Needed*

Purpose: The entire project can be found in the WIP section ofthe luxology site here,

When this project is finished, one of the animations for it will be a cutaway view of the gun during a firing cycle, and of course, part of that includes the magazine feeding rounds into the bolt.

My skills going in: Unfortunately, I am pretty much completely new to rigging in Modo. Please give any instruction and comment with this in mind.

What I need: The image provided shows the parts surrounding and involved in the animation. From left to right; 1. Full magazine -- 2. Cutaway view with the spring shown in static (undeformed) proportion and scale -- 3. Cutaway view with deformed and scaled spring, also, red line showing the animation curve path that the 'magazine follower' needs to follow -- 4. The magazine follower and the spring are both highlighted in red. These are the only two objects that will need to follow this curve that are a part of the gun. The other objects that need to follow this path are obviously the rounds themselves.

Does anyone have a good solution to this in Modo? The key things are simply that all respective objects follow the proper path, and the spring does not squish in the sense that the thickness of the wire actually changes. I want it to squish down like in real life, but I only know how to shrink it in the Y-axis that will eventually make the entire spring as tall as a single vertex.

Please let me know if I'm asking this coherently so that if I need to reword this to better explain myself, I can edit and do so.

Thanks in advance, Modonauts.

Message edited by austie702 on 10/1/2012 - 6:56 PM

I will be interested to see what suggestions people have.

Compressing the spring (I know exactly what problem you are talking about) may be a tough problem. At worst, you can manually create morphs by torquing (rotating) the spring along the short sides. But it would be nice to have a more elegant solution.

The rounds can be made to follow the path through path/curve constraints, but probably need some extra rigging to rotate properly as they travel up the magazine. You also want to prevent them from intersecting one another. I think I'd do that manually by keyframing the appropriate values for position-along-path that keep adjacent rounds in (visually) precise contact, rather than mess with recoil.
Ok I mocked this up for you, I have both a sample file and a video that covers the topic. I'm using Order of Operation to combine a weighted translation and a bend to give you the result I believe you are looking for... check it out

Video Discussing Spring Rig

Spring Rig Sample File

Enjoy :)

Message edited by Richard Hurrey on 10/1/2012 - 10:06 PM


I actually considered just what you mention here, and when I thought of how much work could be done in lieu of that I knew I just had to ask for help. :) Another idea I had was to rig a skeleton throughout the entirety of the spring (one bone joint for each and every topology loop) and then guide them by a wire as well. This also didn't seem the perfect (or practical) solution. Luckily, there seem to be people like Richard Hurrey in the world who not only have elegant solutions, but even take the time to show and explain what the result is! Which brings me to..

Richard Hurrey:

I literally cheered Out Loud when you got to the part where you could change the bend position, hah! This is a very impressively elegant, while robust, solution. I was going to wait to reply to this when I've had a chance to try it out, but it could very well take me awhile to get it all working correctly (again, I know nothing of rigging in Modo, so I'm just expecting a nice long learning curve, we'll see) and I wanted to reply straight away so you knew I saw & appreciate it. I actually saw your reply last night but didn't have time to answer, and then I wake up to a full demo having been added to your post. Many cheers and thanks! I'm excited to show you my progress and attempt at this in the near future.

Again, I can't thank you enough for the extra work you put into the example you made for this. This is exactly the kind of community I'd hoped to find in this online forum, thanks again! :)

This is very cool Rich. Thanks for taking the time to not only do a video but post the sample scene on the asset sharing site.
No problem at all guys... glad to help out. I really want to see more and more modo rigging that takes advantage of it's unique ways to solve problems :)
Richard, taking this to the next level, is there any clever thing that can be done if the renderable curve trick can't be applied? I.e., suppose the spring were wound from flat (rectangular) wire.

I have done one project which required compensation for bend "inside shrinkage" by exposing a pre-expanded morph through a falloff that followed the bend zone. However, the morph was specific to the bend location and radius. Is there a more general technique?
Having to deal with a square or flat wire is not that difficult really. You can just take the current curve that you are using for the render curve and use that as a spline deformer to deform the square/flat spring.
Thanks! That works nicely.
Rich, thank you for posting the video and the rig. These things are fun to watch and learn from, and your time is appreciated.
Very cool.

MODO, and the modo community ROCKS!

Thanks man... no problem at all. I can't get to every question asked here but when I can I try and help. At some point I'll have the training update done which should help a lot of folks with some of the most common questions I see raised here.
Richard, you rock!
Good to have you around here.
What would we TD wannabees do without you?

Hi Richard,(sorry for my english)

Thank you very much for all your rigging video i bought "Rigging Master Course" it's really nice.

but i wondering, from your sample "Spring Rig", where the best way to move all the rig on my scene.

I have made some rigging but almost always i have problem when i finish rigging and i want replace all my rig in my scene is not working because i have some double transformation and local/world tranformation problem.

like in your exemple if i tried to move and rotate the all rig on the scene it's not working where is the best way to fix this ?

Thank you again
Have nice day
You are fighting transformation vs deformation... I would need to see your scene to give you the help you need specifically.