Восстановление Вырезанных Анимаций НПС. — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
ФеНиКс (обсуждение | вклад) |
ФеНиКс (обсуждение | вклад) |
||
| Строка 25: | Строка 25: | ||
|- | |- | ||
|'''stalker_ki_mask.ogf ''' | |'''stalker_ki_mask.ogf ''' | ||
| + | |- | ||
|Путь: | |Путь: | ||
|- ''\gamedata\meshes\actors\killer'' | |- ''\gamedata\meshes\actors\killer'' | ||
| Строка 105: | Строка 106: | ||
|<br /> | |<br /> | ||
|- | |- | ||
| − | Разъяснение: | + | |Разъяснение: |
| − | Толком я не понял что за что отвечает, но что-то я всё же понял... | + | |- |
| − | ''stulik'' -- Здесь можно писать что угодно это название анимки которое будет использоваться при запись в Логику... | + | |Толком я не понял что за что отвечает, но что-то я всё же понял... |
| − | ''into'' -- использовать | + | |- |
| − | ''out'' -- выкинуть | + | |''stulik'' -- Здесь можно писать что угодно это название анимки которое будет использоваться при |
| − | ''idle'' -- идловые анимки. | + | |- |
| − | ''rnd'' -- используется для групповых анимаций, типа повернулся влево вправо встал сел... | + | |запись в Логику... |
| − | ''nil'' -- не использовать. | + | |- |
| + | |''into'' -- использовать | ||
| + | |- | ||
| + | |''out'' -- выкинуть | ||
| + | |- | ||
| + | |''idle'' -- идловые анимки. | ||
| + | |- | ||
| + | |''rnd'' -- используется для групповых анимаций, типа повернулся влево вправо встал сел... | ||
| + | |- | ||
| + | |''nil'' -- не использовать. | ||
| + | |- | ||
| − | Так же Объяснения от Замечательного человека Максим Р. | + | |Так же Объяснения от Замечательного человека Максим Р. |
| − | ''into'' - входная анимация (начальная); | + | |- |
| − | ''out'' - выходная анимация (конечная); | + | |''into'' - входная анимация (начальная); |
| − | ''idle'' - анимация между into и out; | + | |- |
| − | ''rnd'' - случайная анимация, которая будет отыгрываться во время idle случайным образом. | + | |''out'' - выходная анимация (конечная); |
| + | |- | ||
| + | |''idle'' - анимация между into и out; | ||
| + | |- | ||
| + | |''rnd'' - случайная анимация, которая будет отыгрываться во время idle случайным образом. | ||
| + | |- | ||
| + | |'''chistit ruje_1''' -- тут думаю понятно! (сама анимка) | ||
| + | |- | ||
| + | |Т.к. я до конца не разобрался врать не буду, что-то может и не так разъяснил то за что отвечает! | ||
| + | |- | ||
| − | + | |В '''state_lib.script''' пишем следующее: | |
| − | + | |- | |
| − | + | |''stulik= {weapon = "unstrapped", | |
| − | + | |- | |
| − | + | |movement = nil, | |
| − | В '''state_lib.script''' пишем следующее: | + | |- |
| − | ''stulik= {weapon = "unstrapped", | + | |mental = nil, |
| − | movement = nil, | + | |- |
| − | mental = nil, | + | |bodystate = nil, |
| − | bodystate = nil, | + | |- |
| − | animstate = nil, | + | |animstate = nil, |
| − | animation = "stulik" | + | |- |
| − | },'' | + | |animation = "stulik" |
| − | + | |- | |
| − | Здесь разъяснять без толку, т.к. тут и всё понятно! | + | |},'' |
| − | НО есть формальности из-за которых у меня и была ошибка( не появлялось оружие в руках) | + | |- |
| − | Поясняю: | + | |Здесь разъяснять без толку, т.к. тут и всё понятно! |
| − | ''strapped'' - оружие на спине | + | |- |
| − | ''unstrapped'' - оружие в руках | + | |НО есть формальности из-за которых у меня и была ошибка( не появлялось оружие в руках) |
| − | ''none'' - убрать вообще | + | |- |
| − | ''drop'' - бросить | + | |Поясняю: |
| − | ''fire'' - стрелять | + | |- |
| − | все в Логике НПСа пишем: | + | |''strapped'' - оружие на спине |
| − | '''[logic] | + | |- |
| − | active = remark | + | |''unstrapped'' - оружие в руках |
| − | + | |- | |
| − | [remark] | + | |''none'' - убрать вообще |
| − | anim = stulik'' | + | |- |
| + | |''drop'' - бросить | ||
| + | |- | ||
| + | |''fire'' - стрелять | ||
| + | |- | ||
| + | |все в Логике НПСа пишем: | ||
| + | |- | ||
| + | |'''[logic] | ||
| + | |- | ||
| + | |active = remark | ||
| + | |- | ||
| + | |[remark] | ||
| + | |- | ||
| + | |anim = stulik'' | ||
________________________ | ________________________ | ||
| − | Вот и всё Анимация Восстановлена!=) | + | |Вот и всё Анимация Восстановлена!=) |
Версия 18:22, 3 августа 2010
Редактирование Восстановление Вырезанных Анимаций НПС
Нус...Приступим=)
| Первые Шаги... |
| Что нам нужно??? |
| Для восстановления Нам нужно сначала посмотреть что нужно восстанавливать! Так ведь? |
| 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 = 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 пишем левел и гейм вертексы. Всё Наш Чистильщик усажен на стул!=)
Создатель:ФеНиКс 10:32, 23 ноября 2009 (UTC)
| Связаться со мной можно |
|---|
| По ICQ №559615499 |
| ВКонтакте №id19647122 |
| На СП(Сталкер-портале) Ник:Николай ФеНиКс |