<?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=ZergO</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=ZergO"/>
		<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/ZergO"/>
		<updated>2026-04-29T19:31:32Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5,_%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%D0%B8_%D0%BE%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D0%BA%D0%B0%D1%80%D1%82_%D1%80%D0%B5%D0%BB%D1%8C%D0%B5%D1%84%D0%B0</id>
		<title>Создание, описание особенностей и объяснение работы карт рельефа</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5,_%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D1%81%D0%BE%D0%B1%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9_%D0%B8_%D0%BE%D0%B1%D1%8A%D1%8F%D1%81%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B_%D0%BA%D0%B0%D1%80%D1%82_%D1%80%D0%B5%D0%BB%D1%8C%D0%B5%D1%84%D0%B0"/>
				<updated>2017-04-17T21:10:46Z</updated>
		
		<summary type="html">&lt;p&gt;ZergO: Отмена правки 14935, сделанной участником Quadratic13 (обс.)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В этой статье я постараюсь объяснить создание правильных карт ''bump'' и ''bump#'' с помощью '''Adobe Photoshop''' и '''X-ray SDK'''. Думаю, с этими дополнительными составляющими текстурами много кто сталкивался, много кто искал пути правильного их создания. На самом деле, чтобы правильно создать бамп-карты, необходимо освоить как техническую сторону вопроса (делать, так сказать, &amp;quot;по науке&amp;quot;), так и практическую (различные методики работы в фотошопе, обработка текстуры, исправление возможных косяков и т. д.). В данной статье больше всего внимания будет уделяться именно первому пункту, ведь в любом деле лучше сначала выучить основы, а потом, в том числе, самостоятельно обучаясь, получить опыт в практике, улучшить свое мастерство.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Немного о структуре и стилистике статьи, дабы все было в дальнейшем более понятно'''&amp;lt;br&amp;gt;&lt;br /&gt;
