Horse Stuff


#1

Continuing the discussion from 4.20 Update:

This was 4 years ago and I don’t have a running sample. I published the entire project on github but it was for a game engine called ShiVa 3D.
horsetest

You can peruse the code here (it’s LUA). Most of the interesting stuff is prefixed with HorseController.

Refreshing my memory by browsing through the code, it looks like what I did was embarrassingly simple:

  • Take a stock horse running animation
  • Add physics bodies and constraints to the tail bones for live simulation
  • Grab one of the neck bones and rotate it in the direction that the player is trying to turn

I believe this was motivated by the horse in Shadow of the Colossus. Also my 3 year-old niece was living with us at the time and she wanted the horse to have a rainbow behind it as it ran… so the demo quickly degenerated into a playground.

After playing through the new Zelda, and coming away convinced that the horses were the true stars of the game, I started wondering how they were animated. I haven’t seen a making of yet but often wonder if you had good footage from 2 angles if you could rotoscope it. Or mocap.


#2

Cool.
The idea of loops + procedural animations that react to the conditions and the environment is very interesting.
The horse of Shadow of the Colossus is awesome. It’s one of my references, specially in terms of animation and style. It’s not veery realistic, but it’s very cool. I guess they focused in the cool factor. The animations are very airy, light, almost like it’s galloping a little in slow motion. And I recall liking also the fact that it dodges the trees by itself, something a real horse actually does.

About the setup you have done to the tail, I’m also planning here ways of making use of the latest physics bodies implementations in UE4, that are cheaper to simulate, to this kind of things.
The horses in the new Red Dead Redemption game look very rich, also.

Talking about procedural animation, have you seen this talk? The creator of Overgrowth showing how he implemented the animations, motion system etc, very cool:


#3

Thanks for posting the code. I’ll keep here in my favorites, “animation system” folder to see if I can borrow some parts or general approaches to the setups.


#4

Yeah I remember watching this several times when it came out and having my mind blown. I especially love his mix of ragdoll and animation with locomotion. And the really subtle stuff like covering his face when he’s about to crash headfirst into a wall. When I first watched this I wasn’t in :ue4: and didn’t even have blendspaces available to me, I’m guessing it would be far easier to implement this type of system now given the tools available.


#5

I’m guessing it would be far easier to implement this type of system now given the tools available.

Yeah, I watched this talk only recently and thought the same.
But I wished I was good enough at programming to do the advanced kind of stuff he did, just think “what if” and do as it seems he did.
If you go into something like this in UE4 count on me to provide test models, rigs etc - at least if nothing prevents me here from keeping the pace I’m keeping with my project.


#6

The wall running stuff is also very cool. Everything in the bunny’s locomotion system, actually.


#7

If you look at the whole system that he created, it looks complicated, but the individual pieces are not so complicated. It’s basically just Interpolating between poses, inverse kinematics and physics based animations. The first 2 are simple nodes in :ue4: animation editor, for the last there is a good content example for physics based animation blending.

Like anything there is a learning curve, but once you understand how to use the building blocks you can do some pretty awesome stuff by combining them in various ways.


#8

Yeah, it’s worth trying. Even it failing to some degree, sure it will be a lot of fun to try.


#9

Thanks for posting all of this, especially the video on animation.