ASSIMP Skeletal Animation Tutorial Intro

Hey there! This first blog post is just to inform you, the reader, of the tutorial series on implementing Skeletal Animation with ASSIMP.

 

Here’s a nice video I made showcasing the scope of said series:

bit.ly/skelanimnicevideo

I was planning to embed the video directly on this page, but WordPress wants me to pay to do that.

So here’s a bitly to tide you over.

 

After that nice little video here are some bad ones.

You’ve been warned.

#1 – Recorded immediately after it decided to work: http://bit.ly/skelanimexample1

#2 – A more formal video detailing it … ish. – http://bit.ly/skelanimexample2

#3 – The playlist I made detailing my entire journey implementing Skeletal Animation (it only gets interesting (and really bizarre) about halfway through, watch at your own risk)

http://bit.ly/skelanimplaylist


DISCLAIMER: I rarely check my wordpress account because I find the website to be … well…

garbage.

Even when I do check it it doesn’t always tell me if there’s a new comment and it never sends me email or phone notifications, so I never know if someone here needs help with something. Also, this editor is trash.

What I’m getting at is, if you need help with something, have a doubt, or just want to contact me,

CONTACT ME ON MY YOUTUBE CHANNEL, NOT HERE ON WORDPRESS.

Also, if I come off as a master of Skeletal Animation anywhere in this tutorial, or if I seem like I have all the answers, I apologize. I do not know everything about the topic and would definitely not consider myself a master in any regard.

If you need help with a problem I will do everything I can to help you figure it out, but I cannot guarantee that I will be able to fix it. I’m just a guy who happened to get Skeletal Animation working in my engine, for the most part.

I just want to be able to point people in the right direction and help them where I can.

Thank you for your understanding.

END OF DISCLAIMER.


Now, in the rare case that this is the first page you’ve stumbled upon regarding Skeletal Animation with Assimp and how to implement it, here are some links you might find useful to help understand the fundamental concepts behind it all. If, however, this isn’t the first page you’ve seen, I’m guessing you’re probably sick and tired of seeing these webpages as you’ve probably stared at them for hours trying to understand why yours doesn’t work.

Trust me, I know how you feel.

If you fall in the latter category you can just skip this section, but please make sure you’ve already checked them all because when I was scouring the internet for resources I found one (#1) that I hadn’t been on before and it proved crucial to helping me implement animations. Note: these aren’t in any specific order, except for #1 … cause it’s the best.

#1 – “Skelatel Animation”: http://bit.ly/skelanimresource2

#2 – “The Devil In The Details: Skeletal Animation Reviewed”: http://bit.ly/skelanimresource1

#3 – “Skeletal Animation: Nick the Coder”: http://bit.ly/skelanimresource3

#4 – Here’s the one you’ve most likely been on the most – “Tutorial 38: Skeletal Animation”: http://bit.ly/skelanimresource4

#5 – “Assimp Skeletal Animation Transform Matrix Issues”: http://bit.ly/skelanimresource5

Note the answer on this one, specifically the bone offset matrices in aiBone are already global /combined, so there was no reason to concatenate.This is crucial to understand and the sooner you get this through your head the better, as it messed with me until the bitter end. What this means essentially is that you can implement Skeletal Animation using ASSIMP using only the offset matrices it gives you, they are fine as is, you do not need to do anything extra to them, just use them as they are.

#6 – “Ephenation OpenGL: Doing Animations in OpenGL”: http://bit.ly/skelanimresource6

#7 – “I can’t figure out how to animate my loaded model with Assimp”: http://bit.ly/skelanimresource7

This last one is truly an amazing resource as the question posed received an incredibly detailed answer that I definitely recommend you read before moving any further.


That’s all for this introductory post, I will get to typing up the rest of the tutorials as soon as I can (I have study hall tomorrow first period, so that’ll give me plenty of time to get started) and I hope that this, along with the rest of the tutorials, help to give you some much-needed clarity on this bizarre subject.

Thank you very much for reading, and see you in the next tutorial!

Next tutorial

Leave a comment