
Crafting immersive experiences that bridge players and game worlds.
Gameplay and Engine programmer
FBX Viewer
FBX Viewer is my first directed focus study (DFS) during summer semester, focusing on importing binary .FBX file into my own game engine using official FBX SDK by Autodesk. This study involving loading vertexes info for whitebox model rendering, reading filepaths of binded texture maps and applying them to models, loading global transformation of joints as animation keyframes and updating vertexes each frame with keyframe transformation to form animation.

FBX Parsing:
FBX files use a hierarchical structure to organize data, similar to a tree structure, where each node represents an object, such as model(mesh), bone(skeleton), light, camera, etc. Therefore, reading an FBX file involving traversing its tree structure and process the data on each node based on type.

Skeleton:
FBX files use a hierarchical structure to organize data, similar to a tree structure, where each node represents an object, such as model(mesh), bone(skeleton), light, camera, etc. Therefore, reading an FBX file is basically traversing its tree structure and process the data on each node based on type.

Animation:
Each pose of the model is determined by the different positions of its joints, that is to say, the position and rotation of the joints control the movement of the model.In the FBX file, each vertex has its weight information created during the skinning. As the joints move, each vertex recalculates its new position based on the joint weights. With all the vertices updated, the model forms a new pose. And if we keep doing that every frame, they become animation.


Credit:
-
Mutant model and animations sourced from Mixamo.com, by Adobe
-
Wolf model and animation sourced from Free3D.com, by Dennis Haupt (3dhaupt)