Восстановление Вырезанных Анимаций НПС.
Материал из S.T.A.L.K.E.R. Inside Wiki
Версия от 18:46, 3 августа 2010; ФеНиКс (обсуждение | вклад)
Редактирование Восстановление Вырезанных Анимаций НПС
Нус...Приступим=)
style="background-color:#E0FFFF" width=20% | Мой Тутор думаю поможет новичкам! |
---|---|
__________________________________ | |
Первые Шаги... | |
Что нам нужно??? | |
Для восстановления Нам нужно сначала посмотреть что нужно восстанавливать! Так ведь? | |
1. SDK | |
2. Конвертер от бардака! | |
Ну и естественно хоть чучуть умения в обращении с этими вещами! | |
Просмотр Анимаций... | |
Делаем бантик для конвертации модели из ogf в object. | |
Ну возьмем Модельку Наёмника! | |
Название: | |
stalker_ki_mask.ogf | |
Путь: | |
Теперь очередь Бантика! | |
Бантик: | |
converter -ogf -object stalker_ki_mask.ogf | |
pause | |
_____________________ | |
Всё запускаем бантик и появляется файл: | |
stalker_ki_mask.object | |
Открываем его в SDK и кликаем на три точки в motion reference , и снимаем все галочки! | |
Дальше нажимаем кнопку append и загружаем .skls файл! | |
чтобы получить .skls файл нам нужно создать опять же бантик и файл с анимациями! | |
Мы возьмём файл со сталкерскими анимациями! | |
Название: | |
stalker_animation.omf | |
Путь: | |
\gamedata\meshes\actors | |
Бантик: | |
converter -omf -skls stalker_animation.omf | |
pause | |
Всё, запускаем бантик и перед нами файл stalker_animation.skls | |
_____________________________ | |
Выбор анимации... | |
В SDK нажимаем на Motion и перед нами появляется список анимаций! | |
Я нашёл вырезанную анимацию чистки ствола! | |
Название: | |
chistit ruje_1 | |
_____________________________ | |
Восстановление... | |
Для этого нужно два файла: | |
state_mgr_animation_list.script | |
state_lib.script | |
В первом прописываем нашу анимку вот так: | |
stulik = { prop = { maxidle = 1, | |
sumidle = 1, | |
rnd = 100 }, | |
into = { [0] = {"chistit ruje_1", {a="wpn_sig220"}, "chistit ruje_1"} }, | |
out = nil, | |
idle = { [0] = "chistit ruje_1" }, | |
rnd = nil }, | |
Разъяснение: | |
Толком я не понял что за что отвечает, но что-то я всё же понял... | |
stulik -- Здесь можно писать что угодно это название анимки которое будет использоваться при | |
запись в Логику... | |
into -- использовать | |
out -- выкинуть | |
idle -- идловые анимки. | |
rnd -- используется для групповых анимаций, типа повернулся влево вправо встал сел... | |
nil -- не использовать. | |
Так же Объяснения от Замечательного человека Максим Р. | |
into - входная анимация (начальная); | |
out - выходная анимация (конечная); | |
idle - анимация между into и out; | |
rnd - случайная анимация, которая будет отыгрываться во время idle случайным образом. | |
chistit ruje_1 -- тут думаю понятно! (сама анимка) | |
Т.к. я до конца не разобрался врать не буду, что-то может и не так разъяснил то за что отвечает! | |
В state_lib.script пишем следующее: | |
stulik= {weapon = "unstrapped", | |
movement = nil, | |
mental = nil, | |
bodystate = nil, | |
animstate = nil, | |
animation = "stulik" | |
}, | |
Здесь разъяснять без толку, т.к. тут и всё понятно! | |
НО есть формальности из-за которых у меня и была ошибка( не появлялось оружие в руках) | |
Поясняю: | |
strapped - оружие на спине | |
unstrapped - оружие в руках | |
none - убрать вообще | |
drop - бросить | |
fire' - стрелять | |
все в Логике НПСа пишем: | |
[logic] | |
active = remark | |
'[remark] | |
anim = stulik | |
________________________ | |
Вот и всё Анимация Восстановлена!=) | |
Ну теперь спавним для нашего Чистильщика стул! | |
Создаёшь файл в папке creatures | |
Ну допустим назовём файл taburetka.ltx | |
и в него конфинги: | |
'[table]:identity_immunities | |
'GroupControlSection = spawn_group | |
discovery_dependency = | |
$spawn = "taburetka\table" -- тут указывается файл и секция (понадобится для спавна) | |
;$prefetch = 32 | |
class = II_ATTCH | |
cform = skeleton | |
visual = physics\stol\stol_obedenniy.ogf -- Визуал стола | |
radius = 1 | |
;script_binding = bind_physic_object.init | |
description = inventory_sakbox_01_desc | |
inv_name = | |
inv_name_short = | |
inv_weight = 10 | |
inv_grid_width = 3 | |
inv_grid_height = 3 | |
inv_grid_x = 22 | |
inv_grid_y = 29 | |
cost = 0 | |
can_take = false | |
[table_2]:table | |
GroupControlSection = spawn_group | |
discovery_dependency = | |
$spawn = "taburetka\table_2" | |
visual = physics\stol\stol_4.ogf -- тот же стол но с другим визуалом | |
[table_3]:table | |
GroupControlSection = spawn_group | |
discovery_dependency = | |
$spawn = "taburetka\table_3" | |
visual = physics\stol\stol_7.ogf -- аналогично | |
[stul]:table | |
GroupControlSection = spawn_group | |
discovery_dependency = | |
$spawn = "taburetka\stul" | |
visual = physics\stul\stul_1a.ogf -- Стул | |
Ах да! чуть не забыл!=) | |
Нужно прописать наш файл в system.ltx чтобы спавн работал!=) | |
куда-нибудь в начало пихаем вот это: | |
#include "creatures\taburetka.ltx" ' | |
Всё сохраняем! | |
Очередь спавна: | |
Cоздаём файл в папке gamedata\scripts | |
Назовём его esc_stul.script | |
в нём пишем: | |
function esc_stul () | |
alife():create("stul",vector():set(-X,Y,Z),l_v,g_v) | |
end | |
где XYZ пишем координаты места | |
где l_v g_v пишем левел и гейм вертексы. | |
Всё Наш Чистильщик усажен на стул!=) |
Создатель:ФеНиКс 10:32, 23 ноября 2009 (UTC)
Связаться со мной можно |
---|
По ICQ №559615499 |
ВКонтакте №id19647122 |
На СП(Сталкер-портале) Ник:Николай ФеНиКс |