×
Menu

Animation Controllers

Описание свойств контроллеров.
NiAlphaController  - управление прозрачностью.
NiFlipController  - анимированные текстуры.
NiGeomMorpherController  - изменение вертексов поверхностей.
NiKeyframeController  - перемещение объекта в сцене. Время, позиция.
NiLightColorController  - цвет освещения.
NiLookAtController  - контроль поворота.
NiMaterialColorController  - цвет материала.
NiParticleColorModifier  - продвинутое управление цветом частиц.
NiPathController - движение по пути.
NiRollController - постоянное вращение.
NiSkinInstance - контроллер связи костей с сетчатой оболочкой.
NiUVController - смещение текстуры.
NiVisController - мгновенная невидимость объектов.

— создает плавное регулирование прозрачности объекта.
Помещается на материал объекта.
*Требует наличие NiAlphaProperty.
 
— в настройках это полный аналог NiParticleSystemController.
Однако, является и системным именем, которое сообщает ряд интересных возможностей!
 
— контроллер потока текстур.
Воздействует на Текстурные Свойства.
 
— контроллер активного воздействия на сетчатую поверхность объекта.
Помещается только на шейпы.
 
— отвечает за фактическую анимацию движения объектов.
Это самый ходовой контроллер.
 
Время, позиция, размер, поворот.
В иных случаях, этот контроллер может быть «паразитным» и потребует его удаление, для правильной работы модели.
 
Важно!
Все контроллеры этого типа в файле, должны содержать
KeyFrameData с одним и тем же типом ключей!
Если ключи отличны друг от друга, это приведет к разного рода нарушениям анимаций!
 
— контроллер изменения цвета у фонарика.
Т.е. позволяет управлять цветом динамического эффекта вертекскного освещения модели.
Помещается на объекты типа Light.
 
— позволяет управлять цветом материала.
Воздействует на материал объектов.
 
— позволяет менять цвет частицам на разных стадиях их жизни.
Логично, вешается на частицы.
 
— контроллер управляющий частицами.
Только на частицы.
 
— Это тоже в своем роде контроллер.
Содержит пассивные настройки воздействия на поверхность шейпа.
Помещается только на шейпы.
Не имеет настроек времени.
Т.к.  является связующим звеном между физическими объектами и их "костями".
 
— передвижение текстуры по модели.
См. лаву, или щиты вокруг КГ, в игре.
Вешается только на Шейпы (т.к. требует наличие текстурной развертки).
 
— контроллер невидимости.
В отличие от альфа контроллера работает без переходов.
И не требует наличие альфы в свойствах объекта.
Вкл — объект видно.
Выкл — мгновенно исчез.
 
Отдельная группа, так называемых пофреймовых контроллеров.
Контроллеры работа которых зависит от частоты кадров игры, а не настроек времени в их свойствах!
Эти анимации НЕ проигрывается Нифскопом! Но может быть показана SceneImmerseViewerом.
— контроллер фиксирующий направление одного объекта на другой.
Позволяет сокращать кол-во кей-фрейм контроллеров в сцене.
Можно добавлять прямо в Нифскопе.
Ноды, шейпы.
 
— контроллер пути.
Указывается некую сложную траекторию по которому будет перемещаться целевой объект.
В принципе, можно добавлять в Нифскопе, но это несколько сложнее, чем ЛукАт и Ролл.
Ноды, шейпы.
 
— контроллер вращения.
Позволяет создавать вращающиеся, или качающиеся объекты, прямо в нифскопе.
Экономит размер файлов, время на создание анимации в МАХе, повышает ФПС в целом - т.к. работает с привязкой на ФПС.
Также может работать в связке с ЛукАтКонтроллером позволяя с ориентировать целевой объект относительно другого.
Ноды, шейпы.
 
 
Полный джентльменский набор для создания достаточно сложных анимаций и эффектов.
... Покрытый меняющимися картинками медленно ползущими по колеблющейся, испускающей частиц поверхности, блестящий, Чайник - всегда повернутый носиком в определенную сторону неспешно плывущий по сложной траектории трансформирующийся во вращающийся кувшин, который сменяет свой цвет постепенно становясь прозрачным, чтобы мгновенно исчезнуть и, через секунду, появится в виде куба освещенного разноцветными пятнами прожекторов, а затем рассыпаться на множество летящих бабочек играющих своим цветом по мере удаления от точки появления...
Какой-то так пример можно привести для полной иллюстрации всех возможностей поддерживаемых движком анимаций.
 
