How To Use Dynamic Joint Chains To Make A Flapping Wing Rig

June 16, 2015


In this AskGSG, Jake Vardaman asks us how to create a flapping wing animation similar to this lovely piece by Nejc Polovsak. First, Chris adds dynamics to a joint chain. Then, uses Signal to get the flapping animation working. Then, he binds some simple geometry to the rig to make a flapping wing. Then, Nick experiments with X-Particles to layer some more detail to the final animation.

Watch the Video

This video was recorded during a live episode of AskGSG. Visit our AskGSG Page to see our schedule and see how you can get recordings of our live show and Scene Files from this video.

[cta id=”262541″ vid=”0″]

Tutorial Focus:  , , ,
Software:  ,
Educator:  ,

  • It turns out the told I couldn’t remember at the time was the Weights Manager. Just fyi.


    • Hey Chris, I found the Weights Manager but I still having trouble getting the rig to look smooth. A lot of my polygons are stretching in weird ways. How can I get the Polygons to stretch more evenly?

  • Thanks for posting this guys. This has been one of favourite tutorials from you. I love the way you bounce ideas off each other and get excited by the results.

    I can feel the abyss calling…

  • Very, very cool guys!

  • Almost didn’t watch this one because I don’t really care about joints, or at least I didn’t until now. Thanks guys!

  • Fan-Tas-Tic!!!…wow, that looks so cool!

  • Thanks a lot for another great tip!

    I played around and ended up with this and a question:

    I made an instance of the animation and put it into a clone object.
    Tried several approaches to offset the clone animations so the wings don’t flap synced.

    Any idea someone?

  • Nick, thank you very much for the lessons. In English I’m down, so you have to closely monitor your hands)) Marvel at your skill and try to absorb more information, more to learn. Thanks again! Wishing you health, success and new interesting lessons! Here’s what I did after 4 months))) Thanks to you)))

  • Hello greyscalegorilla! sorry to posting here, but couldn’t find place where to send this quesion. i’m big fan of you, it’s really amazing what your team are doing. I really love tutorials, atmosphere. Maybe you could help me to accomplish this project. i’m trying to do something like this . I could find and place all airports in world, but can’t figure out how to create curved traces over points with real data. Here is what i have done:

    1. I parsed data from orouostai.cvs and placed points in x z positions over polygon object.
    -17.3542 , -145.4961 , AER
    31.0733 , 33.8358 , KZN
    36.8222 , 7.8094 , OVB
    29.7275 , -85.0274 , CEK

    Here is code for doing it:

    import c4d
    import csv
    import re

    filepath = r’D:\Grafikos Dizainas\Projects\LRT\Plazmos grafika\JM\C4D\python\data\orouostai.csv’
    scale = 10

    def GetData(source):
    data = list()

    with open(source, ‘r’) as csvdata:
    dataset = csv.reader(csvdata, delimiter=’,’)
    for row in dataset:

    pattern = re.compile(“[A-Z]{3}|[A-Z]{1}[0-9]{2}”)
    search =[-1])
    abbr =

    data.append(‘%s, %s, %s’ % (abbr, row[0], row[1]))

    return data

    def DrawData(source):
    container = c4d.BaseObject(c4d.Opolygon)
    container.ResizeObject(len(source), 1)

    for i in range(0, len(source)):
    row = source[i].split(‘,’)
    x = float(row[1]) * scale
    y = float(row[2]) * scale

    container.SetPoint(i, c4d.Vector(x, 0, y))

    doc.InsertObject(container, None, None)

    DrawData( GetData(filepath) )

    i got all points in place, but how join whem with curved spline by airport short name from another cvs file marsrutai.cvs

    AER ‘ KZN
    ASF ‘ KZN
    ASF ‘ MRV
    CEK ‘ KZN
    CEK ‘ OVB

    Sincerely, D.

  • can’t find the signal in the null object, (Cinema4d [r14.041]) is it even in this version?

  • hi nick… daniel pattillo from chile.
    i need to ask you a question about cinema 4d. i’m working in cinema r15 and i’m making a scene with spheres in to a cloner and the cloner “atached” to a spline, this last one have a bend deformer. In this work i need de spheres deposit in a surface, but after that this spheres need to melt a little bit, that’s the tricky part. i tried with a lot of deformers (buldge, stretch and squash). the ffd deformer was the most closer result, i just move the deformer box after the spheres deposite in the surface. but i need more melt between the spheres. i read a lot and found that metaball can do that job very well but, this is my problem now… when i put the cloner inside the metaball all the materials in my cloner go away.. how can i use metaball in a cloner without losing my material???? is this possible ???
    nick, i’m a big fan of your site and i wanna say thank’s no matter if you can answer my question..

    sorry about my english, is not to good.
    big hug for you from chile, and once again thank you so much

  • Thanks nick , I want to ask about reflection in this video its look great I think its a multi-pass (C4D & AE) , please help me with full tutorial (C4D & AE) thanks again.

  • Hello Nick, are you planing to do any tutorials on corona renderer? Corona alpha v3 is out and it have some sweet features.

  • Tappan Peterson June 22, 2015 at 4:24 pm

    Btw, Chris there is a check box in the IK Dynamics tab under Advanced called “Continuous Update”. Unchecking that, which is on by default, will mean that Cinema only calculates dynamics from that tag when you press play. Hope that helps.

  • Baptiste Stecher June 26, 2015 at 2:45 am

    Hi there, i wonder if this is posible without using this high expensive Xparticles?

  • Hey Guy, my rig just goes mad after i signal it and it moves? why please help

  • VICTOR MATEOS SILVA August 2, 2015 at 1:30 am

    Thank you very much for the tutorial.
    Here I leave a sample of what I could make.

  • I love the enthusiasm guys! I’ve had animators walk me through setting up rigs in other software packages many times before, but it never really stuck. This has been super helpful and I can’t wait to put this to use. Cheers!

  • Really great tutorial, I’d never really played with joints before – I always found them a bit intimidating. But you guys have simplified them and made them fun to use, so cheers for that!

    Just out of interest, what effector or setting would one have to use, in order for the X-particles to be affected by the downward movement of the wings? So in other words, the particles that exist in the scene after a few flaps of the wings; how would you make these “older” particles swirl or displace naturally as the wings beat down?

  • Good. great work. Thank tut of guys

  • I’m using this rig for my dragon wings, but the wings go crazy and start deforming it. Any ideas on how to fix it?

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

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