Принцип работы скелетной анимации и её хранение в играх

Разберём принцип современного анимирования 3D моделей и грамотное хранение анимации в играх.

Для персонажей всюду используется костная/скелетная анимация. За счёт движения костей двигается геометрия, что прикреплена к данным костям. Прикрепление происходит за счёт вершин, что в той или иной степени привязаны к каким-либо костям. Степень привязанности вершины к каждой конкретной кости называется весом вершины. Кто хранит вес вершин? Свой вес хранят точки. Каждая точка имеет значение веса по отношению к какой-либо кости, которая на неё влияет. Хотя, можно записывать и наоборот – для каждой кости указывать вершины влияния и степень влияния на каждую.

Как в играх хранятся модели и скелетные анимации? В современных играх, начиная где-то с начала нулевых, для универсальности и минимализма модели хранятся отдельно от анимаций в разных файлах, ровно как и веса вершин моделей. Т. е. имеются отдельные файлы моделей, файлы весов вершин для каждой модели, и файлы анимаций – анимированные кости/скелеты. В движке всё это совмещается и может взаимозаменяться, т.е. к любой модели можно подставить любую имеющуюся анимацию, если они используют один тип скелета.