<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://stalkerin.gameru.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baklan</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Baklan"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Baklan"/>
		<updated>2026-04-29T15:06:11Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A2%D0%BE%D1%87%D0%BA%D0%B8_%D0%B3%D1%80%D0%B0%D1%84%D0%B0</id>
		<title>Обсуждение:Точки графа</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A2%D0%BE%D1%87%D0%BA%D0%B8_%D0%B3%D1%80%D0%B0%D1%84%D0%B0"/>
				<updated>2011-07-29T10:48:59Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Я извиняюсь, а в этой статье точно правда написана? Проверено ли это?&lt;br /&gt;
&lt;br /&gt;
'''Во-первых:'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[stalker_super_terrain]&lt;br /&gt;
255,3,255,255&lt;br /&gt;
255,3,255,255&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему в этой секции строки повторяются? Одной не достаточно? Я сомневаюсь.&lt;br /&gt;
&lt;br /&gt;
'''Во-вторых:'''&lt;br /&gt;
&lt;br /&gt;
где:&lt;br /&gt;
&lt;br /&gt;
* первое число соответствует    [location_0]&lt;br /&gt;
* второе число соответствует    [location_1]&lt;br /&gt;
* третье число соответствует    [location_2]&lt;br /&gt;
* четвертое число соответствует [location_3]&lt;br /&gt;
&lt;br /&gt;
Вас не настрораживает, что чисел 255,3,255,255 в этих секция '''НЕТ'''?&lt;br /&gt;
Есть только число '''3''' в секции '''[location_1]'''.&lt;br /&gt;
&lt;br /&gt;
Если я чего-то не понимаю, то вам стоит писать статьи более понятно. А то тут просто, грубо говоря, муть.&lt;br /&gt;
&lt;br /&gt;
[[Участник:Baklan|Baklan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Статья написана сотрудниками GSC в период разработки Shadow of Chernobyl и скопирована мною на вики инсайда.&lt;br /&gt;
&lt;br /&gt;
Если вы чего-то не понимаете, то Вам стоит заняться подготовкой к школе, а не шариться по сталкир-сайтам. Впрочем, судя по Вашему нику, ничего удивительного в &amp;quot;непонимании&amp;quot; нет.&lt;br /&gt;
&lt;br /&gt;
[[Участник:Schoolfucker|Schoolfucker]]&lt;br /&gt;
&lt;br /&gt;
Это мне значит нужно заняться пподготовкой к школе, да? И нефиг на ник смотреть, твой не лучше. Короче, не на один из вопросов ответа я не получил, только стрелки гоняешь на GSC, свой мозг имеется хоть? Если не можешь объяснить того, что выкладываешь, лучше не берись.&lt;br /&gt;
&lt;br /&gt;
[[Участник:Baklan|Baklan]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A2%D0%BE%D1%87%D0%BA%D0%B8_%D0%B3%D1%80%D0%B0%D1%84%D0%B0</id>
		<title>Обсуждение:Точки графа</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%A2%D0%BE%D1%87%D0%BA%D0%B8_%D0%B3%D1%80%D0%B0%D1%84%D0%B0"/>
				<updated>2011-07-25T14:06:55Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Критика&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Я извиняюсь, а в этой статье точно правда написана? Проверено ли это?&lt;br /&gt;
&lt;br /&gt;
'''Во-первых:'''&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
[stalker_super_terrain]&lt;br /&gt;
255,3,255,255&lt;br /&gt;
255,3,255,255&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему в этой секции строки повторяются? Одной не достаточно? Я сомневаюсь.&lt;br /&gt;
&lt;br /&gt;
'''Во-вторых:'''&lt;br /&gt;
&lt;br /&gt;
где:&lt;br /&gt;
&lt;br /&gt;
* первое число соответствует    [location_0]&lt;br /&gt;
* второе число соответствует    [location_1]&lt;br /&gt;
* третье число соответствует    [location_2]&lt;br /&gt;
* четвертое число соответствует [location_3]&lt;br /&gt;
&lt;br /&gt;
Вас не настрораживает, что чисел 255,3,255,255 в этих секция '''НЕТ'''?&lt;br /&gt;
Есть только число '''3''' в секции '''[location_1]'''.&lt;br /&gt;
&lt;br /&gt;
Если я чего-то не понимаю, то вам стоит писать статьи более понятно. А то тут просто, грубо говоря, муть.&lt;br /&gt;
&lt;br /&gt;
[[Участник:Baklan|Baklan]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Обсуждение:Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-25T11:56:13Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Раздел '''Редактирование User Data для модели''' абсолютно неверен. Прежде чем писать статью, посмотрите что там у нормальных сталкеров и постарайтесь понять назначение там написанного!!&lt;br /&gt;
Раздел '''Работа с костями''' должен стоять ДО '''Экспорт анимаций в .omf сборник''', иначе при СДК вам не даст сохранить .omf лог будет пестрить ошибками&lt;br /&gt;
Так же у вас ошибки в этом разделе. Всё вместе и приводит к безлоговым вылетам &lt;br /&gt;
'''Deathdoor (OGSE Team)'''&lt;br /&gt;
&lt;br /&gt;
Мои глубочайшие. Исправил.  [[Участник:Baklan|Baklan]] 11:56, 25 июня 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-25T11:53:58Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Файл textures.ltx */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
&lt;br /&gt;
===Экспорт анимаций в .omf сборник===&lt;br /&gt;
Теперь нужно экспортировать наши анимации в наш собственный сборник. Это делается путем нажатия File&amp;gt;Export&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&amp;gt;Export OMF...&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; в правом верхнем углу интерфейса.&lt;br /&gt;
&lt;br /&gt;
Внимание! Выбирать директорию нужно тщательно, не куда попало, а именно в папку '''gamedata\meshes''' вашего '''SDK''', потому что после экспорта полученный сборник должен находится в том же самом месте в игре, где он был и в '''SDK'''. Например, если в SDK он лежал по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
то в игре он должен лежать по адресу&lt;br /&gt;
&amp;lt;code&amp;gt;Корень ТЧ\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
В противном случае модель не сможет найти анимации и мы получим мгновенный вылет.&lt;br /&gt;
Если определились с местом проживания сборника - жмем '''Сохранить'''.&lt;br /&gt;
[[Файл:Npc convert lesson 06.png|950px|thumb|center|Экспорт .omf сборника]]&lt;br /&gt;
Когда экспорт завершен, отмечаем все анимации во вкладке '''Motions''' и жмем '''Delete'''.&lt;br /&gt;
Все анимации удалили. Теперь нужно нажать на троеточие напротив '''Motion reference''' и в окошке установить галочку напротив сборника анимаций, который мы только что создали. Теперь жмем '''Ok'''.&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того, что там сейчас, '''User Dat''''у, взятую у другой модели'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Я например взял ее у военного спецназовца. Поэтому у меня получилось вот что:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;models\capture\kombez_helmet_damage_low.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Позже мы разберемся с тем, на что эта конструкция влияет.&lt;br /&gt;
&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Этот ход нужно выполнять только в том случае, если вы приверженец качественной игры и играете только на типе рендера &amp;quot;'''Динамическое освещение'''&amp;quot;. Если же это не так - вы просто не заметите никакой разницы.&lt;br /&gt;
Итак, начнем. Идем в директорию '''gamedata\textures''' игры и открываем любым удобным редактором  файл '''textures.ltx'''.&lt;br /&gt;
Далее нам нужно вписать текстуры, используемые моделью нашего сконвертированного НПС. Эти текстуры нужно прописать в секциях '''[specification]''' и '''[types]''', желательно в конец секции, чтобы потом было проще их искать и редактировать.&lt;br /&gt;
Добавим наши текстуры в секцию '''[specification]''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
    wpn\wpn_winchester1300           = bump_mode[use:wpn\wpn_winchester1300_bump], material[2.85]&lt;br /&gt;
    wpn\wpn_zink                     = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_545                 = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_57                  = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_9                   = bump_mode[none], material[2.85]&lt;br /&gt;
    wpn\wpn_zink_svd                 = bump_mode[none], material[2.85]&lt;br /&gt;
    ; Наши тектуры&lt;br /&gt;
    act\act_stalker_nebo_2           = bump_mode[use:act\act_stalker_nebo_2_bump], material[0.50]&lt;br /&gt;
 &lt;br /&gt;
