Specialization: FABRIK (Procedual Animation) | Canceled

Table of Contents
Intro
At The Game Assembly, students take a course called Specialization, where they choose an area of focus to explore in-depth. For my specialization, I chose procedural animation, specifically using the FABRIK (Forward and Backward Reaching Inverse Kinematics) method.
My original plan was to create a procedurally animated spider in Unreal Engine. However, I ran into significant challenges with rigging and engine compatibility. After struggling for a few weeks, I decided to switch to Unity, which proved to be a more manageable environment for my project.
What is FABRIK
FABRIK, short for Forward and Backward Reaching Inverse Kinematics, is a powerful algorithm used in animation and robotics. Unlike traditional inverse kinematics methods, FABRIK iteratively adjusts bone positions in a way that creates smoother and more natural-looking motion. It allows for precise control of articulated structures, making it ideal for lifelike character movement.
Why I pick procedual Animation as my specialization
I get so excited when i see awesome procedual animation, it's fascinating. Procedual animation breaks the rules of traditional animation and opens up more possibilities to do. I decieded to pick it because of my passion for animatoin.
There was this one clipthat first got me hooked on procedual animation ages ago. I never tried doing it because I hade no knowledge in programming but this time i will attempt doing it.
The Struggle Begins
My journey started with the ambitious goal of creating a procedural animation system for a spider in Unreal Engine. I planned to begin small, focusing on a single leg and implementing inverse kinematics (IK) before expanding to the full body.

However, I quickly ran into a major roadblock: upon exporting my leg model to Unreal, the skeleton kept disappearing. No matter how many times I tried to troubleshoot the issue, I couldn’t get it to work correctly.
Frustrated but determined, I decided to pivot and move my project to Unity. This transition immediately resolved my skeleton import issues, which was a huge relief. But a new challenge emerged—when applying the FABRIK method, the leg mesh stretched in an unnatural way, far from the smooth motion I had envisioned.
Implementing FABRIK: Progress & Result
To debug my setup, I created a script called Bone Setup, which renders the bones as visual elements. This helped me verify their positions and detect any issues with movement. I also included functionality to adjust the color and size of the bone indicators for easier debugging

heres a little bit of the code.

Code Inspiration & Structure
My FABRIK implementation is a hybrid of multiple approaches. I took inspiration from an IK system available on the Unity Asset Store and combined it with Unity’s Animation Rigging package. Additionally, I modeled my Bone Setup script after Unity’s built-in bone renderer to improve visualization.
Here's the structure of my setup:
|- Character
|- Root_jnt
|- sk_character
|- Rig1
|- LeftLeg (IK script component attached)
|- Target (Script to move the target)
|- RightLeg (IK script component attached)
|- Target (Script to move the target)
|- LeftArm (IK script component attached)
|- Target (Script to move the target)
|- RightArm (IK script component attached)
|- Target (Script to move the target)


Conclusion
My specialization journey in procedural animation was filled with challenges, but each obstacle helped me develop my problem-solving skills and deepen my understanding of FABRIK. Switching from Unreal to Unity was a tough decision, but it ultimately allowed me to make significant progress.
However, after the course ended, I decided not to continue working on the project. While I could have refined aspects like mesh rotation, I realized that I didn’t actually enjoy working with FABRIK as much as I had expected. This experience taught me not only technical skills but also the importance of choosing projects that truly engage and excite me.