Skip to main content

Breakdown: How an AR-15 Works

By August 12, 2022September 12th, 20223D Modeling, Animation

And... that's a wrap!

Nine months of work and about 850 hours later, the AR-15 animation in complete!

Introduction

I love taking things apart and putting them back together. I think it’s why I’ve always had a fascination with mechanical parts and their relationship with one another. I’m certainly not an engineer by any means, but it doesn’t mean I can’t appreciate what goes into these little machines.

I come across a few comments about the “quality” of my animations. I think if anyone spent the amount of time I did on this, it would turn out just as nice! It really comes down to staying motivated and persisting through the end of the project. And for that, I don’t really have any tricks, other than going on walks and clearing my mind each day.

Anyway, enough with the boring stuff. Let’s get to the breakdown!

Research

Before beginning in animated project, I start with research. Searching Google for “most popular firearm in the US” brings up the AR-15.ย  I also got a ton of requests to do the AR-15/M16, so I wanted to cross this one off my list.

M4 Carbine - World of Guns

M4 Carbine – World of Guns

One of the most helpful resources in trying to figure out how the AR-15 worked was World of Guns on Steam. It let’s you field strip tons of different firearms, hide/show parts, show part names, and show the main firing sequence. I can’t recommend it enough.

I did notice a few errors with the World of Guns model however. For instance, their version of the AR-15, the M4 Carbine, appeared to be a combination of both the full-auto and burst fire trigger mechanisms.

Modeling

AR-15 Parts

AR-15 Parts

After an initial research phase, the next step was to actually build the 3D model. I would normally start by purchasing a basic rifle model from TurboSquid or CGtrader. I wasn’t super happy with the results on these websites, and wanted something a bit more accurate. So then I consulted a CAD website like GrabCAD and found a nice lower receiver to start with. However, I didn’t use any actual CAD files in my animation. The 3D files were only used as reference. I wanted a bit more control with texturing, and it also felt better knowing I created the model myself.

I modeled all the pieces inside Cinema 4D, which is more polygonal-based in its approach, as opposed to actual dimensions, where you might think of SolidWorks. I also did a ton of Google image searches for each part, and tried to get them as close to the original as I could.

Anar Akberli

I was also contacted by Anar Akberli, who offered his incredible 3D modeling skills to create the bolt/bolt carrier parts used in my animation. I did make a few small tweaks, more specifically with the cam pin track, but the majority of the credit goes to him. You can find his Instagram here: https://www.instagram.com/artaka3d/

Individual Parts

In total there were about 150 parts that make up the entire AR-15 animation. This includes the M16 and M4 parts that show the auto/burst fire modes.

Click the thumbnails to see wireframes and additional angles:

Lower Receiver

Upper Receiver

Bolt Carrier

Bolt

Stock

Pistol Grip

Handguard

Front Sight

Barrel

Flash Hider

Magazine

Carry Handle

Delta Ring

Charging Handle

Forward Assist

Ejection Port Cover

Trigger (burst)

Hammer (burst)

Bolt Catch

Magazine Catch

Rigging

AR-15 XPresso Node Tree

AR-15 XPresso Node Tree

After all the models were pretty much created, I was ready to begin rigging. This was by far my favorite part of the project. It makes the animation process 100x easier by assigning sliders to the movement of parts. For example, instead of manually animating the trigger’s rotation, I assign a slider to it that defines a minimum and maximum movement. For that same slider, I can also assign the movement of the trigger spring. So one slider to control multiple parts.

To set all this up, Cinema 4D has an expression system known as… well, XPresso๐Ÿ˜œ. It’s sort of like a dumbed-down version of programming. Because let’s face it… I’m definitely not a programmer haha.

Texturing

After everything was for the most part rigged, I was ready to start creating materials and textures. I wanted something a bit more realistic, as opposed to some of the built-in tools that Cinema 4D offers. With Corona renderer, I was able to create better looking metals and plastics with ease.

While most of the materials have a fairly simple setup, others took a bit more finesse to look nice. Corona offers a node material graph that helps to provide a visual breakdown of how things are set up.

Corona Node Material

Corona Node Material


Corona Materials

Corona Materials

If you look closely at some of the parts above, you may notice they’re missing certain details, like screw threads. I was able to add this in at render time using a simple gradient, and Corona’s displacement channel feature:

Front Sight Post Front Sight Post

Elevation Knob

Substance 3D Painter