Обращайте внимание, что время завершения у всех контроллеров в сцене, должно быть равным!
Иначе это может приводить к разного рода ошибкам в анимациях для контроллеров Stop Time которых меньше!
Т.е. если в сцене есть NiKeyframeController, NiMaterialColorController, NiParticleSystemController и пр.
Stop Time должен быть одинаков!
Исключение, разве что Roll и LookAt.
Подобного рода проблема возникает при копировании контроллеров анимации из разных ниф файлов.
Особенно, это касается частиц, которые всегда содержат NiParticleSystemController .
 
Примечание.
Как правило, по умолчанию, контроллеры размещаются в слот Controller своего же целевого объекта.
Т.е. все типы нод, шейпы и свойства имеют строку именуемую Controller, куда и размещается контроллер анимации отвечающий за анимацию этого обхекта.
Однако, по факту, контроллер может быть прописан в этом слоте, вообще у любого другого объекта!
А равно в слоте Controller, нельзя указывать ничего другого кроме контроллеров анимации!
Т.е. если случайно указать номер шейпа, вместо номера контроллера, игра улетит в Краш.
Такая "конструкция" приведет к КТД!
Это правильная запись.
В слоте Controller указан КейфреймКонтроллера анимации.
 
 
 
 
Примечание.
Копирование контроллеров между файлами и в файлах см. здесь.
Общий список примечаний по возможности создания контроллеров только через нифскоп - здесь.

Примерная схема размещения контроллеров.
По обновленным данным, все контроллеры можно вешать последовательно на корень сцены, или на отдельную ноду.
Главное правильно указать целевые объекты в слоте Target контроллера.
Актуально при работе в Нифскопе.
     -NiVisController
     -NiPathController
     -niRollController
     -niLookAtController
     -NiUVController
     -NiGeomMorpherController
     -NiKeyframeController
          -NiSkinInstance
     -NiTextureEffect
     -NiVisController
     -NiKeyframeController
     -NiPathController
     -niRollController
     -niLookAtController
 
ВАЖНО!
- всегда проверяйте кол-во эффектов в свойствах Ноды.
Если ТекстурЭффект был удален, есть вероятность, что запись о нем осталась в списке эффектов.
Если это не подчистить, игра улетит в краш!
     -NiVisController (но лучше вешать на эмиттер!)
     -NiKeyframeController
     -NiTextureEffect  (размещается и на эмиттер и на ноду!)
     -NiPathController
     -niRollController
     -niLookAtController
     -NiParticleSystemController
     -NiBSPArrayController
     -NiParticleGrowFade
     -NiParticleColorModifier
     -niParticleRotation
     -NiVisController  (но лучше вешать на эмиттер)
     -NiTextureEffect
*если поставить иные контроллеры, то они, могут не работать как надо, либо будут работать постоянно.
*анимационная нода действует на всех своих детей! Т.е. на вложенных объектах, контроллеры тоже будут работать постоянно, без учета анимационных групп и иных факторов останавливающих анимации!
     -NiAlphaController
*требует наличие NiAlphaProperty иначе не будет работать. Даже если в материале есть прозрачность.
     -NiMaterialColorController
     -NiFlipController
 
ВАЖНО!
–     если случайно в настройках NiFlipController окажется пустая запись, без имени текстуры, игра улетит в краш!
–     Если подобная пустая запись окажется в нифе, даже за приделами основного блока, игра улетит в краш!
     -NiLightColorController