Восстановление Вырезанных Анимаций НПС. — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Восстановление Вырезанных Анимаций НПС. — различия между версиями

Материал из 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 пишем левел и гейм вертексы. Всё Наш Чистильщик усажен на стул!=)

ФеНиКс

Другие места
LANGUAGE