[types]&lt;br /&gt;
    $bump-test                       = 2&lt;br /&gt;
    $details                         = 0&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Поясню, что мы вставили:&lt;br /&gt;
'''act\act_stalker_nebo_2''' - Имя текстуры, используемой НПС           &lt;br /&gt;
'''bump_mode[use:act\act_stalker_nebo_2_bump]''' - Это значит, что текстура использует бамп текстуру &amp;quot;act_stalker_nebo_2_bump&amp;quot;&lt;br /&gt;
'''material[0.50]''' - Скорее всего эта строка отвечает за рельефность бамп-текстуры&lt;br /&gt;
&lt;br /&gt;
Добавим наши текстуры в секцию '''[types]''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
    wpn\wpn_zink_svd                 = bump_mode[none], material[2.85]&lt;br /&gt;
    ; Наши тектуры&lt;br /&gt;
    act\act_stalker_nebo_2           = bump_mode[use:act\act_stalker_nebo_2_bump], material[0.50]&lt;br /&gt;
 &lt;br /&gt;
[types]&lt;br /&gt;
    act\act_stalker_nebo_2           = 0&lt;br /&gt;
    act\act_stalker_nebo_2_bump      = 2&lt;br /&gt;
    $bump-test                       = 2&lt;br /&gt;
    $details                         = 0&lt;br /&gt;
    $shadertest                      = 0&lt;br /&gt;
    $target                          = 0&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Поясню, что мы вставили:&lt;br /&gt;
'''act\act_stalker_nebo_2 = 0''' - &amp;quot;'''0'''&amp;quot; - номер обычной текстуры          &lt;br /&gt;
'''act\act_stalker_nebo_2_bump = 2''' - &amp;quot;'''2'''&amp;quot; - номер бамп-текстуры  &lt;br /&gt;
Если не понятно, можно эти строки вставить из файла '''textures.ltx''' от ЧН или ЗП.&lt;br /&gt;
&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;br /&gt;
&lt;br /&gt;
P.S. При использовании сконвертированных НПС, полученных при исполнении данной статьи, игра может вылетать без лога! Сейчас я работаю над устранением ошибок в работе, есть парочка идей, как смогу - так и проверю.&lt;br /&gt;
&lt;br /&gt;
См. [[Обсуждение:Конвертация НПС из ЧН/ЗП в ТЧ|страницу обсуждения]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-25T11:21:10Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Работа с костями */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
&lt;br /&gt;
===Экспорт анимаций в .omf сборник===&lt;br /&gt;
Теперь нужно экспортировать наши анимации в наш собственный сборник. Это делается путем нажатия File&amp;gt;Export&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&amp;gt;Export OMF...&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; в правом верхнем углу интерфейса.&lt;br /&gt;
&lt;br /&gt;
Внимание! Выбирать директорию нужно тщательно, не куда попало, а именно в папку '''gamedata\meshes''' вашего '''SDK''', потому что после экспорта полученный сборник должен находится в том же самом месте в игре, где он был и в '''SDK'''. Например, если в SDK он лежал по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
то в игре он должен лежать по адресу&lt;br /&gt;
&amp;lt;code&amp;gt;Корень ТЧ\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
В противном случае модель не сможет найти анимации и мы получим мгновенный вылет.&lt;br /&gt;
Если определились с местом проживания сборника - жмем '''Сохранить'''.&lt;br /&gt;
[[Файл:Npc convert lesson 06.png|950px|thumb|center|Экспорт .omf сборника]]&lt;br /&gt;
Когда экспорт завершен, отмечаем все анимации во вкладке '''Motions''' и жмем '''Delete'''.&lt;br /&gt;
Все анимации удалили. Теперь нужно нажать на троеточие напротив '''Motion reference''' и в окошке установить галочку напротив сборника анимаций, который мы только что создали. Теперь жмем '''Ok'''.&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того, что там сейчас, '''User Dat''''у, взятую у другой модели'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Я например взял ее у военного спецназовца. Поэтому у меня получилось вот что:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;models\capture\kombez_helmet_damage_low.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Позже мы разберемся с тем, на что эта конструкция влияет.&lt;br /&gt;
&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Нам нужно скопировать 2 файла из '''gamedat''''ы SDK в '''gamedat''''у нашего ТЧ.&lt;br /&gt;
Это файл нашего сборника анимаций (помните, что его месторасположение должно быть точно как в SDK) и собственно сама модель.&lt;br /&gt;
Затем нужно в папке '''textures''' из геймдаты нашего ТЧ найти файлик '''textures.ltx''' и вставить в секцию '''[types]''' имена текстур, которые использует наша модель. В моем случае это '''act\act_stalker_nebo_2''' и '''act\act_stalker_nebo_2_bump'''. &lt;br /&gt;
Текстуре должно быть присвоено нулевое значение, а бампу = 2.&lt;br /&gt;
&lt;br /&gt;
'''ВПРИНЦИПЕ, ЭТОТ ХОД НЕОБЯЗАТЕЛЕН. ОБЫЧНО МОЖНО И БЕЗ НЕГО.'''&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;br /&gt;
&lt;br /&gt;
P.S. При использовании сконвертированных НПС, полученных при исполнении данной статьи, игра может вылетать без лога! Сейчас я работаю над устранением ошибок в работе, есть парочка идей, как смогу - так и проверю.&lt;br /&gt;
&lt;br /&gt;
См. [[Обсуждение:Конвертация НПС из ЧН/ЗП в ТЧ|страницу обсуждения]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-25T11:19:48Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Работа с анимациями */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того, что там сейчас, '''User Dat''''у, взятую у другой модели'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Я например взял ее у военного спецназовца. Поэтому у меня получилось вот что:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;models\capture\kombez_helmet_damage_low.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Позже мы разберемся с тем, на что эта конструкция влияет.&lt;br /&gt;
&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Нам нужно скопировать 2 файла из '''gamedat''''ы SDK в '''gamedat''''у нашего ТЧ.&lt;br /&gt;
Это файл нашего сборника анимаций (помните, что его месторасположение должно быть точно как в SDK) и собственно сама модель.&lt;br /&gt;
Затем нужно в папке '''textures''' из геймдаты нашего ТЧ найти файлик '''textures.ltx''' и вставить в секцию '''[types]''' имена текстур, которые использует наша модель. В моем случае это '''act\act_stalker_nebo_2''' и '''act\act_stalker_nebo_2_bump'''. &lt;br /&gt;
Текстуре должно быть присвоено нулевое значение, а бампу = 2.&lt;br /&gt;
&lt;br /&gt;
'''ВПРИНЦИПЕ, ЭТОТ ХОД НЕОБЯЗАТЕЛЕН. ОБЫЧНО МОЖНО И БЕЗ НЕГО.'''&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;br /&gt;
&lt;br /&gt;
P.S. При использовании сконвертированных НПС, полученных при исполнении данной статьи, игра может вылетать без лога! Сейчас я работаю над устранением ошибок в работе, есть парочка идей, как смогу - так и проверю.&lt;br /&gt;
&lt;br /&gt;
См. [[Обсуждение:Конвертация НПС из ЧН/ЗП в ТЧ|страницу обсуждения]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-25T11:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Редактирование User Data для модели */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
===Экспорт анимаций в .omf сборник===&lt;br /&gt;
Теперь нужно экспортировать наши анимации в наш собственный сборник. Это делается путем нажатия File&amp;gt;Export&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&amp;gt;Export OMF...&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; в правом верхнем углу интерфейса.&lt;br /&gt;
&lt;br /&gt;
Внимание! Выбирать директорию нужно тщательно, не куда попало, а именно в папку '''gamedata\meshes''' вашего '''SDK''', потому что после экспорта полученный сборник должен находится в том же самом месте в игре, где он был и в '''SDK'''. Например, если в SDK он лежал по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
то в игре он должен лежать по адресу&lt;br /&gt;
&amp;lt;code&amp;gt;Корень ТЧ\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
В противном случае модель не сможет найти анимации и мы получим мгновенный вылет.&lt;br /&gt;
Если определились с местом проживания сборника - жмем '''Сохранить'''.&lt;br /&gt;
[[Файл:Npc convert lesson 06.png|950px|thumb|center|Экспорт .omf сборника]]&lt;br /&gt;
Когда экспорт завершен, отмечаем все анимации во вкладке '''Motions''' и жмем '''Delete'''.&lt;br /&gt;
Все анимации удалили. Теперь нужно нажать на троеточие напротив '''Motion reference''' и в окошке установить галочку напротив сборника анимаций, который мы только что создали. Теперь жмем '''Ok'''.&lt;br /&gt;
Работа с анимациями завершена.&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того, что там сейчас, '''User Dat''''у, взятую у другой модели'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Я например взял ее у военного спецназовца. Поэтому у меня получилось вот что:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
#include &amp;quot;models\capture\kombez_helmet_damage_low.ltx&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Позже мы разберемся с тем, на что эта конструкция влияет.&lt;br /&gt;
&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Нам нужно скопировать 2 файла из '''gamedat''''ы SDK в '''gamedat''''у нашего ТЧ.&lt;br /&gt;
Это файл нашего сборника анимаций (помните, что его месторасположение должно быть точно как в SDK) и собственно сама модель.&lt;br /&gt;
Затем нужно в папке '''textures''' из геймдаты нашего ТЧ найти файлик '''textures.ltx''' и вставить в секцию '''[types]''' имена текстур, которые использует наша модель. В моем случае это '''act\act_stalker_nebo_2''' и '''act\act_stalker_nebo_2_bump'''. &lt;br /&gt;
Текстуре должно быть присвоено нулевое значение, а бампу = 2.&lt;br /&gt;
&lt;br /&gt;
'''ВПРИНЦИПЕ, ЭТОТ ХОД НЕОБЯЗАТЕЛЕН. ОБЫЧНО МОЖНО И БЕЗ НЕГО.'''&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;br /&gt;
&lt;br /&gt;
P.S. При использовании сконвертированных НПС, полученных при исполнении данной статьи, игра может вылетать без лога! Сейчас я работаю над устранением ошибок в работе, есть парочка идей, как смогу - так и проверю.&lt;br /&gt;
&lt;br /&gt;
См. [[Обсуждение:Конвертация НПС из ЧН/ЗП в ТЧ|страницу обсуждения]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_08.png</id>
		<title>Файл:Npc convert lesson 08.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_08.png"/>
				<updated>2011-06-25T11:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: загружена новая версия «Файл:Npc convert lesson 08.png»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Изменение User Data&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=R2_sun</id>
		<title>R2 sun</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=R2_sun"/>
				<updated>2011-06-08T20:19:30Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Обновление данных&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Команды консоли]]&lt;br /&gt;
== Описание ==&lt;br /&gt;
Данная команда включает или выключает освещение от Солнца (только от Солнца, другие источники света продолжают освещать). Префикс '''r2_''' означает, что данная команда может быть выполнена только на типе рендера '''&amp;quot;Динамическое освещение&amp;quot;'''.&lt;br /&gt;
&lt;br /&gt;
== Входные параметры ==&lt;br /&gt;
* '''on\1''' - включить солнечное освещение&lt;br /&gt;
* '''off\0''' - выключить солнечное освещение&lt;br /&gt;
== Значение по умолчанию ==&lt;br /&gt;
* '''on\1''' - солнечное освещение включено&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=R2_sun</id>
		<title>R2 sun</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=R2_sun"/>
				<updated>2011-06-08T20:16:21Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Категория&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Команды консоли]]&lt;br /&gt;
== Описание ==&lt;br /&gt;
Данная команда включает или выключает освещение от Солнца (только от Солнца, другие источники света продолжают освещать). Префикс '''r2_''' означает, что данная команда может быть выполнена только на типе рендера '''&amp;quot;Полное динамическое освещение&amp;quot;'''.&lt;br /&gt;
== Входные параметры ==&lt;br /&gt;
* '''on\1''' - включить солнечное освещение&lt;br /&gt;
* '''off\0''' - выключить солнечное освещение&lt;br /&gt;
== Значение по умолчанию ==&lt;br /&gt;
* '''on\1''' - солнечное освещение включено&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Quit</id>
		<title>Quit</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Quit"/>
				<updated>2011-06-08T20:15:24Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Категория&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Команды консоли]]&lt;br /&gt;
== Описание ==&lt;br /&gt;
Немедленный выход в '''Windows'''.&lt;br /&gt;
== Входные параметры ==&lt;br /&gt;
Отсутствуют.&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Disconnect</id>
		<title>Disconnect</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Disconnect"/>
				<updated>2011-06-08T20:12:39Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Команды консоли]]&lt;br /&gt;
== Описание ==&lt;br /&gt;
'''Multiplayer:'''&lt;br /&gt;
&lt;br /&gt;
Отсоединиться от сервера.&lt;br /&gt;
&lt;br /&gt;
'''Single:'''&lt;br /&gt;
&lt;br /&gt;
Завершить текущую игру.&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Quit</id>
		<title>Quit</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Quit"/>
				<updated>2011-06-08T20:09:50Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Описание ==&lt;br /&gt;
Немедленный выход в '''Windows'''.&lt;br /&gt;
== Входные параметры ==&lt;br /&gt;
Отсутствуют.&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=R2_sun</id>
		<title>R2 sun</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=R2_sun"/>
				<updated>2011-06-08T20:05:21Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Переоформлено&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Описание ==&lt;br /&gt;
Данная команда включает или выключает освещение от Солнца (только от Солнца, другие источники света продолжают освещать). Префикс '''r2_''' означает, что данная команда может быть выполнена только на типе рендера '''&amp;quot;Полное динамическое освещение&amp;quot;'''.&lt;br /&gt;
== Входные параметры ==&lt;br /&gt;
* '''on\1''' - включить солнечное освещение&lt;br /&gt;
* '''off\0''' - выключить солнечное освещение&lt;br /&gt;
== Значение по умолчанию ==&lt;br /&gt;
* '''on\1''' - солнечное освещение включено&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=Main_menu</id>
		<title>Main menu</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=Main_menu"/>
				<updated>2011-06-08T19:55:42Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: оформление и дополнение&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:Команды консоли]]&lt;br /&gt;
== Описание ==&lt;br /&gt;
Выход в главное меню (используется в случае невозможности выхода кнопкой Esc).&lt;br /&gt;
Используется во всех скриптах для отключения главного меню.&lt;br /&gt;
== Входные параметры ==&lt;br /&gt;
Значения для команды:&lt;br /&gt;
* '''off''' - выключает главное меню&lt;br /&gt;
* '''on''' - включает главное меню&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan</id>
		<title>Участник:Baklan</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan"/>
				<updated>2011-06-07T11:57:28Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Информация */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Информация==&lt;br /&gt;
'''Фамилия:''' Поняков&lt;br /&gt;
&lt;br /&gt;
'''Имя:''' Денис&lt;br /&gt;
&lt;br /&gt;
'''Отчество:''' Сергеевич&lt;br /&gt;
&lt;br /&gt;
'''Дата рождения:''' 09.01.1997г.&lt;br /&gt;
&lt;br /&gt;
'''Возраст:''' 14 лет.&lt;br /&gt;
&lt;br /&gt;
'''Род занятий:''' Гимназист, футбольная секция СДЮШОР №8 г.Гомеля&lt;br /&gt;
&lt;br /&gt;
'''Интересы:''' S.T.A.L.K.E.R., 3DS Max&lt;br /&gt;
===Создано статей===&lt;br /&gt;
'''Количество:''' 1&lt;br /&gt;
&lt;br /&gt;
[http://stalkerin.gameru.net/wiki/index.php/Конвертация_НПС_из_ЧН/ЗП_в_ТЧ Конвертация НПС из ЧН/ЗП в ТЧ]&lt;br /&gt;
&lt;br /&gt;
==Контактные данные==&lt;br /&gt;
'''Адрес эл. почты:''' bathen@mail.ru&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Rekongstor</id>
		<title>Участник:Rekongstor</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Rekongstor"/>
				<updated>2011-06-04T21:41:31Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Моё резюме: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Моё резюме:==&lt;br /&gt;
&lt;br /&gt;
Лучше буду говорить, что я не умею:&lt;br /&gt;
-----&lt;br /&gt;
{||border=0 cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;font-size:120%;text-align:left;line-height:1em;width:100%;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#EEEEEE;color:#000000&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
* Gulag_... - не пробовал серьёзно работать с ними. &lt;br /&gt;
* Слабые знания net_packet&lt;br /&gt;
* .efd&lt;br /&gt;
* Пока не делал персонажей (3ds max)&lt;br /&gt;
|}&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
:'''Rekongstor, используй кнопку предпросмотра:'''&lt;br /&gt;
&lt;br /&gt;
http://img.gameru.net/img/65fbc.png&lt;br /&gt;
&lt;br /&gt;
[[Участник:RedPython|RedPython]] 12:24, 9 января 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
Та я использую :) Просто так иногда приходится комп вырубать или добавить что-то... Так что вот не получается. Но я постараюсь :)&lt;br /&gt;
&lt;br /&gt;
Записывай текст статьи сначала в блокнот, а потом копируй его на сайт и смотри предпросмотр. Чуть что - доработать оформление быстренько можно:) И инфа не теряется. (Ну, это мой способ, не навязываю)&lt;br /&gt;
--[[Участник:Baklan|Baklan]] 21:41, 4 июня 2011 (UTC)&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-04T21:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Автор */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
===Экспорт анимаций в .omf сборник===&lt;br /&gt;
Теперь нужно экспортировать наши анимации в наш собственный сборник. Это делается путем нажатия File&amp;gt;Export&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&amp;gt;Export OMF...&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; в правом верхнем углу интерфейса.&lt;br /&gt;
&lt;br /&gt;
Внимание! Выбирать директорию нужно тщательно, не куда попало, а именно в папку '''gamedata\meshes''' вашего '''SDK''', потому что после экспорта полученный сборник должен находится в том же самом месте в игре, где он был и в '''SDK'''. Например, если в SDK он лежал по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
то в игре он должен лежать по адресу&lt;br /&gt;
&amp;lt;code&amp;gt;Корень ТЧ\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
В противном случае модель не сможет найти анимации и мы получим мгновенный вылет.&lt;br /&gt;
Если определились с местом проживания сборника - жмем '''Сохранить'''.&lt;br /&gt;
[[Файл:Npc convert lesson 06.png|950px|thumb|center|Экспорт .omf сборника]]&lt;br /&gt;
Когда экспорт завершен, отмечаем все анимации во вкладке '''Motions''' и жмем '''Delete'''.&lt;br /&gt;
Все анимации удалили. Теперь нужно нажать на троеточие напротив '''Motion reference''' и в окошке установить галочку напротив сборника анимаций, который мы только что создали. Теперь жмем '''Ok'''.&lt;br /&gt;
Работа с анимациями завершена.&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того что там сейчас вот эту конструкцию'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;''':&lt;br /&gt;
&amp;lt;code&amp;gt;[capture]&lt;br /&gt;
&lt;br /&gt;
bone		 = bip01_tail      ; bone for capture&lt;br /&gt;
distance         = 0.3             ; distance - less this distance between &lt;br /&gt;
                                   ; bome and capture taget object is captured&lt;br /&gt;