Многие игровые текстуры (в Сталкере - все) находятся в формате ''RGB''. Если кто не знает, есть понятие &amp;quot;каналы&amp;quot;. Их вкладка в ФШ находится справа, ''&amp;quot;Слоев&amp;quot;''. В ''RGB'' это:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
R - red (красный)&lt;br /&gt;
G - green (зеленый)&lt;br /&gt;
B - blue (синий)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
При их &amp;quot;смешивании&amp;quot;, получаем нормальную окраску изображения. В общем, указания по каналам в данной статье будут даваться в виде, как блок выше. &lt;br /&gt;
Иногда в RGB каналов больше (можете сами попробовать добавлять в фотошопе). В игре используется канал ''Альфа 1'' (его еще просто &amp;quot;Альфой&amp;quot; кличут). У него есть, разумеется, свои особые функции. Итого, вот так будут выглядеть указания по каналам:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;R - что должно быть на красном канале&lt;br /&gt;
G - что на зеленом&lt;br /&gt;
B - что на синем&lt;br /&gt;
Alpha - что на Альфе&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Статья разделена на три основные части:&amp;lt;br&amp;gt;&lt;br /&gt;
1. '''Теория'''. Здесь будут описаны сами карты ''bump'' и ''bump#'', а также некоторые другие рабочие карты и элементы (не забудьте заглянуть в подраздел ''&amp;quot;Мини-словарь терминов статьи&amp;quot;'').&amp;lt;br&amp;gt;&lt;br /&gt;
2. '''Работа в фотошопе'''. Описание действий в фотошопе, которые необходимы для подготовки элементов бампа.&amp;lt;br&amp;gt;&lt;br /&gt;
3. '''SDK'''. Завершающая часть работы по бампу. Здесь собираются, регистрируются, настраиваются составляющие бампа, а в последствии, - создаются ''bump'' и ''bump#''.&lt;br /&gt;
==Теория==&lt;br /&gt;
Для начала попытаюсь объяснить структуру основных карт и разобрать основные понятия статьи. Всё ниже написанное не обязательно верно на все 100%.&lt;br /&gt;
&lt;br /&gt;
===Height Map (карта высот)===&lt;br /&gt;
Карта высот - сугубо служебная карта в Сталкере. Как отдельная текстура не встречается, однако, если вы делаете карту нормалей в фотошопе, то для начала нужно будет создать или &amp;quot;запечь&amp;quot; в специальных программах карту высот. В карте высот все построено на белых (высоты), черных (впадины), серых (плюс-минус ровные плоскости) оттенках. В целом, в основном выходит, что основная часть изображения - серая, в выпуклых местах оно светлее, а на месте впадин - темнее.&lt;br /&gt;
&lt;br /&gt;
===Normal Map (карта нормалей)===&lt;br /&gt;
Карту нормалей можно получить следующими способами:&amp;lt;br&amp;gt;&lt;br /&gt;
- сгенерировать с высокополигональной модели в 3д-редакторе, в роде '''3ds Max''', '''zBrush'''...&amp;lt;br&amp;gt;&lt;br /&gt;
- сгенерировать с ранее созданной карты высот с помощью одного из плагинов для '''Photoshop''' (плагин NVIDIA, плагин PixPlant, плагин xNormal)&amp;lt;br&amp;gt;&lt;br /&gt;
- сгенерировать с ранее созданной карты высот в спец-прогах ('''xNormal''', '''PixPlant''', '''CrazyBump''')&amp;lt;br&amp;gt;&lt;br /&gt;
Если разбирать по каналам схематически, то выглядит так:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
R - ось X - указывает нормали влево и вправо (горизонтальные)&lt;br /&gt;
G - ось Y - указывает нормали вверх и вниз (вертикальные)&lt;br /&gt;
B - ось Z - указывает нормали в глубину от поверхности&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
При включенном ''RGB'' на каналах, смотрится как текстура в синих, фиолетовых, сиреневых, даже иногда розовых цветах. Нормал мапу очень и очень рекомендуется создавать для бампа (тем более, если она с хай-поли модели), а не использовать сокращенный вариант с картой высот (об этом узнаете в разделе СДК ниже). Нормал мапа, собственно, и предает текстуре различных объемных черт. В дальнейшем, после сборки в СДК, карта станет частью ''bump''.&lt;br /&gt;
&lt;br /&gt;
===bump===&lt;br /&gt;
&lt;br /&gt;
Карта ''bump'' представляет собой обычную карту нормалей в формате A(BGR) (типично для формата сжатия DXT5_nm). Разработчики использовали такой порядок по очень простой причине - DXT компрессия гораздо меньше &amp;quot;портит&amp;quot; текстуру, так как альфа-канал не подвергается компресии и остается практически в исходном виде. Поясню: еще раз гляньте на каналы карты нормалей. А теперь представьте, что на пустое изображения с каналами RGBA поставили все ту же карту нормалей, только перевернутую по каналам. То есть наполнение R с карты нормалей перешло на канал Альфа (А) карты ''bump'', G перешло в B, B перешло в G. Что касается канала R в бампе, туда поставили ''Specular Map'' (карту бликов). О ней можете подробней почитать в мини-словаре терминов.&amp;lt;br&amp;gt;&lt;br /&gt;
Также хочу напомнить, что в своем полном виде карта ''bump'' создается из карты нормалей + текстурой с спекуляром на Альфе в СДК. Такая-вот текстурная солянка. Думаю, вы знаете, что она в игре делает, но если вы столкнулись с данными терминами первый раз, то все довольно просто: карта делает текстуру объекта более красивой, объемной, с выпуклостями и впадинами, добавляет или запрещает отражение текстурой света от солнца, лампы, фонарика и т. д. Вот, например, новенькому листу металла было бы неплохо придать возможность отражать блики, а кирпичной текстуре задать впадины между кирпичиками. А вот дереву, допустим, никаких отражений света не надо, хотя высоты (впадины и выпуклости) добавить таки можно. Еще замечу, что бампы не нужны для текстур партиклов, текстур интерфейса и еще ряда специфических изображений. К основной текстуре привязывается через файл '''текстура.thm'''. Но по поводу этого не беспокойтесь, ведь файлы thm появляется при создании бампа/подключении бампа к текстуре в СДК.&lt;br /&gt;
&lt;br /&gt;
Каналы:&lt;br /&gt;
[[Изображение:Argb.png|300px|thumb|right|Каналы в карте bump]]&lt;br /&gt;
&amp;lt;pre&amp;gt;R - Specular map - карта интенсивности блика&lt;br /&gt;
G - ось Z - указывает нормали в глубину от поверхности&lt;br /&gt;
B - ось Y - указывает нормали вверх и вниз (вертикальные)&lt;br /&gt;
Alpha - ось X - указывает нормали влево и вправо (горизонтальные)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===bump#===&lt;br /&gt;
&lt;br /&gt;
''Bump#'' - очень интересная карта, назначение которой для многих непонятно. Так как нагуглить какую-либо информацию насчет правильного названия мне не удалось, я называю ее просто &amp;quot;Normal error map&amp;quot;. Не знаю, используются ли подобные технологии в других играх, но встретить ее где-либо, кроме сталкера, мне не удалось. Эта карта &amp;quot;фиксит&amp;quot; ошибки сжатия DXT у бампа и генерируется только с помощью СДК, поэтому всякие непонятные действия некоторых пользователей, вроде вставки вместо нее обычной или обесцвеченной карты нормалей, а также описанного в статье Argus'a заливания серым со вставкой в альфа-канал карты высот, использовать нельзя. Выглядит как серое зашумленное изображение. Еще раз напоминаю, ''bump#'' создается &amp;lt;u&amp;gt;автоматически&amp;lt;/u&amp;gt; при генерировании ''bump'' в СДК. &lt;br /&gt;
&lt;br /&gt;
Каналы:&lt;br /&gt;
&amp;lt;pre&amp;gt;R - ошибки оси X карты нормалей&lt;br /&gt;
G - ошибки оси Y карты нормалей&lt;br /&gt;
B - ошибки оси Z карты нормалей&lt;br /&gt;
Alpha - карта высот; используется для параллакса, если использование оного было включено при настройке текстуры&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для сравнения:&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:W.jpg|center|250px|thumb|C bump#]]||[[Изображение:Wo.jpg|center|250px|thumb|Без bump#, заметны артефакты]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Мини-словарь терминов===&lt;br /&gt;
Здесь будет находиться описание некоторых терминов, которые встречаются в статье.&lt;br /&gt;
'''Diffuse texture ака диффузная текстура ака диффуз''' - основная исходная текстура, для которой делаются дополнительные карты.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Specular Map ака карта бликов''' - карта, которая в последствии работы в СДК станет частью бампа (на красном канале). Отвечает за отражение текстурой света. Изготавливается либо с диффуза в Фотошопе, либо параллельно с диффузом в 3д-редакторе. На карте черным (и оттенками черного) обозначаются места, которые не будут отсвечивать свет), а белым (и оттенками) - которые будут отсвечивать.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Работа в фотошопе==&lt;br /&gt;
Здесь также понадобится '''NormalMapFilter''' от '''nVidia''', полагаю, у вас он уже установлен, так как он идет в комплекте с dds-плагином или другой удобный плагин (озвучены выше, в теории карты нормалей).&lt;br /&gt;
Все файлы сохраняются в tga 24 bits/pixel (если нету альфа-канала) или 32 bits/pixel (если есть альфа-канал). Перед сохранением следует перевести изображение из 16-битного в 8-битное.  &lt;br /&gt;
&lt;br /&gt;
===Карта высот===&lt;br /&gt;
&lt;br /&gt;
На карте высот белым цветом обозначены выпуклости, черным - впадины. Если бамп делается для текстур окружения, то можно начать работу с оригинальной (диффузной) текстуры, если же бамп делается для персонажа, то такой способ обычно неприемлем, зачастую из-за камуфляжа, который никак не должен сказываться на рельефе ткани (хотя, в принципе, если есть определенный опыт работы, прямые руки и старание, то подобных косяков можно избежать). &lt;br /&gt;
По сути, создание карты высот - процесс творческий, могу дать лишь несколько советов:&lt;br /&gt;
*Над картой высот работа должна проводиться строго в 16bits, причем с самого начала до финального экспорта в SDK[[Изображение:16bits.PNG|160px|thumb|right|Перевод в 16-битное изображение]]&lt;br /&gt;
*Качественного результата не будет, если просто взять и засунуть диффузную текстуру в генератор, не делайте этого. Придется тщательно поработать над картой высот.&lt;br /&gt;
*Не обязательно пытаться показать на карте высот все детали и рельеф сразу, их можно добавить позднее, когда будет сгенерирована карта нормалей.&lt;br /&gt;
[[Изображение:Увеличение_детализации.png|300px|thumb|left|Пример добавления деталей]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#696969&amp;quot;&amp;gt;(Пример сделан прямо во время написания статьи)&amp;lt;/span&amp;gt;&lt;br /&gt;
*Для карты высот, если делаете ее с диффуза, можно взять один из каналов ''RGB'' диффузной текстуры или же взять обесцвеченную. При первом варианте, выберите желаемый канал, выделяйте изображения, копируйте, вставляйте его в новый документ. Новое изображение будет в режиме ''&amp;quot;Градация серого&amp;quot;''. Рекомендую перевести опять в ''RGB'', так как не все плагины и фильтры читают ''&amp;quot;Градацию&amp;quot;''. При втором варианте, просто создайте дубликат изображения и нажмите ''Ctrl+Shift+U'' (''&amp;quot;Обесцветить&amp;quot;'').&lt;br /&gt;
*На текстуре карты высот можно сделать слой поверх фонового, на который нужно скопировать обесцвеченную инвертированную исходную текстуру. Звучит не очень, но это все не сложно. Берем диффуз, нажимаем ''Ctrl+I'' (инвертируем). Потом обесцвечиваем, как показано выше. Копируем на новый слой карты высот. Режим наложения выставляем ''&amp;quot;Перекрытие&amp;quot;'' (''&amp;quot;Overlay&amp;quot;''). Дальше еще можно сделать слой более прозрачным. В целом, смотрите, чтоб текстура была сбалансированной в плане плоскостей. Ровная часть должна быть заполнена серым оттенком.&lt;br /&gt;
*Очень пригодятся в этом случае инструменты ''&amp;quot;Осветлитель&amp;quot;'' и ''&amp;quot;Затемнитель&amp;quot;''. &lt;br /&gt;
*Поверх всего можно добавить еще один слой, на котором будете использовать инструменты в роде &amp;quot;Кисти&amp;quot;.&lt;br /&gt;
====Metro 2033 (если кому интересно)====&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Metro_example.png|300px|thumb|left|Пример получаемой карты нормалей из Metro 2033]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
В метро вместо карт нормалей, как обычно бывает в большинстве игр, используется карта высот - файлы с постфиксом ''_bump''. Они есть только в том случае, если вы распаковывали игру самостоятельно, большая часть сборщиков &amp;quot;Архивов моделей&amp;quot; их в архив не добавляет.&lt;br /&gt;
&amp;quot;Состав&amp;quot; карты высот Метро 2033:&lt;br /&gt;
&amp;lt;pre&amp;gt;R - пустой канал&lt;br /&gt;
G - Specular map - карта интенсивности блика&lt;br /&gt;
B - пустой канал&lt;br /&gt;
Alpha - карта высот&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Карта нормалей===&lt;br /&gt;
Создание происходит следующим образом: берем карту высот, открываем фильтр, задаем настройки по усмотрению. Далее получаем готовую карту нормалей. Нужно осмотреть карту, чтоб там не было мелких не нужных горбиков и прочих недостатков. Скорее всего, все можно будет решить размытием в некоторых местах. Еще, как вариант, чудесная методика размытия, при которой изображение все равно остается более четким:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Дублируем фоновый слой.&amp;lt;br&amp;gt;&lt;br /&gt;
2. Дубликату выставляем режим ''&amp;quot;Перекрытие&amp;quot;''.&amp;lt;br&amp;gt;&lt;br /&gt;
3. Применяем один из фильтров размытия (к примеру, ''&amp;quot;Размытие по гауссу&amp;quot;'').&amp;lt;br&amp;gt;&lt;br /&gt;
4. Если надо, дублируем этот слой еще пару раз.&lt;br /&gt;
&lt;br /&gt;
===Specular Map===&lt;br /&gt;
Данную карту создавать не сложно: взять обесцвеченный диффуз и обработать темным оттенком те регионы, которые не будут отражать свет, а светлым - которые будут. Чем интенсивней оттенок, тем сильнее эффект.&lt;br /&gt;
&lt;br /&gt;
==SDK==&lt;br /&gt;
===Карта нормалей===&lt;br /&gt;
&lt;br /&gt;
При наличии уже готовой карты нормалей, изготовленной вами, из другой игры, '''zBrush''' или любой другой программы высокополигонального 3d моделирования, остается только добавить ее в '''SDK'''. ДЛя чего регистрировать в СДК? Для того, чтоб потом совместить нормал мапу с заготовкой для бампа и получить бамп.&lt;br /&gt;
Параметры:&lt;br /&gt;
*'''0.4''':&lt;br /&gt;
Type: 2D Texture, Format: 32 bit (8:8:8:8), MipMap Filter: Kaiser (здесь уже по желанию, я всегда использую Kaiser)&lt;br /&gt;
[[Изображение:0.4_nmap.png|150px|thumb|left]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
*'''0.5/0.6, 0.7''':&lt;br /&gt;
Type: Normal Map, MipMap Filter: Kaiser&lt;br /&gt;
[[Изображение:0.5-0.7_nmap.png‎|150px|thumb|left]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
===Bump===&lt;br /&gt;
&lt;br /&gt;
С использованием отдельной карты нормалей bump карта изготавливается очень просто (заготовку для бампа лучше назвать '''текстура_bump.tga''' и поместить в '''editors/import'''):&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;RGB - залить серым цветом, RGB = 128,128,128&lt;br /&gt;
Alpha - Specular Map&amp;lt;/pre&amp;gt;&lt;br /&gt;
Параметры добавления в SDK не зависят от версии:&amp;lt;br/&amp;gt;&lt;br /&gt;
Type: Bump Map, в Special Normal Map указываем добавленную ранее карту нормалей.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:Bump_st.png‎|150px|thumb|left|В фотошопе]]||[[Изображение:0.4_bump.png|150px|thumb|left|Добавление в SDK]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
Если же вдруг возникло желание обойтись без дополнительной карты нормалей, то добавление в SDK и каналы меняются:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;RGB - карта высот&lt;br /&gt;
Alpha - Specular Map&amp;lt;/pre&amp;gt;&lt;br /&gt;
Это единственный вариант, когда параметр ''Virtual height'' действительно влияет на интенсивность получаемого бампа.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:Bump_map_wo_n.png|200px|thumb|left|В фотошопе]]||[[Изображение:Bump_wo_n_sdk.png|150px|thumb|left|Добавление в SDK]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==В заключение + дополнительная информация==&lt;br /&gt;
Пара полезных ссылок.&amp;lt;br&amp;gt;&lt;br /&gt;
1. [[Файл_формата_.thm]] - статья про привязку бампа к текстуре.&amp;lt;br&amp;gt;&lt;br /&gt;
2. [https://www.youtube.com/watch?v=TrkOAIZqKTA Отличный видеоурок Андрея Непряхина (новый)]&amp;lt;br&amp;gt;&lt;br /&gt;
Всем спасибо за внимание! Успехов!&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
'''lafugix''' - создатель статьи&amp;lt;br&amp;gt;&lt;br /&gt;
'''FantomICW''' - ремейк статьи (переписал на более понятный язык, дополнил материал)&lt;br /&gt;
[[Категория:Texturing]][[Категория:SDK]][[Категория:SDK_CS]]&lt;/div&gt;</summary>
		<author><name>ZergO</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=CS._Smart_covers/C%D0%BC%D0%B0%D1%80%D1%82_%D0%BA%D0%B0%D0%B2%D0%B5%D1%80%D1%8B</id>
		<title>CS. Smart covers/Cмарт каверы</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=CS._Smart_covers/C%D0%BC%D0%B0%D1%80%D1%82_%D0%BA%D0%B0%D0%B2%D0%B5%D1%80%D1%8B"/>
				<updated>2015-05-08T22:41:40Z</updated>
		
		<summary type="html">&lt;p&gt;ZergO: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Смарткаверы - это спаун объект, который управляет анимациями  NPC. Используется для создания сценок со сложной анимацией. Тип смарткавера (анимации которые может использовать NPC в смарткавере), зависят от параметра '''description'''(выбирается в Level editor).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Боевые  смарткаверы,  управляют  боевыми  анимациями,  их  могут  использовать  NPC  в универсальной боевой схеме. Так же, боевые смарткаверы могут использоваться для построения скриптовых  сцен.  Набор аниамций  используемый  NPC в  смарткавере,  зависит  от  выбранной бойницы  (лупхолы).  NPC может  вести  огонь  из  смарткавера  только  если  противник  находится внутри радиуса действия лупхолы. Названия лупхол для боевых смарткаверов смотреть в файле: [http://yadi.sk/d/wAt4QA7m7GMvS Combat loopholes.pdf]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Анимационные смарткаверы, настраиваются аналогично боевым, но используют специальные анимации,  используются  только  для  скриптовых  сцен.  Названия  лупхол  для  анимационных смарткаверов смотреть в файле: [http://yadi.sk/d/RFA_EpCR7GMwk Lead loopholes.pdf]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[smartcover]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''cover_name''' = cover_1 – имя смарткавера, обязательный параметр&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loophole_name= lh1 – имя лупхолы, какие лупхолы доступны, зависит от типа смартка-вера (в боевых смарткаверах, имя лупхолы )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cover_state = fire_target – состояниеNPC смарткавере:&lt;br /&gt;
