Восстановление Вырезанных Анимаций НПС. — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
ФеНиКс (обсуждение | вклад) |
ФеНиКс (обсуждение | вклад) |
||
Строка 2: | Строка 2: | ||
'''Нус...Приступим=) | '''Нус...Приступим=) | ||
{| class="standart" | {| class="standart" | ||
− | Мой Тутор думаю поможет новичкам!''' | + | |- |
− | <br>__________________________________<br/> | + | |Мой Тутор думаю поможет новичкам!''' |
− | + | |- | |
+ | |<br>__________________________________<br/> | ||
|- | |- | ||
|Первые Шаги... | |Первые Шаги... | ||
Строка 181: | Строка 182: | ||
|- | |- | ||
|anim = stulik'' | |anim = stulik'' | ||
− | + | |- | |
− | ________________________ | + | |<br>________________________<br/> |
+ | |- | ||
|Вот и всё Анимация Восстановлена!=) | |Вот и всё Анимация Восстановлена!=) | ||
− | + | |- | |
− | + | |Ну теперь спавним для нашего Чистильщика стул! | |
− | Ну теперь спавним для нашего Чистильщика стул! | + | |- |
− | + | |Создаёшь файл в папке ''creatures'' | |
− | Создаёшь файл в папке ''creatures'' | + | |- |
− | Ну допустим назовём файл '''taburetka.ltx''' | + | |Ну допустим назовём файл '''taburetka.ltx''' |
− | и в него конфинги: | + | |- |
− | ''[table]:identity_immunities | + | |и в него конфинги: |
− | GroupControlSection = spawn_group | + | |- |
− | discovery_dependency = | + | |''[table]:identity_immunities |
− | $spawn = "taburetka\table" -- тут указывается файл и секция (понадобится для спавна) | + | |- |
− | ;$prefetch = 32 | + | |GroupControlSection = spawn_group |
− | class = II_ATTCH | + | |- |
− | cform = skeleton | + | |discovery_dependency = |
− | visual = physics\stol\stol_obedenniy.ogf -- Визуал стола | + | |- |
− | radius = 1 | + | |$spawn = "taburetka\table" -- тут указывается файл и секция (понадобится для спавна) |
− | ;script_binding = bind_physic_object.init | + | |- |
− | description = inventory_sakbox_01_desc | + | |;$prefetch = 32 |
− | inv_name = | + | |- |
− | inv_name_short = | + | |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_weight = 10 | ||
inv_grid_width = 3 | inv_grid_width = 3 |
Версия 18:25, 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 |
На СП(Сталкер-портале) Ник:Николай ФеНиКс |