×
Menu

NiBSAnimationManager - notes

 
Если добавить этот элемент в ниф файл, то в SSG можно увидеть:
Если содержит обычные ноды.
Если же разместить  NiBSAnimationNode.
Т.е. значение Managed Nodes меняется при наличии вложенных NiBSAnimationNode.
А в игре, полностью отрубается любая анимация!
Т.е. анимация на вложенных в NiBSAnimationManager объектах перестает проигрываться.
Даже в случае использования KF файлов!
 
По видимости, лучше не внедрять этот объект в ниф файлы!
Если конечно нет цели специально заблокировать анимации...
 
Примечание.
Если, был добавлен в ниф файл и содержит больее одной  NiBSAnimationNode - приводит редактор к вылету.
Если добавить экстрадату, или использовать КФ файл - вылетов не происходит.
Однако и никакой анимации тоже не будет!
Ни по команде из скрипта, ни постоянной от NiBSAnimationNode.
Флаг по видимости не влияет (42, 0, 32, 8 - ничего не показали).
 
Примечание.
Можно добавить в Nif.xml файл.
Это позволит открывать модели содержащие этот объект, равно, как и создавать его.
    <niobject name="NiBSAnimationManager" abstract="0" inherit="NiNode">
    </niobject>
 

SSG в редакторе.
И в игре.
Кол-во Managed Nodes = кол-ву объектов в сцене.
 

NiBSAnimationManager возможно производное от AnimationManger (который есть в справке).
Выдержка из оригинальной справки. NDL Gamebryo 1.1
Где проходит как:
 
A utility class for managing animations. The base implementation operates on the assumption that there is one NiKeyframeManager (and therefore one animated object) per animation manager. The class contains a subclass that holds information pertaining to sequences that the animation manager deals with. This class, AM_SequenceInfo, contains a pointer to the sequence, the cycle type (looping or clamped), a pointer to a function that will be called on completion of a clamped animation, both a void pointer and unsigned int to be used as context values in the callback, and the start and total times for the sequence.
Sequences are added from keyframe files that are loaded during initialization. Once loaded, the application can set the cycle type, the callback function and the context for each sequence. It is important to note that the application itself must have knowledge of the sequences loaded for setting this information.