&lt;br /&gt;
fire_target – стреляет по цели,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
fire_no_lookout_target – стреляет по цели не высовываясь,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
idle_target – спрятался,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lookout_target – выглядывает,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
default_behaviour – прячется, выглядывает, если есть цель, атаку-ет&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
use_in_combat = true – использование смарткавера в бою, если не поставить этот пара-метр NPCбудет срываться в универсальную боевую схему&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
target_enemy=  – цель, куда стрелять: actorили story_id&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
target_path = &amp;lt;path_name&amp;gt; – будет стрелять в первую точку указанного пути&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
idle_min_time – настройка таймингов между анимациями&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
idle_max_time – настройка таймингов между анимациями&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lookout_min_time – настройка таймингов между анимациями&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lookout_max_time – настройка таймингов между анимациями&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''ВНИМАНИЕ!'''  Перед тем как прописать в смарткавере лупхолу, нужно убедиться что лупхола с&lt;br /&gt;
таким названием есть в этом смарткавере (см. в файлах '''[http://yadi.sk/d/wAt4QA7m7GMvS Combat loopholes.pdf]''', '''[http://yadi.sk/d/RFA_EpCR7GMwk Lead loopholes.pdf]''').&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Смарткаверы используют стандартные сигналы:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''enemy_in_fov''' – противник находится в лупхоле&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''enemy_not_in_fov''' – противник не находится в лупхоле&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Иллюстрации =&lt;br /&gt;
&lt;br /&gt;
http://storage6.static.itmages.ru/i/13/0704/h_1372891757_5387931_d6d688e38d.jpg&amp;lt;br /&amp;gt;&lt;br /&gt;
http://storage6.static.itmages.ru/i/13/0704/h_1372891758_6148910_a9681c5c64.jpg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= * * * =&lt;br /&gt;
&lt;br /&gt;
Статья взята из файла Gamedesigner_education.pdf, найденного в составе X-Ray SDK 0.7&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
&lt;br /&gt;
Статья создана: [[GSC Game World]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Добавил на stalkerin: [[aka_sektor]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK CS]][[Категория:SDK COP]]&lt;/div&gt;</summary>
		<author><name>ZergO</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%91%D0%B0%D0%B3%D1%84%D0%B8%D0%BA%D1%81%D1%8B_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B9</id>
		<title>Багфиксы редактора уровней</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%91%D0%B0%D0%B3%D1%84%D0%B8%D0%BA%D1%81%D1%8B_%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B9"/>
				<updated>2015-05-08T22:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;ZergO: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
== Багфиксы редактора уровней ==&lt;br /&gt;
Я разрешаю всем добавлять на эту статью свои замеченные баги редактора.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=== Камера и объект ===&lt;br /&gt;
Если ставить объект камерой вверх, то он появится в воздухе.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Изображение:Bug_redactora1.jpg]]&lt;br /&gt;
[[Категория:Незаконченные_статьи]]&lt;/div&gt;</summary>
		<author><name>ZergO</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BE%D1%80%D1%83%D0%B6%D0%B8%D1%8F</id>
		<title>Создание нового оружия</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D0%BE%D1%80%D1%83%D0%B6%D0%B8%D1%8F"/>
				<updated>2015-05-08T22:30:54Z</updated>
		
		<summary type="html">&lt;p&gt;ZergO: Отмена правки 14054, сделанной участником 91.202.163.84 (обс.)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В этой статье мы научимся создавать новые образцы вооружения. Для начала, мы будем использовать модели из оригинальной игры. Если вы хотите создать оружие, имеющее уникальный внешний вид, ознакомьтесь с [[Создание моделей и их добавление в игру|уроком]] по созданию моделей.&lt;br /&gt;
