Maya экспортирует все анимации в один FbxAnimStack и FbxAnimLayer.В моей сцене есть несколько объектов с независимой анимацией, сгруппированных по объектам верхнего уровня:
Object_1
this_is_animated_1
this_is_animated_2
Object_2
this_is_animated_3
this_is_animated_4
Я бы хотел разделить один слой FbxAnimLayer на несколько слоев, по одному для каждого объекта.Мой план состоит в том, чтобы пройти через весь FbxAnimCurveNode, получить целевое свойство, получить FbxObject3D, к которому он относится, найти верхний уровень FbxObject3D и добавить эти кривые в соответствующий новый FbxAnimLayer.
Однако я застрял: какполучить целевое свойство из кривой анимации?FbxAnimCurveNode :: GetChannel является частным ...
for (int i = 0; i < scene->GetSrcObjectCount<FbxAnimCurveNode>() ; ++i) {
auto curve = scene->GetSrcObject<FbxAnimCurveNode>(i);
// Stuck ! How to retrieve the targeted
}
А может, весь мой подход неверен?