SoC. Анимации NPC — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) м («Анимации NPC» переименована в «SoC. Анимации NPC»: prefix) |
(→Часть первая.) |
||
Строка 1: | Строка 1: | ||
Недавно решил поэкспериментировать с анимками НПС, и теперь выкладываю результаты моих опытов над "людьми". Разумеется, опытные модмейкеры все это давно знают – поэтому материал предназначен для новичков, которые еще не освоили как прописывать неписям разные прикольные анимки, а заодно и озвучку через логику. Все анимки взяты из файла state_lib. script. Анимки, которые имеются в движке, но не вписаны в указанный файл, не рассматриваются. Это тема для отдельной статьи. Озвучка взята из файла sound_script (папка misc). Конечно, хотелось использовать и звуковые темы не вписанные в этот файл, но имеющиеся в папке sounds - но с этим еще надо разобраться. | Недавно решил поэкспериментировать с анимками НПС, и теперь выкладываю результаты моих опытов над "людьми". Разумеется, опытные модмейкеры все это давно знают – поэтому материал предназначен для новичков, которые еще не освоили как прописывать неписям разные прикольные анимки, а заодно и озвучку через логику. Все анимки взяты из файла state_lib. script. Анимки, которые имеются в движке, но не вписаны в указанный файл, не рассматриваются. Это тема для отдельной статьи. Озвучка взята из файла sound_script (папка misc). Конечно, хотелось использовать и звуковые темы не вписанные в этот файл, но имеющиеся в папке sounds - но с этим еще надо разобраться. | ||
− | + | AjGbLH <a href="http://wyaupmxewbeu.com/">wyaupmxewbeu</a>, [url=http://rpemjyjbxzbq.com/]rpemjyjbxzbq[/url], [link=http://bmhcsoyoxxqz.com/]bmhcsoyoxxqz[/link], http://kixdlbcjrrld.com/ | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== Часть вторая. == | == Часть вторая. == |
Версия 17:05, 18 мая 2011
Недавно решил поэкспериментировать с анимками НПС, и теперь выкладываю результаты моих опытов над "людьми". Разумеется, опытные модмейкеры все это давно знают – поэтому материал предназначен для новичков, которые еще не освоили как прописывать неписям разные прикольные анимки, а заодно и озвучку через логику. Все анимки взяты из файла state_lib. script. Анимки, которые имеются в движке, но не вписаны в указанный файл, не рассматриваются. Это тема для отдельной статьи. Озвучка взята из файла sound_script (папка misc). Конечно, хотелось использовать и звуковые темы не вписанные в этот файл, но имеющиеся в папке sounds - но с этим еще надо разобраться.
AjGbLH <a href="http://wyaupmxewbeu.com/">wyaupmxewbeu</a>, [url=http://rpemjyjbxzbq.com/]rpemjyjbxzbq[/url], [link=http://bmhcsoyoxxqz.com/]bmhcsoyoxxqz[/link], http://kixdlbcjrrld.com/
Часть вторая.
Еще одна схема. На этот раз в нее добавлены еще постэффекты.
[logic] active = remark@base danger = danger_condition meet = meet [remark@base] anim = hello_wpn no_move = true target = actor meet = meet on_actor_dist_le = 2| remark@punch danger = danger_condition
С первой ремаркой все понятно. Переход ко второй на дистанции ближе 2 метров.
[remark@punch] anim = punch snd = cit_jail_guard_sneer meet = meet@punch target = actor on_signal = sound_end| %=run_cam_effector(fatigue)% on_timer = 60000| remark@doctor_wakeup %=run_postprocess(deadcity_wake:1777:false)% danger = danger_condition [meet@punch] meet_state = 5|hide_s_left@wait| 4|hide_s_right@wait meet_state_wpn = 5|backoff2@threat_back victim = 10|actor victim_wpn = 10|actor use = true use_wpn = true meet_dialog = escape_lager_guard_start_dialog
punch– анимка удара рукой (или прикладом). Так как я не специалист по боксу, то не скажу точно как именно называется этот удар с правой в челюсть. Если поставите ее в meet_state_wpn на дистанции 2 метра - ГГ получит реальный удар в морду прикладом ствола. Так как я эксперементировал на своем торговце - то он (будучи безоружным) бил чисто кулаком. А если вместо запуска анимации камеры %=run_cam_effector(fatigue)% поставите запуск функции %=killactor%, то НПС кинется вас убивать.
hide_s_left и hide_s_right - непись присядет с разворотом ствола вправо или влево. backoff2 - более веселая анимка backoff. НПС покажет ГГ что-то вроде фака, перед тем как помахать стволом и при этом скажет что-то весьма нелицеприятное. %=run_cam_effector(fatigue)% - это вызов анимации камеры fatigue из папки anims. Земля уйдет из под ног ГГ. Ненадолго. Сработает сразу же после окончания фразы cit_jail_guard_sneer. А ровно через минуту от начала работы схемы – запуск постпроцесса %=run_postprocess(deadcity_wake:1777:false)% и переход к следующей схеме.
deadcity_wake – это постпроцесс, который должен был использоваться в Мертвом городе, если бы разрабы МГ все таки доделали. Если не видели - обязательно посмотрите.Сначала черный экран, затем прояснение с раздвоением картинки и красным фоном.
В следующей схеме идет продолжение постпроцесса – первые 15 секунд. Потом его остановка: on_timer = 15000| %=stop_postprocess(1777)%.
[remark@doctor_wakeup] anim = doctor_wakeup snd = cit_doctor_start_dlg meet = meet@doctor_wakeup target = actor on_timer = 15000| %=stop_postprocess(1777)% on_timer2 = 180000| remark@prisoner danger = danger_condition [meet@doctor_wakeup] meet_state = 3|sleep@cit_jail_guard_sleep| 2|sleep_sit@wait meet_state_wpn = 3|wounded_zombie@wait victim = 10|actor victim_wpn = 10|actor use = true use_wpn = true meet_dialog = escape_lager_guard_start_dialog
Начальная анимация - doctor_wakeup – доктор в мертвом городе. НПС склонится вниз – как будто над чьим то телом (по задумке – над меченым) и начнет базарить. Но совсем не то, что стоит у меня в строчке snd. Видимо, данная анимка завязана со звуком, и иначе не идет. Фразу прописанную мною - cit_doctor_start_dlg – нпс произнесет потом. Обе озвучки длинные – та, что идет с анимкой – монолог доктора в подземелье агропрома в тайнике Стрелка – типа, «что ж ты меченый в растяжку полез, сам же придумал эту хрень…» Моя озвучка - cit_doctor_start_dlg – неиспользованный монолог доктора в мертвом городе. Через 180 секунд – завершение схемы и переход к следующей.
Схема – пленный.
[remark@prisoner] anim = prisoner snd = agr_krot_fear meet = meet@prisoner target = actor on_timer = 60000| remark@base danger = danger_condition [meet@prisoner] meet_state = 5|help_me@gar_dm_newbie_no_money meet_state_wpn = 5|hands_up@agr_dont_shoot victim = 10|actor victim_wpn = 10|actor use = true use_wpn = true meet_dialog = escape_lager_guard_start_dialog [danger_condition] ignore_distance = 10
Анимка – prisoner – пленный. Помните Шустрого у бандитов? Вот это она и есть.
Фраза - agr_krot_fear – не смотря на то, что в названии звуковой темы имя Крота, орет ее Шустрый: типа братцы я тут, спасите.
help_me - машет рукой сидя на одном колене и орет, что у него "нет денег" - gar_dm_newbie_no_money . hands_up - руки кверху и орет "не убивай дяденька" (или типа того) - agr_dont_shoot.
Через 60 секунд возврат к базовой ремарке.
Часть третья.
В файле state_lib – большая библиотека анимок. Я успел попробовать только часть. У одного бармена их 12. Правда, из пяти опробованных мной сработала только одна bar_sleep - НПС положит голову на руки сложенные перед лицом и будет спать стоя.
Анимки - barman_talk_freу, barman_shock, barman_wait_danger, barman_walk_danger - никакого эффекта не дали. Видимо, они работают только на бармене. Остальные пробуйте сами.
Анимка psy_pain – пораженный пси-излучением. Чувак сядет на колени, начнет трясти головой и бить себе руками по голове.
psycho_pain – вроде бы тоже самое, только чувак обхватывает голову руками и так сидит.
Анимки psy_shoot, psy_armed, psycho_pain, psycho_shoot– пока остаются на стадии исследования. Так как с ними либо глючит, либо вылетает.
erlik