&lt;br /&gt;
Добавим в игру '''АК101'''.&lt;br /&gt;
&lt;br /&gt;
==Внешний вид==&lt;br /&gt;
&lt;br /&gt;
Позаботимся о том, чтобы наше оружие отличалось внешне от того же '''АК74'''.&lt;br /&gt;
&lt;br /&gt;
===Текстуры===&lt;br /&gt;
&lt;br /&gt;
Нарисуем для оружия новую текстуру. Подробно останавливаться на этом процессе не буду, ознакомьтесь с примером, приведенным [[Изменение текстур#Изменение текстур моделей|здесь]]. Итак, основываясь на текстуре '''АК74''', мы сделали вот такую текстуру:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:500px-AK101 texture.jpg]]&lt;br /&gt;
&lt;br /&gt;
Файлы текстур мы назвали:&lt;br /&gt;
&lt;br /&gt;
* '''wpn_ak10.dds'''&lt;br /&gt;
* '''wpn_ak10_bump#.dds'''&lt;br /&gt;
* '''wpn_ak10_bump.dds'''&lt;br /&gt;
&lt;br /&gt;
===Модели===&lt;br /&gt;
&lt;br /&gt;
Новых моделей мы пока делать не станем, просто воспользуемся дублированными моделями от '''АК74'''. Скопируем папку:&lt;br /&gt;
&lt;br /&gt;
'''gamedata\meshes\weapons\ak74\''' &lt;br /&gt;
&lt;br /&gt;
И назовем её '''ak-101'''. Содержимое, соответственно, переименуем в:&lt;br /&gt;
&lt;br /&gt;
* '''wpn_ak101.ogf'''&lt;br /&gt;
* '''wpn_ak101_hud.ogf'''.&lt;br /&gt;
&lt;br /&gt;
Теперь пропишем в эти модели созданные нами текстуры. Способ описан [[Изменение текстур#Создание новых visual для использования с новыми объектами|здесь]]'''.&lt;br /&gt;
&lt;br /&gt;
P.S. от Кепа: Вобще, если вы создаёте новое оружие на основе старой модели, то удобней будет прописывать его через файл gamedata\config\misc\unique_items.ltx (в Тени чернобыля). В Чистом небе уникальные стволы лежат в файлах оружия.&lt;br /&gt;
Смысл в том, что вам не нужно бутет переписывать все значения оружия в новый файл, а просто надо добавить ссылки на новые текстуры и описания, и перечислить свойства, которые Вы хотите заменить. Кроме того, создавая отдельный файл модели для нового оружия Вы тупо загружаете одну и туже информацию в память по второму кругу (это нехорошо, да). Всё остальное надо делать также как написано далее.&lt;br /&gt;
&lt;br /&gt;
Если создаете оружие с новой моделью то обязательно не оставляйте её без изменений.Почему-то в игре не может быть двух оружий с одинаковыми моделями.И еще-если вы создаете прототипное оружие(меняете часть конфигов) то обязательно кладите конфиг в соответствующий файл(в ЧН и ЗП это файл с оружием-прототипом,а в ТЧ unique_items) иначе при загрузке игра будет вылетать,примерно так:&lt;br /&gt;
argument:can not find section 'название вашего оружия'&lt;br /&gt;
&lt;br /&gt;
===Иконки===&lt;br /&gt;
&lt;br /&gt;
Добавим в игру иконки, которыми оружие будет отображаться в инвентаре. Способ подробно описан [[Изменение текстур#Изменение иконок предметов|здесь]].&lt;br /&gt;
&lt;br /&gt;
Вот, что получилось в конечном итоге:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:500px-AK101 icon.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Конфиги==&lt;br /&gt;
&lt;br /&gt;
Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим '''АК101''' на базе конфигов '''АК74'''. &lt;br /&gt;
&lt;br /&gt;
===Свойства оружия===&lt;br /&gt;
&lt;br /&gt;
Скопируем файл из папки:&lt;br /&gt;
&lt;br /&gt;
'''gamedata\config\weapons\ak74.ltx'''&lt;br /&gt;
&lt;br /&gt;
Назовем его '''ak101.ltx'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. '''АК101''' - всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном [[Редактирование оружия|уроке]]. В данном случае конфиг был составлен таким образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
[wpn_ak101]:identity_immunities&lt;br /&gt;
GroupControlSection		= spawn_group&lt;br /&gt;
discovery_dependency	= &lt;br /&gt;
$spawn              	= &amp;quot;weapons\ak-101&amp;quot;	; name and section in level editor&lt;br /&gt;
$npc					= on				&lt;br /&gt;
$prefetch 				= 8&lt;br /&gt;
scheduled				= off               ;[] option for ALife Simulator&lt;br /&gt;
cform               	= skeleton&lt;br /&gt;
class               	= WP_AK74			; class of the weapon that corresponding to CPP class&lt;br /&gt;
min_radius          	= 30				; [] for AI&lt;br /&gt;
max_radius          	= 100				; [] for AI&lt;br /&gt;
description				= enc_weapons1_wpn-ak101&lt;br /&gt;
	&lt;br /&gt;
ef_main_weapon_type		= 2&lt;br /&gt;
ef_weapon_type			= 6&lt;br /&gt;
&lt;br /&gt;
;-----------------------------------------------------------------------------------&lt;br /&gt;
holder_range_modifier	= 1.0		       ; во сколько раз увеличивается eye_range &lt;br /&gt;
holder_fov_modifier		= 0.7              ; во сколько раз увеличивается eye_fov&lt;br /&gt;
;-----------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
cost					= 2;4000				&lt;br /&gt;
weapon_class			= assault_rifle		&lt;br /&gt;
	&lt;br /&gt;
ammo_limit				= 210				&lt;br /&gt;
ammo_elapsed			= 30				&lt;br /&gt;
	&lt;br /&gt;
ammo_mag_size			= 30				&lt;br /&gt;
fire_modes				= 1, -1&lt;br /&gt;
&lt;br /&gt;
ammo_class				= ammo_5.56x45_ss190, ammo_5.56x45_ap	  &lt;br /&gt;
grenade_class			= ammo_vog-25, ammo_vog-25p			&lt;br /&gt;
launch_speed			= 0&lt;br /&gt;
&lt;br /&gt;
hand_dependence			= 1									&lt;br /&gt;
single_handed			= 0&lt;br /&gt;
	&lt;br /&gt;
slot 					= 2									&lt;br /&gt;
animation_slot			= 2									&lt;br /&gt;
inv_name	        	= wpn-ak101								&lt;br /&gt;
inv_name_short			= wpn-ak101&lt;br /&gt;
inv_weight			= 3.3								&lt;br /&gt;
&lt;br /&gt;
inv_grid_width			= 5	 &lt;br /&gt;
inv_grid_height			= 2	    &lt;br /&gt;
inv_grid_x				= 11  &lt;br /&gt;
inv_grid_y				= 29&lt;br /&gt;
&lt;br /&gt;
kill_msg_x			= 0&lt;br /&gt;
kill_msg_y			= 28&lt;br /&gt;
kill_msg_width		= 84&lt;br /&gt;
kill_msg_height		= 28&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;-----------------------------------------------------------------------------------&lt;br /&gt;
;params of weapon recoil&lt;br /&gt;
&lt;br /&gt;
fire_dispersion_base			= 0.15;0.2		&lt;br /&gt;
control_inertion_factor			= 1.1f;1.25f&lt;br /&gt;
&lt;br /&gt;
;отдача&lt;br /&gt;
cam_relax_speed         		=6;5;3.5; 0.15		&lt;br /&gt;
cam_dispersion          		= 0.1;0.15		&lt;br /&gt;
cam_dispersion_inc			= 0.2;0.3		&lt;br /&gt;
cam_dispertion_frac			= 0.8;0.9		&lt;br /&gt;
cam_max_angle				= 10.0	    	&lt;br /&gt;
cam_max_angle_horz			= 20.0		&lt;br /&gt;
cam_step_angle_horz			= 1.1;1		&lt;br /&gt;
&lt;br /&gt;
fire_dispersion_condition_factor 	= 5.7;5	    	 &lt;br /&gt;
misfire_probability 		= 0.0055;0.003	 &lt;br /&gt;
misfire_condition_k			= 0.06;0.05&lt;br /&gt;
condition_shot_dec 			= 0.00035;0.0001	&lt;br /&gt;
;-----------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
fire_point             		=  0,0.216,0.638			 &lt;br /&gt;
fire_point2            		=  0,0.216,0.730			&lt;br /&gt;
&lt;br /&gt;
flame_particles				= weapons\generic_weapon05	&lt;br /&gt;
smoke_particles				= weapons\generic_shoot_00&lt;br /&gt;
grenade_flame_particles		= weapons\generic_weapon01&lt;br /&gt;
	&lt;br /&gt;
shell_point		 			= 0,0.216,0.174				&lt;br /&gt;
shell_particles	 			= weapons\generic_shells	&lt;br /&gt;
&lt;br /&gt;
PDM_disp_base 				= 1.0&lt;br /&gt;
PDM_disp_vel_factor 		= 1.3&lt;br /&gt;
PDM_disp_accel_factor 		= 1.3&lt;br /&gt;
PDM_crouch	 				= 1.0&lt;br /&gt;
PDM_crouch_no_acc 			= 1.0&lt;br /&gt;
&lt;br /&gt;
; ttc&lt;br /&gt;
hit_power                	= 0.36, 0.4, 0.43, 0.46		&lt;br /&gt;
hit_impulse		 			= 140			&lt;br /&gt;
hit_type 					= fire_wound 	&lt;br /&gt;
fire_distance            	= 1700		&lt;br /&gt;
bullet_speed				= 1000		&lt;br /&gt;
rpm                      	= 750		&lt;br /&gt;
&lt;br /&gt;
use_aim_bullet				= true		&lt;br /&gt;
time_to_aim					= 1.0	&lt;br /&gt;
&lt;br /&gt;
;params when silencer is attached &lt;br /&gt;
;similar to corresponding params without prefix silencer_&lt;br /&gt;
&lt;br /&gt;
silencer_hit_power       	= 0.38&lt;br /&gt;
silencer_hit_impulse	 	= 120&lt;br /&gt;
silencer_fire_distance   	= 250&lt;br /&gt;
silencer_bullet_speed	 	= 600&lt;br /&gt;
&lt;br /&gt;
hud                      	= wpn_ak101_hud				&lt;br /&gt;
&lt;br /&gt;
position         	        = -0.026,-0.172,0			&lt;br /&gt;
orientation      	        = 0,0,0						&lt;br /&gt;
&lt;br /&gt;
;--STRAP PARAMETERS-----------------------------------------------------------------&lt;br /&gt;
strap_position         		= -0.16,-0.40,0.15			&lt;br /&gt;
strap_orientation      		= -10,-5,10					&lt;br /&gt;
strap_bone0					= bip01_spine2&lt;br /&gt;
strap_bone1					= bip01_spine1&lt;br /&gt;
&lt;br /&gt;
visual         		        = weapons\ak-101\wpn_ak101		&lt;br /&gt;
&lt;br /&gt;
light_color					= 0.6,0.5,0.3				&lt;br /&gt;
light_range					= 5							&lt;br /&gt;
light_var_color				= 0.05						&lt;br /&gt;
light_var_range				= 0.5&lt;br /&gt;
light_time 					= 0.2						&lt;br /&gt;
&lt;br /&gt;
ph_mass						= 5							&lt;br /&gt;
&lt;br /&gt;
;addons&lt;br /&gt;
scope_status				= 2							&lt;br /&gt;
silencer_status				= 2							&lt;br /&gt;
grenade_launcher_status		= 0;2							&lt;br /&gt;
&lt;br /&gt;
zoom_enabled				= true						&lt;br /&gt;
scope_zoom_factor	    	= 50						&lt;br /&gt;
&lt;br /&gt;
scope_name 					= wpn_addon_scope			&lt;br /&gt;
scope_x 					= 42						&lt;br /&gt;
scope_y 					= 3&lt;br /&gt;
silencer_name  				= wpn_addon_silencer		&lt;br /&gt;
silencer_x 					= 218						&lt;br /&gt;
silencer_y 					= 13					&lt;br /&gt;
grenade_launcher_name 		= wpn_addon_grenade_launcher&lt;br /&gt;
grenade_launcher_x 			= 116						&lt;br /&gt;
grenade_launcher_y 			= 23&lt;br /&gt;
&lt;br /&gt;
;sounds (name of the sound, volume (0.0 - 1.0), delay (sec))&lt;br /&gt;
snd_draw					= weapons\ak74_draw&lt;br /&gt;
snd_holster					= weapons\generic_holster&lt;br /&gt;
snd_shoot					= weapons\ak74_shot_0&lt;br /&gt;
snd_shoot1					= weapons\ak74_shot_1&lt;br /&gt;
snd_shoot2					= weapons\ak74_shot_2&lt;br /&gt;
snd_shoot3					= weapons\ak74_shot_3		&lt;br /&gt;
snd_empty					= weapons\gen_empty, 0.5&lt;br /&gt;
snd_reload					= weapons\ak74_reload, 0.7, 0.35&lt;br /&gt;
snd_shoot_grenade			= weapons\gen_grenshoot&lt;br /&gt;
snd_reload_grenade			= weapons\gen_grenload, 1.0, 0.8&lt;br /&gt;
snd_switch					= weapons\groza_switch, 1.0, 0.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;params when silencer is attached &lt;br /&gt;
;similar to corresponding params without prefix silencer_&lt;br /&gt;
&lt;br /&gt;
;silencer_flame_particles 	= weapons\generic_weapon01&lt;br /&gt;
silencer_smoke_particles 	= weapons\generic_shoot_00&lt;br /&gt;
&lt;br /&gt;
snd_silncer_shot			= weapons\w_ak74_shot1 &lt;br /&gt;
&lt;br /&gt;
silencer_light_color		= 0.6,0.5,0.3&lt;br /&gt;
silencer_light_range		= 0.01&lt;br /&gt;
silencer_light_var_color	= 0.05&lt;br /&gt;
silencer_light_var_range	= 0.5&lt;br /&gt;
silencer_light_time 		= 0.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;-----------------------------------------------------------------------------&lt;br /&gt;
;-- HUD DESCRIPTION&lt;br /&gt;
;-----------------------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
[wpn_ak101_hud]&lt;br /&gt;
allow_inertion				= true&lt;br /&gt;
&lt;br /&gt;
;similar to corresponding params in weapon section but for 1st person view&lt;br /&gt;
&lt;br /&gt;
shell_point					= -0.065000,0.000000,-0.045000&lt;br /&gt;
shell_dir			     	= 0.0, 1.0, 0.0&lt;br /&gt;
&lt;br /&gt;
fire_point               	= 0.09,0.020,-0.06&lt;br /&gt;
fire_point2              	= 0.30, 0.00, 0.05&lt;br /&gt;
fire_bone               	= wpn_body&lt;br /&gt;
&lt;br /&gt;
orientation             	= 0, 0, 0		&lt;br /&gt;
position                	= 0, 0, 0.05&lt;br /&gt;
visual                  	= weapons\ak-101\wpn_ak101_hud&lt;br /&gt;
&lt;br /&gt;
grenade_bone            	= wpn_grenade	&lt;br /&gt;
&lt;br /&gt;
; animation names&lt;br /&gt;
&lt;br /&gt;
anim_idle					= idle&lt;br /&gt;
anim_idle_aim				= idle_aim&lt;br /&gt;
anim_reload					= reload&lt;br /&gt;
anim_draw					= draw_wo_gl&lt;br /&gt;
anim_holster				= holster_wo_gl&lt;br /&gt;
anim_shoot					= shoot&lt;br /&gt;
			&lt;br /&gt;
; animation names&lt;br /&gt;
; attached grenade launcher [GRENADE fire mode]&lt;br /&gt;
anim_idle_g					= idle_grenade&lt;br /&gt;
anim_idle_g_aim				= idle_g_aim&lt;br /&gt;
anim_reload_g				= reload_grenade&lt;br /&gt;
anim_shoot_g				= shoot_grenade&lt;br /&gt;
anim_switch_grenade_on		= switch_grenade&lt;br /&gt;
anim_switch_grenade_off		= switch_grenade_off&lt;br /&gt;
anim_draw_g					= draw_grenade_mode&lt;br /&gt;
anim_holster_g				= holster_grenade_mode&lt;br /&gt;
&lt;br /&gt;
; attached grenade launcher [NORMAL fire mode]&lt;br /&gt;
anim_idle_gl				= idle_w_gl&lt;br /&gt;
anim_idle_gl_aim			= idle_w_gl_aim&lt;br /&gt;
anim_reload_gl				= reload_w_gl&lt;br /&gt;
anim_draw_gl				= draw_w_gl&lt;br /&gt;
anim_holster_gl				= holster_w_gl&lt;br /&gt;
anim_shoot_gl				= shoot_w_gl&lt;br /&gt;
anim_idle_sprint			= idle_sprint&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;HUD offset in zoom mode (to all)&lt;br /&gt;
;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console)&lt;br /&gt;
&lt;br /&gt;
zoom_offset			= -0.112400,0.016800,-0.115000&lt;br /&gt;
zoom_rotate_x		= 0.000200&lt;br /&gt;
zoom_rotate_y		= 0.017500&lt;br /&gt;
&lt;br /&gt;
zoom_hide_crosshair	= true						&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; same as above, but for attached grenade launcher for&lt;br /&gt;
; in NORMAL shoot mode&lt;br /&gt;
&lt;br /&gt;
grenade_normal_zoom_offset			= -0.112500,0.014000,0.000000&lt;br /&gt;
grenade_normal_zoom_rotate_x		= -0.000900&lt;br /&gt;
grenade_normal_zoom_rotate_y		= 0.017200&lt;br /&gt;
&lt;br /&gt;
; same as above, but for attached grenade launcher for&lt;br /&gt;
; in GRENADE mode&lt;br /&gt;
&lt;br /&gt;
grenade_zoom_offset			= -0.039600,-0.433100,0.000000&lt;br /&gt;
grenade_zoom_rotate_x		= -0.538700&lt;br /&gt;
grenade_zoom_rotate_y		= -0.033800&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Регистрация===&lt;br /&gt;
&lt;br /&gt;
Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле '''weapons.ltx'''. Для этого пропишем в него строку следующего вида:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;quot;w_ak101.ltx&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также, необходимо прописать модели, используемые для отображения оружия, в '''prefetch.ltx''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ini&amp;gt;[...]&lt;br /&gt;
weapons\abakan\wpn_abakan&lt;br /&gt;
weapons\abakan\wpn_abakan_hud&lt;br /&gt;
weapons\ak-101\wpn_ak101&lt;br /&gt;
weapons\ak-101\wpn_ak101_hud&lt;br /&gt;
weapons\ak74\wpn_ak74&lt;br /&gt;
weapons\ak74\wpn_ak74_hud&lt;br /&gt;
[...]&amp;lt;/ini&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же не забудте в файле '''mp_ranks.ltx''' прописать после '''available_items''' (которое внизу)&lt;br /&gt;
прописать название своего оружия. Это предотвратит вылет при убийстве ГГ а также вылет при выкидывании оружия из инвентаря.&lt;br /&gt;
&lt;br /&gt;
==Добавление в игру==&lt;br /&gt;
&lt;br /&gt;
Осталось добавить оружие в игру. &lt;br /&gt;
&lt;br /&gt;
Выдайте его некоторым NPC ([[Редактирование NPC#Практика|как это сделать?]]), расширьте ассортимент торговцев ([[Редактирование торговцев#Расширяем ассортимент|как это сделать?]]).&lt;br /&gt;
&lt;br /&gt;
А вот как оно будет выглядеть в игре:&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Russian_Guns_3.jpeg]]&lt;br /&gt;
&lt;br /&gt;
P.S. При создании нового оружия можно допустить некоторые ошибки в конфиге, что приведёт к вылету игры.&lt;br /&gt;
При таком случае сразу после вылета игры заходим в любой текстовый редактор и нажимаем клавиши Ctrl+V (вставить) и внизу можно увидеть из-за какой ошибки вылетела игра, а там уже дело техники исправить ошибку...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Expression    : fatal error&lt;br /&gt;
Function      : CModelPool::Instance_Load&lt;br /&gt;
File          : E:\stalker\patch_1_0004\xr_3da\xrRender\ModelPool.cpp&lt;br /&gt;
Line          : 111&lt;br /&gt;
Description   : &amp;lt;no expression&amp;gt;&lt;br /&gt;
Arguments     : Can't find model file 'weapons\gaussmod\wpn_gauss_hud.ogf'.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В данном примере видно, что либо вы не создали папку с необходимой моделью оружия, либо неправильно прописан путь к нужному файлу...&lt;br /&gt;
&lt;br /&gt;
(Чтобы в игре название и описание оружия были не от АК-74 а от нашей АК-101 делаем как написано в этой [http://stalkerin.gameru.net/wiki/index.php/%D0%A1%D0%BF%D0%B0%D0%B2%D0%BD_%D0%BD%D0%BE%D0%B2%D1%8B%D1%85_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%BE%D0%B2 статье], всё начиная с &amp;quot;''И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test''&amp;quot; вам понадобится.)&lt;br /&gt;
Информацию о оружии можно найти [http://world.guns.ru здесь.]&lt;br /&gt;
&lt;br /&gt;
'''АК-101''' - ''Автомат Калашникова АК-101 является экспортной модификацией штатного автомата Российской армии АК-74М. Главным (и фактически единственным) отличием АК-101 от АК-74М является калибр - автомат &amp;quot;сотой&amp;quot; серии использует патроны калибра 5.56мм (5.56х45 НАТО) и соответствующие магазины, в остальном автоматы идентичны.''&lt;br /&gt;
&lt;br /&gt;
==Авторы==&lt;br /&gt;
&lt;br /&gt;
Статья создана: &lt;br /&gt;
*[[Участник:BAC9-FLCL|BAC9-FLCL]]&lt;br /&gt;
&lt;br /&gt;
Статья подправлена:&lt;br /&gt;
*[[Участник:Хемуль04|Хемуль04]]&lt;br /&gt;
&lt;br /&gt;
По материалам мода [[Mod:Russian Guns|Russian Guns]] за авторством: &lt;br /&gt;
*[[Участник:Tony|Tony]]&lt;br /&gt;
*[[Участник:lez0|lez0]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;br /&gt;
&lt;br /&gt;
Когда будете прописыватьв конфиге значения &amp;quot;inv_grid_y&amp;quot; и &amp;quot;inv_grid_x&amp;quot; имейте в виду, что отсчет по сетке идет с верхнего левого угла и указывать нужно верхний левый угол картинки, которая должна отображатся в инвентаре. То есть координаты самого первого угла будут 0;0. Самая первая винтовка в файле ...\S.T.A.L.K.E.R\gamedata\textures\ui\ui_icon_equipment.dds это - СВД. И если вы посмотрите ее конфигурационный файл то увидете, что там указаны значения inv_grid_x = 0   inv_grid_y = 0.  Отсчет по оси X идет по горизонтали с лева на право, а по оси Y - сверху вниз по возрастающей. Но считать с начала сетки - очень не удобно, поэтому вычисляйте координаты вашего обьекта по известным координатам уже существующего и реально правильно отображаемого файла в игре. Например мы имеем inv_grid_x= 5 inv_grid_y= 9 для fn2000(координаты верхнего левого угла) и мы хотим узнать координаты гранатф ф1, которая находится рядом. Для этого удобно использовать фотошоп с сеткой 50 на 50 пикселей. (как ее сделать описано по ссылке в статье к которой написана эта поправка.) И так мы видим что граната находится сразу справа порсле винтовки. То есть на 4-й клетке после квадрата угла винтовки без его учета. Она находится спраа, а значит нужно по оси X к 5 прибавить 4, и получится 9. По оси Y координтаы не изменились так как они находятся на одной линии с винтовкой. Таким образом получает коордитаны гранаты 9 по Х и 9 по Y. Если мы посмотрим конфиг гранаты то увидим там &amp;quot;inv_grid_x= 9&amp;quot; &amp;quot;inv_grid_y= 9&amp;quot;. То что и соответствует тому, что мы высчитали. :) Удачи.&lt;/div&gt;</summary>
		<author><name>ZergO</name></author>	</entry>

	</feed>