time_limit       = 500             ; max time for trying to capture object&lt;br /&gt;
pull_force       = 10000.          ; max force used to bring the taget to capture bone&lt;br /&gt;
pull_distance    = 1.              ; max distance taget can be puled&lt;br /&gt;
velocity_scale   = 0.001           ; velocity scale for pulling 1- normal&lt;br /&gt;
capture_force    = 100000.         ; max force for holding taget&lt;br /&gt;
&lt;br /&gt;
[disable]&lt;br /&gt;
&lt;br /&gt;
linear_factor   =0.7&lt;br /&gt;
angular_factor  =0.7&lt;br /&gt;
&lt;br /&gt;
[particles_bones]&lt;br /&gt;
&lt;br /&gt;
bone = bip01_head,0,0,0&lt;br /&gt;
bone = bip01_spine1,0,0,0&lt;br /&gt;
bone = bip01_l_upperarm,0,0,0&lt;br /&gt;
bone = bip01_r_upperarm,0,0,0&lt;br /&gt;
bone = bip01_l_forearm,0,0,0&lt;br /&gt;
bone = bip01_r_forearm,0,0,0&lt;br /&gt;
bone = bip01_l_thigh,0,0,0&lt;br /&gt;
bone = bip01_r_thigh,0,0,0&lt;br /&gt;
bone = bip01_l_calf,0,0,0&lt;br /&gt;
bone = bip01_r_calf,0,0,0&lt;br /&gt;
 �&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Работа с моделью завершена.&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Нам нужно скопировать 2 файла из '''gamedat''''ы SDK в '''gamedat''''у нашего ТЧ.&lt;br /&gt;
Это файл нашего сборника анимаций (помните, что его месторасположение должно быть точно как в SDK) и собственно сама модель.&lt;br /&gt;
Затем нужно в папке '''textures''' из геймдаты нашего ТЧ найти файлик '''textures.ltx''' и вставить в секцию '''[types]''' имена текстур, которые использует наша модель. В моем случае это '''act\act_stalker_nebo_2''' и '''act\act_stalker_nebo_2_bump'''. &lt;br /&gt;
Текстуре должно быть присвоено нулевое значение, а бампу = 2.&lt;br /&gt;
&lt;br /&gt;
'''ВПРИНЦИПЕ, ЭТОТ ХОД НЕОБЯЗАТЕЛЕН. ОБЫЧНО МОЖНО И БЕЗ НЕГО.'''&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;br /&gt;
&lt;br /&gt;
P.S. При использовании сконвертированных НПС, полученных при исполнении данной статьи, игра может вылетать без лога! Сейчас я работаю над устранением ошибок в работе, есть парочка идей, как смогу - так и проверю.&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan</id>
		<title>Участник:Baklan</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan"/>
				<updated>2011-06-04T17:07:12Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: /* Контактные данные */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Информация==&lt;br /&gt;
'''Фамилия:''' Поняков&lt;br /&gt;
&lt;br /&gt;
'''Имя:''' Денис&lt;br /&gt;
&lt;br /&gt;
'''Отчество:''' Сергеевич&lt;br /&gt;
&lt;br /&gt;
'''Дата рождения:''' 09.01.1997г.&lt;br /&gt;
&lt;br /&gt;
'''Возраст:''' 14 лет.&lt;br /&gt;
&lt;br /&gt;
'''Род занятий:''' Гимназист, футбольная секция СДЮШОР №8 г.Гомеля&lt;br /&gt;
&lt;br /&gt;
'''Интересы:''' S.T.A.L.K.E.R., 3DS Max&lt;br /&gt;
&lt;br /&gt;
==Контактные данные==&lt;br /&gt;
'''Адрес эл. почты:''' bathen@mail.ru&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan</id>
		<title>Участник:Baklan</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan"/>
				<updated>2011-06-04T17:06:32Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Оформление&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Информация==&lt;br /&gt;
'''Фамилия:''' Поняков&lt;br /&gt;
&lt;br /&gt;
'''Имя:''' Денис&lt;br /&gt;
&lt;br /&gt;
'''Отчество:''' Сергеевич&lt;br /&gt;
&lt;br /&gt;
'''Дата рождения:''' 09.01.1997г.&lt;br /&gt;
&lt;br /&gt;
'''Возраст:''' 14 лет.&lt;br /&gt;
&lt;br /&gt;
'''Род занятий:''' Гимназист, футбольная секция СДЮШОР №8 г.Гомеля&lt;br /&gt;
&lt;br /&gt;
'''Интересы:''' S.T.A.L.K.E.R., 3DS Max&lt;br /&gt;
&lt;br /&gt;
==Контактные данные==&lt;br /&gt;
Адрес эл. почты: bathen@mail.ru&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan</id>
		<title>Участник:Baklan</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Baklan"/>
				<updated>2011-06-04T17:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Новая страница: «==Информация== Фамилия: Поняков Имя: Денис Отчество: Сергеевич Дата рождения: 09.01.1997г. Возрас...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Информация==&lt;br /&gt;
Фамилия: Поняков&lt;br /&gt;
Имя: Денис&lt;br /&gt;
Отчество: Сергеевич&lt;br /&gt;
Дата рождения: 09.01.1997г.&lt;br /&gt;
Возраст: 14 лет.&lt;br /&gt;
Род занятий: Гимназист, футбольная секция СДЮШОР №8 г.Гомеля&lt;br /&gt;
Интересы: S.T.A.L.K.E.R., 3DS Max&lt;br /&gt;
==Контактные данные==&lt;br /&gt;
Адрес эл. почты: bathen@mail.ru&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7</id>
		<title>Конвертация НПС из ЧН/ЗП в ТЧ</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%9D%D0%9F%D0%A1_%D0%B8%D0%B7_%D0%A7%D0%9D/%D0%97%D0%9F_%D0%B2_%D0%A2%D0%A7"/>
				<updated>2011-06-04T17:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Новая страница: «Категория:SDK ==Инструментарий== В данной статье нам понадобится следующее программное об...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория:SDK]]&lt;br /&gt;
==Инструментарий==&lt;br /&gt;
В данной статье нам понадобится следующее программное обеспечение:&lt;br /&gt;
* '''[http://files.gsc-game.com/st/xray-sdk-setup-v0.4.exe X-Ray SDK 0.4]'''&lt;br /&gt;
* Конвертер от '''bardak''''a [http://www.stalkerin.gameru.net/downloads/SDK/ai_compiler/xray_re-tools-10sep2008.rar xray_re-tools-10sep2008]&lt;br /&gt;
==Использование конвертера от bardak'a==&lt;br /&gt;
Как мы уже знаем, '''Actor Editor''' из пакета '''SDK 0.4''' не открывает динамические игровые модели формата '''*.ogf'''. Он воспринимает только формат редактора - '''*.object'''. Но такого формата в игре нет, потому мы и воспользуемся конвертером от '''bardak''''a.&lt;br /&gt;
&lt;br /&gt;
Открываем папку с конвертером. Оттуда нам нужен только '''converter'''. Работа с ним элементарна.&lt;br /&gt;
&lt;br /&gt;
Если у вас есть распакованные архивы для ЧН или ЗП - то скопируйте оттуда любую модель НПС (лучше ту, которой нет в ТЧ, а то вся работа пойдет даром:)). Модели НПС находятся по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Для примера, я взял модель сталкера группировки &amp;quot;Чистое небо&amp;quot; в противогазе. Она находилась по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;gamedata\meshes\actors\stalker_nebo\stalker_nebo_2.ogf&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем модель в папку с конвертером. Далее нам ничего настраивать не нужно. Создаем текстовый документ, открываем его обычнейшим блокнотом и пишем в нем такой код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object &amp;lt;имя_модели.ogf&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Почему именно так а не иначе, смотрим в папке '''docs''' в корне конвертера.&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -ogf -object stalker_nebo_2.ogf&lt;br /&gt;
pause&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь в блокноте жмем '''Файл&amp;gt;Сохранить как...'''&lt;br /&gt;
В строке '''Тип файла''' ставим значение &amp;quot;'''Все файлы (*.*)'''&amp;quot;, а в строке '''Имя файла''' пишем &amp;quot;'''ваше_имя_файла.bat'''&amp;quot;. Кодировка не важна. В окне выбора директории выбираем корневой каталог нашего конвертера и жмем '''&amp;quot;Сохранить&amp;quot;'''. Я выбрал название:&lt;br /&gt;
&amp;lt;code&amp;gt;model.bat&amp;lt;/code&amp;gt;&lt;br /&gt;
Теперь мы видим, что появился новый файл '''ваше_имя_файла.bat'''. Нажимаем на него. При выполнении всего вышеописанного у вас должен создаться файл '''имя_модели.object'''. Это наш сконвертированный НПС.&lt;br /&gt;
Работа с конвертером закончена.&lt;br /&gt;
==Настройка модели в Actor Editor'e==&lt;br /&gt;
Копируем полученный в конвертере файл '''имя_модели.object''' в папку:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\rawdata\objects\editor, где $sdk_root - путь к вашему SDK.&amp;lt;/code&amp;gt;&lt;br /&gt;
Например у меня это:&lt;br /&gt;
&amp;lt;code&amp;gt;E:\Program Files\X-Ray SDK\level_editor\rawdata\objects\editor&amp;lt;/code&amp;gt;&lt;br /&gt;
Открываем '''Actor Editor''' из пакета '''SDK'''.&lt;br /&gt;
Далее жмем '''File&amp;gt;Load...''' в правом верхнем углу интерфейса.&lt;br /&gt;
Выбираем '''$sdk_root\level_editor\rawdata\objects\editor\имя_модели.object'''&lt;br /&gt;
&lt;br /&gt;
Загрузится модель вашего НПС, но будет она белым пятном. Сразу же выскочит окошко, именуемое '''Log'''.&lt;br /&gt;
&lt;br /&gt;
В самом низу этого окошка вы увидите строку, выделенную бледно-розовым цветом. Это строка, содержащая ошибку.&lt;br /&gt;
&lt;br /&gt;
В нашем случае это:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find shader 'models\model_pn'&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc_convert_lesson_01.png|950px|thumb|center|Модель без настроек в Actor Editor'e]]&lt;br /&gt;
&lt;br /&gt;
Это сообщение в логе означает, что в базе шейдеров SDK нет шейдера '''models\model_pn''', примененного к этой модели.&lt;br /&gt;
&lt;br /&gt;
Это можно исправить. Идем на вкладку '''Surfaces''' справа на интерфейсе. '''Surface''' переводится дословно как '''внешность/поверхность'''.&lt;br /&gt;
&lt;br /&gt;
Ищем нашу злаполучную внешность, к которой применен шейдер '''models\model_pn'''. В моем случае это была единственная внешность '''act_stalker_nebo_2S&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. В ней нужно изменить шейдер на другой, приближенный к оригиналу. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив '''Shader''' и в открывшемся окошке выбираем шейдер '''models\model&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. '''Жмем Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc_convert_lesson_02.png|950px|thumb|center|Выбор шейдера]]&lt;br /&gt;
&lt;br /&gt;
Применили новый шейдер. Теперь в логе может появиться новая ошибка:&lt;br /&gt;
&amp;lt;code&amp;gt;Can't find texture 'act\act_stalker_nebo_2'&amp;lt;/code&amp;gt;&lt;br /&gt;
Не трудно догадаться, что система не может найти текстуру '''act\act_stalker_nebo_2''' в gamedat'e '''SDK'''.&lt;br /&gt;
&lt;br /&gt;
Это тоже исправимо. Нужно скопировать текстуры для этой модели из текстур ЧН\ЗП, и вставть их в текстуры SDK.&lt;br /&gt;
Если же ошибки с текстурами не возникло - наше белое пятно должно превратиться в НПС.&lt;br /&gt;
[[Файл:Npc_convert_lesson_03.png|950px|thumb|center|НПС с текстурой]]&lt;br /&gt;
==Работа с анимациями==&lt;br /&gt;
===Снятие анимаций с модели===&lt;br /&gt;
Теперь нужно выбрать вкладку '''Motions''' справа на интерфейсе. Здесь нас интересует только '''Motion reference'''. Наведите курсор на значение этого поля, и вы увидите какие сборники анимаций проигрывает данная модель. В моем случае (как и в большинстве случаев) это:&lt;br /&gt;
&amp;lt;code&amp;gt;actors\stalker_animation,actors\stalker_scripts_animation,actors\stalker_smart_cover_animation,actors\stalker_scenario_animation&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Файл:Npc convert lesson 04.png|950px|thumb|center|Список отыгрываемых анимаций]]&lt;br /&gt;
Теперь нужно запомнить анимации, прописанные в '''Motion reference''', можно записать в блокнотик, проблем с этим возникнуть не должно. Но их нужно, запомнить, т.к. сейчас мы будем сбрасывать значение этого поля.&lt;br /&gt;
&lt;br /&gt;
Делается это так: Жмем на троеточие напротив '''Motion reference&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;'''. Снимаем галочки со всех сборников анимаций'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' и жмем '''Ok&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''. Если же в окошке, где нужно снимать галочки, вообще нет анимаций, а просто пустое окошко, ничего страшного в этом нет. Просто в ресурсах '''SDK''' нет этих анимаций, в таком случае сразу жмем '''Ok'''.&lt;br /&gt;
===Конвертирование сборников анимаций===&lt;br /&gt;
Теперь пришло время вспомнить, какие сборники анимации отыгрывает модель (помнится, мы записали это в блокнотик:)). Нужно найти эти сборники. Они лежат по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;Корень вашего ЧН или ЗП\gamedata\meshes\actors\...&amp;lt;/code&amp;gt;&lt;br /&gt;
Копируем нужные нам сборники из этой папки в корневую папку со старым добрым '''конвертером от bardak''''a.&lt;br /&gt;
В корне конвертера создаем текстовый документ, открываем его блокнотом и в нем пишем следующий код:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls &amp;lt;имя_сборника_анимаций&amp;gt;.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Вместо имени сборника анимаций подставляем нужный сборник, например:&lt;br /&gt;
&amp;lt;code&amp;gt;converter -omf -skls stalker_animation.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
Сохраняем этот текст как '''.bat''' файл (как это сделать оговаривалось ранее). Запускаем батник, и через секунд 5-10 получаем рядом новый файл '''имя_сборника_анимаций.skls'''.&lt;br /&gt;
&lt;br /&gt;
Теперь поочередно вставляем в батник другие названия нужных нам сборников анимаций, сохраняем и запускаем. После этих операций у нас должны появиться нужные нам сборники анимаций, но уже в формате '''.skls'''. Если все так, как надо - конвертация завершена.&lt;br /&gt;
===Применение сконвертированных анимаций к модели===&lt;br /&gt;
Теперь копируем все полученные сборники анимаций в каталог&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\import&amp;lt;/code&amp;gt;&lt;br /&gt;
Можно и в любой другой, но мне кажется удобнее всего именно в этот.&lt;br /&gt;
Далее открываем '''Actor Editor'''. &lt;br /&gt;
Как мы видим, теперь во вкладке '''Motions''' появилось поле '''Edit''' с кнопками '''Append''', '''Delete''' и '''Save'''. Жмем '''Append''' и выбираем все наши сборники анимаций по очереди.&lt;br /&gt;
[[Файл:Npc convert lesson 05.png|950px|thumb|center|Применение анимаций к модели]]&lt;br /&gt;
В итоге у меня получилось 2543 анимации во вкладке '''Motions''' (по счетчику '''Motion count''').&lt;br /&gt;
===Экспорт анимаций в .omf сборник===&lt;br /&gt;
Теперь нужно экспортировать наши анимации в наш собственный сборник. Это делается путем нажатия File&amp;gt;Export&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;&amp;gt;Export OMF...&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt; в правом верхнем углу интерфейса.&lt;br /&gt;
&lt;br /&gt;
Внимание! Выбирать директорию нужно тщательно, не куда попало, а именно в папку '''gamedata\meshes''' вашего '''SDK''', потому что после экспорта полученный сборник должен находится в том же самом месте в игре, где он был и в '''SDK'''. Например, если в SDK он лежал по адресу:&lt;br /&gt;
&amp;lt;code&amp;gt;$sdk_root\level_editor\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
то в игре он должен лежать по адресу&lt;br /&gt;
&amp;lt;code&amp;gt;Корень ТЧ\gamedata\meshes\actors\nebo_animations.omf&amp;lt;/code&amp;gt;&lt;br /&gt;
В противном случае модель не сможет найти анимации и мы получим мгновенный вылет.&lt;br /&gt;
Если определились с местом проживания сборника - жмем '''Сохранить'''.&lt;br /&gt;
[[Файл:Npc convert lesson 06.png|950px|thumb|center|Экспорт .omf сборника]]&lt;br /&gt;
Когда экспорт завершен, отмечаем все анимации во вкладке '''Motions''' и жмем '''Delete'''.&lt;br /&gt;
Все анимации удалили. Теперь нужно нажать на троеточие напротив '''Motion reference''' и в окошке установить галочку напротив сборника анимаций, который мы только что создали. Теперь жмем '''Ok'''.&lt;br /&gt;
Работа с анимациями завершена.&lt;br /&gt;
==Работа с костями==&lt;br /&gt;
Справа на интерфейсе жмем '''Bone Parts&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''', что находится на вкладке '''Model'''. В появившемся окошке жмем снизу кнопочку '''Reset To Default&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;'''. После этого действия у нас в левой верхней таблице появится множество костей. Выберите оттуда кости (это делается с помощью зажатия клавиши '''Ctrl'''):&lt;br /&gt;
&amp;lt;code&amp;gt;bip01_spine     &lt;br /&gt;
bip01_spine1 &lt;br /&gt;
bip01_spine2&lt;br /&gt;
bip01_neck&lt;br /&gt;
bip01_l_clavicle&lt;br /&gt;
bip01_l_upperarm&lt;br /&gt;
bip01_l_forearm&lt;br /&gt;
bip01_l_hand&lt;br /&gt;
bip01_l_finger0&lt;br /&gt;
bip01_l_finger01&lt;br /&gt;
bip01_l_finger02&lt;br /&gt;
bip01_l_finger1&lt;br /&gt;
bip01_l_finger11&lt;br /&gt;
bip01_l_finger12&lt;br /&gt;
bip01_l_finger2&lt;br /&gt;
bip01_l_finger21&lt;br /&gt;
bip01_l_finger22&lt;br /&gt;
bip01_r_clavicle&lt;br /&gt;
bip01_r_upperarm&lt;br /&gt;
bip01_r_forearm&lt;br /&gt;
bip01_r_hand&lt;br /&gt;
bip01_r_finger0&lt;br /&gt;
bip01_r_finger01&lt;br /&gt;
bip01_r_finger02&lt;br /&gt;
bip01_r_finger1&lt;br /&gt;
bip01_r_finger11&lt;br /&gt;
bip01_r_finger12&lt;br /&gt;
bip01_r_finger2&lt;br /&gt;
bip01_r_finger21&lt;br /&gt;
bip01_r_finger22&lt;br /&gt;
bip01_head&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую верхную таблицу. Обзовите эту таблицу '''&amp;quot;Torso&amp;quot;&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Далее выберите кости:&lt;br /&gt;
&amp;lt;code&amp;gt;eye_left&lt;br /&gt;
eye_right&lt;br /&gt;
eyelid_1&lt;br /&gt;
jaw_1&amp;lt;/code&amp;gt;&lt;br /&gt;
и перетащите их в правую нижнюю таблицу и обзовите ее '''&amp;quot;Head&amp;quot;&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
Все. Жмем '''Ok&amp;lt;sup&amp;gt;[5]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 07.png|950px|thumb|center|Работа с костями]]&lt;br /&gt;
Работа с костями закончена.&lt;br /&gt;
==Редактирование User Data для модели==&lt;br /&gt;
Жмем строку '''Object&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;''' справа на интерфейсе. Идем в самый низ и видим строку '''User Data'''. Жмем на троеточие'''&amp;lt;sup&amp;gt;[2]&amp;lt;/sup&amp;gt;''' напротив и вставляем вместо того что там сейчас вот эту конструкцию'''&amp;lt;sup&amp;gt;[3]&amp;lt;/sup&amp;gt;''':&lt;br /&gt;
&amp;lt;code&amp;gt;[capture]&lt;br /&gt;
&lt;br /&gt;
bone		 = bip01_tail      ; bone for capture&lt;br /&gt;
distance         = 0.3             ; distance - less this distance between &lt;br /&gt;
                                   ; bome and capture taget object is captured&lt;br /&gt;
time_limit       = 500             ; max time for trying to capture object&lt;br /&gt;
pull_force       = 10000.          ; max force used to bring the taget to capture bone&lt;br /&gt;
pull_distance    = 1.              ; max distance taget can be puled&lt;br /&gt;
velocity_scale   = 0.001           ; velocity scale for pulling 1- normal&lt;br /&gt;
capture_force    = 100000.         ; max force for holding taget&lt;br /&gt;
&lt;br /&gt;
[disable]&lt;br /&gt;
&lt;br /&gt;
linear_factor   =0.7&lt;br /&gt;
angular_factor  =0.7&lt;br /&gt;
&lt;br /&gt;
[particles_bones]&lt;br /&gt;
&lt;br /&gt;
bone = bip01_head,0,0,0&lt;br /&gt;
bone = bip01_spine1,0,0,0&lt;br /&gt;
bone = bip01_l_upperarm,0,0,0&lt;br /&gt;
bone = bip01_r_upperarm,0,0,0&lt;br /&gt;
bone = bip01_l_forearm,0,0,0&lt;br /&gt;
bone = bip01_r_forearm,0,0,0&lt;br /&gt;
bone = bip01_l_thigh,0,0,0&lt;br /&gt;
bone = bip01_r_thigh,0,0,0&lt;br /&gt;
bone = bip01_l_calf,0,0,0&lt;br /&gt;
bone = bip01_r_calf,0,0,0&lt;br /&gt;
 �&amp;lt;/code&amp;gt;&lt;br /&gt;
Жмем '''Ok&amp;lt;sup&amp;gt;[4]&amp;lt;/sup&amp;gt;'''.&lt;br /&gt;
[[Файл:Npc convert lesson 08.png|950px|thumb|center|Изменение User Data]]&lt;br /&gt;
Работа с моделью завершена.&lt;br /&gt;
==Экспорт модели в .ogf==&lt;br /&gt;
Когда мы завершили работу с моделью, нужно сконвертировать ее в формат, понятный игре. Благо для этого в '''Actor Editor''''e для этого есть встроенный инструментарий. Жмем '''File&amp;gt;Export&amp;gt;Export OGF...'''. Думаю скрины для этого не нужны, т.к. такую же операцию мы прпоизводили с экспортом сборника анимаций. Саму модель можно обзывать как угодно и сохранять куда угодно.&lt;br /&gt;
==Применение модели в игре==&lt;br /&gt;
===Файл textures.ltx===&lt;br /&gt;
Нам нужно скопировать 2 файла из '''gamedat''''ы SDK в '''gamedat''''у нашего ТЧ.&lt;br /&gt;
Это файл нашего сборника анимаций (помните, что его месторасположение должно быть точно как в SDK) и собственно сама модель.&lt;br /&gt;
Затем нужно в папке '''textures''' из геймдаты нашего ТЧ найти файлик '''textures.ltx''' и вставить в секцию '''[types]''' имена текстур, которые использует наша модель. В моем случае это '''act\act_stalker_nebo_2''' и '''act\act_stalker_nebo_2_bump'''. &lt;br /&gt;
Текстуре должно быть присвоено нулевое значение, а бампу = 2.&lt;br /&gt;
&lt;br /&gt;
'''ВПРИНЦИПЕ, ЭТОТ ХОД НЕОБЯЗАТЕЛЕН. ОБЫЧНО МОЖНО И БЕЗ НЕГО.'''&lt;br /&gt;
===Присвоение модели любому НПС===&lt;br /&gt;
Теперь нужно дать какому-нибудь НПС из игры нашу модель. Пусть это будет волк!&lt;br /&gt;
Открываем файл '''gamedata\config\gameplay\character_desc_escape.xml''' с помощью блокнота. Находим там практически в самом начале секцию Волка:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\neytral\stalker_neytral_balon_1&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
и заменяем ее на:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;путь, к вашей модели относительно папки meshes&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
В моем случае я писал:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;!---------------------------------------esc_wolf-----------------------------------------------------&amp;gt;&lt;br /&gt;
	&amp;lt;specific_character id=&amp;quot;esc_wolf&amp;quot; team_default = &amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;name&amp;gt;esc_wolf_name&amp;lt;/name&amp;gt;&lt;br /&gt;
		&amp;lt;icon&amp;gt;ui_npc_u_stalker_neytral_balon_1&amp;lt;/icon&amp;gt;&lt;br /&gt;
		&amp;lt;bio&amp;gt;esc_wolf_bio&amp;lt;/bio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;class&amp;gt;esc_wolf&amp;lt;/class&amp;gt;&lt;br /&gt;
		&amp;lt;community&amp;gt;stalker&amp;lt;/community&amp;gt; &amp;lt;terrain_sect&amp;gt;stalker_terrain&amp;lt;/terrain_sect&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;rank&amp;gt;434&amp;lt;/rank&amp;gt;&lt;br /&gt;
		&amp;lt;reputation&amp;gt;5&amp;lt;/reputation&amp;gt;&lt;br /&gt;
		&amp;lt;money min=&amp;quot;600&amp;quot; max=&amp;quot;2000&amp;quot; infinitive=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
		&amp;lt;snd_config&amp;gt;characters_voice\human_01\stalker\&amp;lt;/snd_config&amp;gt;&lt;br /&gt;
		&amp;lt;crouch_type&amp;gt;-1&amp;lt;/crouch_type&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
		&amp;lt;visual&amp;gt;actors\nebo\stalker_nebo_2&amp;lt;/visual&amp;gt;&lt;br /&gt;
		&amp;lt;supplies&amp;gt;&lt;br /&gt;
			[spawn] \n&lt;br /&gt;
			wpn_pm \n&lt;br /&gt;
			ammo_9x18_fmj = 1 \n&lt;br /&gt;
			wpn_ak74u \n&lt;br /&gt;
			ammo_5.45x39_fmj \n&lt;br /&gt;
			device_torch \n&lt;br /&gt;
			hand_radio \n&lt;br /&gt;
		&amp;lt;/supplies&amp;gt;&lt;br /&gt;
		&lt;br /&gt;
#include &amp;quot;gameplay\character_criticals_4.xml&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;escape_lager_volk_talk&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;start_dialog&amp;gt;dm_hello_dialog&amp;lt;/start_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_cool_info_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;dm_help_wounded_medkit_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_dialog&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
		&amp;lt;actor_dialog&amp;gt;tm_wolf_reward&amp;lt;/actor_dialog&amp;gt;&lt;br /&gt;
	&amp;lt;/specific_character&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
===Проба в игре===&lt;br /&gt;
Все, теперь запускаем игру. Желательно начать новую игру, в противном случае Волк может остаться при своей старой модели.&lt;br /&gt;
Вот скрин из игры:&lt;br /&gt;
[[Файл:Конвертированный НПС в игре.jpg|950px|thumb|center|Конвертированный НПС в игре]]&lt;br /&gt;
==Автор==&lt;br /&gt;
Статья создана: [[Участник:Baklan]]&lt;br /&gt;
&lt;br /&gt;
Основа взята у: [[eNdimiOn]]&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%9D%D0%9F%D0%A1_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5.jpg</id>
		<title>Файл:Конвертированный НПС в игре.jpg</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D0%9D%D0%9F%D0%A1_%D0%B2_%D0%B8%D0%B3%D1%80%D0%B5.jpg"/>
				<updated>2011-06-04T16:53:29Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Конвертированный НПС в игре&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Конвертированный НПС в игре&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_08.png</id>
		<title>Файл:Npc convert lesson 08.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_08.png"/>
				<updated>2011-06-04T16:18:47Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Изменение User Data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Изменение User Data&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_07.png</id>
		<title>Файл:Npc convert lesson 07.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_07.png"/>
				<updated>2011-06-04T16:06:12Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Работа с костями&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Работа с костями&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_06.png</id>
		<title>Файл:Npc convert lesson 06.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_06.png"/>
				<updated>2011-06-04T15:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Экспорт .omf сборника&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Экспорт .omf сборника&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_05.png</id>
		<title>Файл:Npc convert lesson 05.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_05.png"/>
				<updated>2011-06-04T15:24:56Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Применение анимаций к модели&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Применение анимаций к модели&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_04.png</id>
		<title>Файл:Npc convert lesson 04.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_04.png"/>
				<updated>2011-06-04T14:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Список отыгрываемых анимаций&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Список отыгрываемых анимаций&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_03.png</id>
		<title>Файл:Npc convert lesson 03.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_03.png"/>
				<updated>2011-06-04T14:24:33Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: НПС с текстурой&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;НПС с текстурой&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_02.png</id>
		<title>Файл:Npc convert lesson 02.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_02.png"/>
				<updated>2011-06-04T11:55:18Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Выбор шейдера&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Выбор шейдера&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_01.png</id>
		<title>Файл:Npc convert lesson 01.png</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Npc_convert_lesson_01.png"/>
				<updated>2011-06-04T11:31:23Z</updated>
		
		<summary type="html">&lt;p&gt;Baklan: Начальный вид модели&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Начальный вид модели&lt;/div&gt;</summary>
		<author><name>Baklan</name></author>	</entry>

	</feed>