Substance 3D Painter

There was one part that I did resort to using Substance Painter on… the elevation knob haha. Substance Painter allows even further control, essentially “painting” on details to each model. For instance, being able to apply scratches or fingerprints to certain parts of a model. The only reason I ended up using it on the elevation knob is because it has numbers and ridges that surround the perimeter of the part. I’m not sure this would have been possible to create as a Corona material, so I just created this inside Substance.

Storyboarding

AR-15 Storyboard

AR-15 Storyboard

Before doing any actual animation, it’s important to establish the order of events that take place. This is where storyboarding comes in. A template of all the topics I’d like to cover, starting with most important and ending with least important. I’ll write a full script of the animation, and render out still frame images to accompany the script.

I should mention that storyboarding normally takes place before any modeling/texturing. However, I do things a little backwards haha! Since I absolutely hate sketching/drawing, I like to use rendered thumbnails in place of sketches. And since I probably need to create the entire model anyway… why not ๐Ÿ˜œ.

Animation

With all the shots established, and the script written, it was finally time to begin animating! Cinema 4D’s animation tools are pretty great, which certainly made the process easier. With a feature known as the Take system, I was able to create all my animation scenes in one project file.

AR-15 Animation

Cinema 4D Takes

Cinema 4D Takes

AR-15 Firing Sequence

AR-15 Firing Sequence

Rendering

AR-15 ExtractorWith all the animation data in place, it was time to begin the rendering process! An 8 minute, 30 second animation is a total 510 seconds. Each second of animation is 30 still frame images (assuming the animation runs at 30fps). So I would need to render AT LEAST 15,300 still images. And that doesn’t include the transition frames, as portions of the animation transition from one piece of footage to another.

I’ve got a pretty decent machine, with a 16-core CPU. But let’s be honest… with each frame of animation taking between 5-10 minutes to render, I wasn’t about to render the entire thing on that sucker. So I resorted to a render farm known as Pixel Plow to do the work for me. It’s pretty simple… I send them my project files, they render all my frames on their huge farm, and I get my rendered images in a fraction of the time.

Compositing

After I had gotten all the rendered frames downloaded from the render farm, it was time to composite everything in After Effects. This is where I did some color-correction, added particles, lens flares, depth of field, etc. This is also where I added Andy Taylor’s amazing voiceover, as well as some music purchased from PremiumBeat and Storyblocks.

After EffectsAfter Effects

AR-15 Bullet Simulation

At about 2:33 in the animation is when the expanding gases from the powder charge propel the bullet through the barrel. For this particular part, I used a plugin called TurbulenceFD to create the fire effect. I was then able to overlay the rendered fire frames over the AR-15 animation.

Fire Simulation

Conclusion

As you can see, there are many pieces that make up an entire animation! So again, when someone asks why it takes me so long to create these animations, hopefully this sheds some light on it ๐Ÿ˜‹. I do think there are plenty of people out there that could produce the same quality of animation in a fraction of the time. I just have trouble getting past my OCD in making sure the geometry is as good as I can get it, parts don’t intersect, etc.

I hope this article was helpful to explain my creation process. If anyone has additional questions, feel free to use the comments section below and I will try to answer as quickly as I can!

6 Comments

  • planyto says:

    Just found your channel and binge watched your animations. This is crazy… The amount of work…. Unbelievable to me. You must have lots of requests also on doing animations for companies and such, and well deserved. You are too humble, though. I do not think that a lot of people can do it like you did.

    All the best to you

    • Oh man seriously, thank you so much! Itโ€™s such a good feeling knowing people are enjoying my animations. Especially the fact you are binging ๐Ÿ™‚
      It is so much work to put these together. I do wish I had the ability to pump them out quicker, as some other animators I admire. Something that will always bother me.

      Anyway, thanks again for the kind comments! Reading things like this really drives me forward to create more ๐Ÿ™‚

  • Satyam says:

    You are amazing. Can you please tell your all pc specifications.

    • Haha thanks Satyam! Nothing out of the ordinary spec wise:

      • AMD Ryzen 3950x
      • NVIDIA 2080Ti
      • 64Gb RAM

      Most of the rendering itself was done using an external render service. The modeling and animation portion itself doesnโ€™t require a high spec machine.

  • Its amazing that you’ve put a lot of hard work into your project. Thanks for making such quality educational content for everyone.
    I hope we would collaborate in the near-future.

Leave a Reply

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.