Восстановление Вырезанных Анимаций НПС. — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
ФеНиКс (обсуждение | вклад) |
ФеНиКс (обсуждение | вклад) (→Редактирование Восстановление Вырезанных Анимаций НПС) |
||
Строка 2: | Строка 2: | ||
'''Нус...Приступим=) | '''Нус...Приступим=) | ||
Мой Тутор думаю поможет новичкам!''' | Мой Тутор думаю поможет новичкам!''' | ||
− | __________________________________ | + | <br>__________________________________<br /> |
Первые Шаги... | Первые Шаги... | ||
Строка 26: | Строка 26: | ||
''converter -ogf -object stalker_ki_mask.ogf | ''converter -ogf -object stalker_ki_mask.ogf | ||
pause'' | pause'' | ||
− | ______________________ | + | <br>______________________<br /> |
Всё запускаем бантик и появляется файл: | Всё запускаем бантик и появляется файл: | ||
'''stalker_ki_mask.object''' | '''stalker_ki_mask.object''' | ||
Строка 35: | Строка 35: | ||
Мы возьмём файл со сталкерскими анимациями! | Мы возьмём файл со сталкерскими анимациями! | ||
Название: | Название: | ||
− | '''stalker_animation.omf''' | + | <br>'''stalker_animation.omf''' |
Путь: | Путь: | ||
''\gamedata\meshes\actors'' | ''\gamedata\meshes\actors'' | ||
Строка 41: | Строка 41: | ||
''converter -omf -skls stalker_animation.omf | ''converter -omf -skls stalker_animation.omf | ||
pause'' | pause'' | ||
− | Всё, запускаем бантик и перед нами файл '''stalker_animation.skls''' | + | Всё, запускаем бантик и перед нами файл '''stalker_animation.skls'''<br /> |
_____________________________ | _____________________________ | ||
Строка 55: | Строка 55: | ||
для этого нужно два файла: | для этого нужно два файла: | ||
− | '''state_mgr_animation_list.script''' | + | <br />'''state_mgr_animation_list.script''' |
'''state_lib.script''' | '''state_lib.script''' | ||
Строка 66: | Строка 66: | ||
idle = { [0] = "chistit ruje_1" }, | idle = { [0] = "chistit ruje_1" }, | ||
rnd = nil },'' | rnd = nil },'' | ||
− | + | <br /> | |
Разъяснение: | Разъяснение: |
Версия 18:06, 3 августа 2010
Редактирование Восстановление Вырезанных Анимаций НПС
Нус...Приступим=)
Мой Тутор думаю поможет новичкам!
__________________________________
Первые Шаги...
Что нам нужно??? Для восстановления Нам нужно сначала посмотреть что нужно восстанавливать! Так ведь?
1. SDK 2. Конвертер от бардака!
Ну и естественно хоть чучуть умения в обращении с этими вещами!
Просмотр Анимаций...
Делаем бантик для конвертации модели из ogf в object.
ну возьмем Модельку Наёмника!
Название:
stalker_ki_mask.ogf
Путь:
\gamedata\meshes\actors\killer
Теперь очередь Бантика!
Бантик:
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 = 10000 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" ' Всё сохраняем! Очередь спавна:
Создаём файл в папке 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 пишем левел и гейм вертексы. Всё Наш Чистильщик усажен на стул!=)