×
Меню
Индекс

MSFD Анимирование объектов

Есть группа функций, позволяющих проигрывать определенную анимацию, заданную в модели (файл .nif).
Вы можете выяснить имена анимационных групп, загрузив модель в окно просмотра и затем, просматривая различные анимационные группы, или посмотреть в окне "base animation" в меню "Character".
Великолепное собрание информации об анимационных группах можно найти здесь:
http://morrowind.preik.net/animationgroups.html (внезапно сайт еще живой) (хотя смысл туда идти, если все это уже есть здесь)
 
Но только то, что перечислено в окне “base animation” можно вызвать этой функцией.
Дополнительную анимацию, можно загрузить, использую кнопку анимации в меню объекта.
См танцующих девушек в Доме Наслаждений Дезель в Суране.
Не у всех моделей есть анимационные группы, но различные флаги (под активаторами) — хорошие примеры, чтобы выяснить, что они означают.
 
Пример для GroupName: idle, idle2, idle3, walk, и т.д.
 
Эти функции не работают на игроке:
PlayGroup, GroupName, [Flags]
 
     PlayGroup, walk, 1
 
Проигрывает анимацию, определенную через GroupName.
Опциональные флаги могут использоваться для того, чтобы начать проигрывание группы различными способами (см. ниже).
 
LoopGroup, GroupName, Number_enum, [Flags]
 
Проигрывает анимацию, определенную через GroupName.
Анимация будет проигрываться определенное количество раз, а затем вернется к анимации бездействия (Idle).
Опциональные флаги могут использоваться для того, чтобы начать проигрывание группы различными способами (см. ниже).
 
SkipAnim
 
Текущая анимация не проигрывается в этом фрейме.
 
Флаги:
0 = Обычный
Текущая анимация проиграется полностью, а затем начнется новая анимация.
1 = Немедленный старт
Текущая анимация будет остановлена вне зависимости от того, на каком она сейчас кадре, а затем новая анимация проиграется с начала.
2 = Немедленный цикл
Текущая анимация будет остановлена вне зависимости от того, на каком она сейчас кадре, а затем новая анимация начнет циклично повторяться.
 
 
Примечание: PlayGroup не работает на игроке.
С установленным Бладмуном у NPC есть небольшие глюки с анимацией.
Когда вы вызываете ее из консоли, она работает нормально, но когда вы пишите в скрипте NPC->PlayGroup, group, 1, может, оказаться, что анимация проигрывается совершенно другая. (Информация с форумов / Kir).
Так что придется поэкспериментировать, чтобы найти нужную анимацию.
(Посмотрите на список анимаций бездействия NPC для AIWander, Kir работает над инструментом NPC Animation Explorer «NPC Animation Explorer» (Проводник для анимаций NPC), следите за прогрессом!)
 
Пример:
Это оригинальный скрипт, присоединенный к наружным вывескам и заставляющий их двигаться в зависимости от погоды:
 
begin OutsideBanner
 
;это скрипт для наружных вывесок, который
;анимирует их на ветру.
;Idle — штиль, Idle2 — легкий бриз, и Idle3 — сильный ветер
short ran
 
if ( MenuMode == 0 )
     set ran to random 100
     if ( ran < 30 )     ; 30% шанс, что флаг сделает что-то новое
          if (GetCurrentWeather  >= 5 )               ; гроза, пылевая буря или мор
               LoopGroup, Idle3, 5
          endif
          ; последняя анимация, вызванная в скрипте, будет проигрываться
          if ( ran <= 10 )
               PlayGroup, Idle
          elseif ( GetCurrentWeather < 5 )
               PlayGroup, Idle2
          endif
     endif
endif
 
end OutsideBanner