Home Technical Talk

3ds Max: Animating a realistic and continuous system of Tank Tracks?

TheWiredFrame
polycounter lvl 7
Offline / Send Message
TheWiredFrame polycounter lvl 7
So far I've figured out how to set up a series of tank track objects running along a spline representing the path of tracks on my tank model. The positioning of the tracks at each point, however, is often completely incorrect as to what it should look like in real life. The problems naturally occur around sharp bends in the path, like so:
vem8va.jpg

As you can see, the tracks come about halfway off the path in the worst case, and are quite inconsistent around the whole corner area.

The method I used to create them is shown here (with the 2nd part detailing the creation of multiple segments):
https://www.youtube.com/watch?v=yBuwGbPXg8I

I suppose the problem is primarily that each segment is not somehow tied to the previous and next one like they would be in a real track. If the end points always joined up with end points of the surrounding segments, I imagine the problem would be fixed.

How is this kind of thing usually done? Surely they must be some pretty standard ways of implementing this kind of a system? It's surprisingly complicated...

Currently out of ideas...

Replies

  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    Compared to the reference image your track elements are too long. In your blueprint the tracks are made out of two different shapes. One track piece with "spikes" and one without. When you create your tracks this way you will get a better deformation.
    You could also try it with a centered pivot maybe this gives you a better deformation.
  • Noors
    Options
    Offline / Send Message
    Noors greentooth
    You can do it with a bone chain and a spline ik. I'm sure there are dozen of tuts on the web, but here's the page i used for animating a chainsaw once.
    http://developer.reallusion.com/whitepaper/Tank_Tracks/
    Now if you want a dynamic setup with the chain adapting to the terrain, that's another story.
  • TheWiredFrame
    Options
    Offline / Send Message
    TheWiredFrame polycounter lvl 7
    .Wiki wrote: »
    Compared to the reference image your track elements are too long.

    Ya, I did spend some time wondering about this... even thinking for a moment that it could have been possible it was some kind of alternating pattern but realizing that was impossible.

    Still, lining up the sections with the blueprint makes it seem like they're pretty much around the right size if not exact. Doesn't seem to be behaving right around the bends either way though. Can't imagine resizing them would fix it unless the tracks were made maybe half the size or less by the looks of things.
    .Wiki wrote: »
    In your blueprint the tracks are made out of two different shapes. One track piece with "spikes" and one without.

    I'll give a better pic of what I'm trying to achieve, since the side blueprint might be a bit unclear:
    http://upload.wikimedia.org/wikipedia/commons/8/8e/Mark_V_Tank_%286264956888%29.jpg
    (Huge picture, but it shows the tracks very clearly)

    From that, each segment seems to be more or less flat for 3/4 and then raising up in a rounded ridge of sorts towards the rear of the vehicle.
    .Wiki wrote: »
    When you create your tracks this way you will get a better deformation.
    You could also try it with a centered pivot maybe this gives you a better deformation.

    Centered pivot, eh?... Sounds like that'd be worth checking out alright. I'll try looking into that...
    Noors wrote: »
    You can do it with a bone chain and a spline ik.

    Bones did later come into my mind, and some searching made it seem like they're exactly what I need for this effect.
    Noors wrote: »
    I'm sure there are dozen of tuts on the web, but here's the page i used for animating a chainsaw once.
    http://developer.reallusion.com/whitepaper/Tank_Tracks/
    Now if you want a dynamic setup with the chain adapting to the terrain, that's another story.

    Cool, thanks. I'll go through that and see if it works out. Something simple should work for the foreseeable future at least :).
  • TheWiredFrame
    Options
    Offline / Send Message
    TheWiredFrame polycounter lvl 7
    Just tried centering the pivot and though it's still not perfect, it's probably good enough for most purposes and you wouldn't really notice anything if it was in motion or at a small distance. Good call.

    Will still try the bone method and compare results.
  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    I´m going to push this thread because i had to do a chain for a client :).

    wvufr9sz.jpg

    My setup is basically a curve with a number of nulls placed evenly. These nulls have a curve constraint which gets manipulated by an expression + offset value to control the movement with a control object.

    Then i created a second set of nulls. These get position-constrained to the curve nulls. This is to make sure that no flipping happens at the end of the curve.

    Finally the second set of nulls gets a direction constraint which lets them point to the next null on the chain. The nulls in the image are all facing into the same direction because i had the constraint compensation turned on when i created the constraints.

    After that i just copied the chain elements to the positions of the nulls and enveloped them.
Sign In or Register to comment.