*именно в ДАТЕ указываются специфические типы ключей анимации.
Примечание.
Если раздел DATA пуст, то такой контроллер будет вызывать сбои игры.
Вылет на рабочий стол собственно.
Кроме одного контроллера, этот раздел должен быть всегда заполнен!
Это примечание, в основном, актуально для случаев создания контроллеров посредством одного нифскопа.
Т.к. контроллер созданный в 3д Редакторе всегда будет иметь нужные данные.
Выдержки из оригинальной справки. (NDL Gamebryo 1.1)
Animation Keys
The data that the controllers use to control their targets are contained in keys, most of which are derived from the NiAnimationKey class. Most time controllers will reference a series of keys, each of which contains a time and some value associated with that time, although a time controller is not required to use keys. For example, an NiPosKey, which indicates position in 3-space, contains a time value and an NiPoint3. A controller that modifies position, such as an NiPathController or NiKeyframeController, will have access to a series of NiPosKeys. When Update is called, the controller will modify the time value based on frequency, phase, CycleType, and AnimType, and use that value with its keys to interpolate the keys' associated values. Note that the method of interpolation depends on the key type and the controller type. The interpolated value will then be applied to the controller's target in whatever manner that controller is designed to manipulate.
To reduce memory fragmentation and improve performance, animation keys are allocated in block arrays and those contiguous arrays are stored. Because of this, if you have a pointer to one of the abstract animation key classes (NiAnimationKey, NiPosKey, NiRotKey, NiFloatKey, NiColorKey) you must index into the array of keys by calling GetKeyAt(uiIndex) on the key pointer, where uiIndex is the index of the animation key in the array, instead of using the [] operator. This will ensure that you are indexing into the array correctly. Whenever creating or deleting animation key arrays, make sure not to create an array of instances of one of the abstract animation key classes. This will ensure that arrays of the correct type are being created and deleted.