With project deadlines in other classes snatching up most of my time this week, I was only able to get working on a few of Sprout’s animations. With that in mind, the main task I wanted to tackle this week was redoing the “harvest” animation.
I mentioned this in my last post, but “Harvesting” is broken up into two parts. The first being the idle, in which Sprout waits for player input. And then the “shake” which occurs when the player mashes x to actually shake the plant and collect resources.
After getting some great feedback from the team, it became super apparent that we needed an animation that was a little more versatile than the first pass. When I first animated the motion, I added one of Christie’s flower meshes to the project scene as reference. The harvest animation is supposed to show the player that Sprout is shaking the flower to collect seeds and petals. So I included the flower in the Maya project scene so I could line up Sprout’s hand with a swaying motion of the stem.
All-in-all, it wasn’t a super successful animation! There’s a bit of jitter, plus I goofed up the weight and feel of the motion itself. I posted this gif in the last blog post:
This animation definitely could work (with some polish) if that particular flower was the only type of flower in-game, but that’s not the case! Christie’s made a whole bunch of cool looking flowers ranging in size and scale (each based on the look and scale of actual real-life flowers). So we’ve got a variety of flower heights, and stem sizes to work with. In addition, the motion of the flower itself will be done programatically in-engine. And as it works in game now, it’s more of a general shake than a hinged vertical rotation, like in the above gif.
So we needed a harvesting motion that was general enough to work for a plant of any scale, but specific and fast enough to read as “shaking” the plant. We talked about making it a two handed motion, but I had concerns about how Sprout’s leaf would interact with that sort of quick gesture. It was a kinda tricky process, and for my second passes, I decided to bring Sprout closer to the base of the plant. I made a few different versions.
While I found these animations to be more successful motion-wise, they don’t do a very good job of representing the intended action. They range from “uprooting” to “pulling” to “digging”. And we’re trying to go for “give the flower whiplash”. I had some really helpful conversations with Alex and Christie, and from those talks I decided to try out the two handed harvest that had been brought up before.
I definitely need to address a few things during the second pass (like the motion of the leaf), but I think that overall it reads well as shaking! We’re going adjust the animation speed in-engine, but we agreed that this was closest to the intended motion.
While it took a few tries to get to this point, this process is a big reason why I really enjoy animating for games! When creating animation for games, sometimes you’re hit with constraints and caveats that exist because of the game’s design or code. While this can definitely be annoying in some ways, I think it’s a cool challenge. You have to take the motion you want to create, and figure out how that could work within the context of the game’s design. It turns animation into an interesting puzzle!