<?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=Jeka81</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=Jeka81"/>
		<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/Jeka81"/>
		<updated>2026-04-29T18:34:12Z</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_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F,_%D0%BF%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE</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_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F,_%D0%BF%D0%BE%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE"/>
				<updated>2009-06-10T21:38:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jeka81: /* Настройка 3D Studio Max */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|align=right&lt;br /&gt;
 |''Автор:'' '''[[Участник:Neo|Neo][]]'''&lt;br /&gt;
 |}&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = center|&lt;br /&gt;
backgroundcolor	= rgb(235, 235, 255);|&lt;br /&gt;
image	=Question.gif|&lt;br /&gt;
heading	=Возникли вопросы/предложения|&lt;br /&gt;
message =Пиши [[Обсуждение:Создание уровня, пошаговое руководство|тут]].}}&lt;br /&gt;
__TOC__&lt;br /&gt;
В данном уроке попытаюсь рассказать об основах работы с Level Editor-ом пакета SDK, на примере создания простейшего уровня.&lt;br /&gt;
&lt;br /&gt;
В пакете SDK уже довольно много готовой геометрии, которую можно размещать на своём уровне, но иногда хочется вставить что-то своё, это можно сделать, смоделировав объект в пакете 3D моделирования Maya или 3D Studio Max.&lt;br /&gt;
&lt;br /&gt;
== Создание геометрии ==&lt;br /&gt;
Научить работать в 3D редакторах я не смогу, поэтому подробно остановлюсь только на процессах установки и настройки плагина, текстурировании и назначении шейдеров геометрии.&lt;br /&gt;
=== Установка и настройка плагина === &lt;br /&gt;
&lt;br /&gt;
==== Установка для Maya ==== &lt;br /&gt;
Установка плагина заключается в копировании:&lt;br /&gt;
*Всех файлов из папки scripts_plugins\scripts в папку C:\Documents and Settings\UserName\My Documents\maya\scripts&lt;br /&gt;
*Всех файлов из папки scripts_plugins\ver-ххх в папку C:\Program Files\Autodesk\Maya_ххх\bin&lt;br /&gt;
*Файла scripts_plugins\xray_path.ltx в папку C:\Program Files\Autodesk\Maya_ххх\bin&lt;br /&gt;
==== Установка для 3D Studio Max ====&lt;br /&gt;
[http://stalkerin.gameru.net/modules.php?name=Downloads&amp;amp;d_op=viewtheoned&amp;amp;lid=100 Качаем] плагин. Распаковываем архив, копируем содержимое папки '''plugin'''(именно plugin) в папку макса.&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Далее в официальном руководстве написано, что требуется диск Х, мы приложили батник для создания этого диска и т.д.&lt;br /&gt;
Возможно кто-то согласится с таким вариантом, но я решил просто отредактировать файл xray_path.ltx и не мучатся с батником и диском.&lt;br /&gt;
&lt;br /&gt;
Необходимо изменить только первые две строчки файла xray_path.ltx:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$server_root$	= false| false|	e:\sdk\(это путь до папки в которой у вас находится SDK)&lt;br /&gt;
$local_root$	= false| false|	e:\sdk\(это путь до папки в которой у вас находится SDK)&lt;br /&gt;
После некоторого шаманства заработало в таком виде:&lt;br /&gt;
$server_root$	= false| false|	C:\Program Files\X-Ray SDK\level_editor\&lt;br /&gt;
$local_root$	= false| false|	C:\Program Files\X-Ray SDK\level_editor\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Всё, можно пользоваться плагином.&lt;br /&gt;
&lt;br /&gt;
=== Настройка единиц измерения ===&lt;br /&gt;
Для того, чтобы размеры объектов в редакторе совпадали с теми, что используются в X-Ray SDK, необходимо выполнить соответствующую настройку.&lt;br /&gt;
&lt;br /&gt;
==== Настройка Maya ====&lt;br /&gt;
&lt;br /&gt;
Для начала необходимо единицы измерения перевести в метры (по умолчанию в Maya 8.5 используются сантиметры). Делается это в 2 этапа:&lt;br /&gt;
* Заходим в меню Window -&amp;gt; Settings/Preferences -&amp;gt; Preferences. В открывшемся диалоге, в категории Settings, находим список Working Units -&amp;gt; Linear и выбираем Meter, как показано на скриншоте (шаг 1, шаг 2).&lt;br /&gt;
* Теперь, для удобства работы, в настройках камеры необходимо изменить дальность отображения с 10м на 1000м (смотри скриншот шаг 3)&lt;br /&gt;
{|&lt;br /&gt;
|valign=top|[[Изображение:SantimToM1.gif|thumb|400px|Шаг 1: выбираем указанный пункт меню]]&lt;br /&gt;
|valign=top|[[Изображение:SantimToM2.gif|thumb|400px|Шаг 2: выбираем еденицы измерения - метры]]&lt;br /&gt;
|valign=top|[[Изображение:SantimToM3.gif|thumb|400px|Шаг 3: настраиваем камеру]]&lt;br /&gt;
|}&lt;br /&gt;
Замечен глюк: после настройки камеры изображение может пропасть, в чём дело пока не разобрался, но ситуацию помогает победить выбор в меню камеры следующих двух пунктов:&lt;br /&gt;
* Panel -&amp;gt; Perspective -&amp;gt; New&lt;br /&gt;
* View -&amp;gt; Camera Settings -&amp;gt; View Compass&lt;br /&gt;
&lt;br /&gt;
==== Настройка 3D Studio Max ====&lt;br /&gt;
Настройка заключается только в выборе в качестве единиц измерения метров.&lt;br /&gt;
*Заходим в меню Customize -&amp;gt; Units Setup... В группе Display Unit Scale ставим переключатель на Metric, в выпадающем списке ищем Meters.&lt;br /&gt;
*Так же необходимо нажать кнопку System Unit Setup и приравнять условную единицу к метру (т.е. там где &amp;quot;1 Unit = 1,0 в выпадающем списке выбрать Meters. Флажок &amp;quot;Respect System Units in Files&amp;quot; должен быть включен)&lt;br /&gt;
&lt;br /&gt;
[[Изображение:3d-max-unit-setup.gif|thumb|left|400px|Меняем единицы измерения]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Моделирование ===&lt;br /&gt;
Для нашего простейшего уровня нам понадобится создать просто бокс в качестве террейна.&lt;br /&gt;
&lt;br /&gt;
Создадим box размеров 50м*50м*0,1м.&lt;br /&gt;
&lt;br /&gt;
==== Замечания и правила ====&lt;br /&gt;
&lt;br /&gt;
* Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто)&lt;br /&gt;
* Bounding box персонажа имеет три состояния: стоя (1.8х0.7х0.7 в метрах), сидя (1.5х0.7х0.7 в метрах) и очень сидя (1.2х0.7х0.7 в метрах).&lt;br /&gt;
* Весь уровень должен быть не больше 150 тысяч треугольников.&lt;br /&gt;
* Сцена должна состоять из групп. Название группы формируется по такому принципу: mp_имяуровня_назвгеометрии. Например, в нашей тестовой сцене такие группы: mp_atp_terrain, mp_atp_buildings. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы. В переделах одной группы все имена должны быть уникальны. &lt;br /&gt;
* Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - имя_объекта, шейп - имя_объектаShape&lt;br /&gt;
&lt;br /&gt;
=== Текстурирование и назначение шейдеров ===&lt;br /&gt;
&lt;br /&gt;
==== 3D Studio Max ====&lt;br /&gt;
Открываем Material Editor(M) выделив один из образцов материала, открываем диалог Material/Map Browser, щелчком на кнопке Standart. Создадим новый материал XRayMtl, дважды щёлкнув по нему в списке. &lt;br /&gt;
&lt;br /&gt;
Займёмся настройкой параметров материала. X-ray материал, кроме текстуры использует надстройку состоящую из трёх шейдеров - Engine, Compiler, Material.&lt;br /&gt;
* Engine - отображение текстуры в движке игры.&lt;br /&gt;
* Compiler - используется при компиляции уровня.&lt;br /&gt;
* Material - игровой материал (wallmark, sound и др.).&lt;br /&gt;
Для начала настроим шейдеры. В Material Editor-e разворачиваем свиток XRay Params. В выпадающих списках представлены различные варианты шейдеров. Более подробно параметры шейдеров рассмотрены в статье [[Описание шейдеров XRayMtl]]. Для нашего примера ограничимся установкой следующих значений:&lt;br /&gt;
* Engine - default&lt;br /&gt;
* Compiler - default&lt;br /&gt;
* Material - material/asphalt&lt;br /&gt;
{|&lt;br /&gt;
| valign=top |[[Изображение:3d-max-create-xraymtl.gif|thumb|400px|Создание нового материала XRayMtl]]&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-params.gif|thumb|Настройка XRay шейдеров материала]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Текстурирование заключается в назначении текстуры процедурной карте Diffuse Color.&lt;br /&gt;
Вообще, в редакторе материалов (В свитке Maps) много процедурных карт, но X-Ray mtl поддерживает (экспортирует) лишь одну, указанную выше.&lt;br /&gt;
!Важно - чтобы экспорт был, надо назначить карту в кнопку diffuse colour. Можно назначить любую карту формата *tga.&lt;br /&gt;
{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = center|&lt;br /&gt;
backgroundcolor	= rgb(235, 235, 255);|&lt;br /&gt;
image	=Question.gif|&lt;br /&gt;
heading	=Надо ли расписать процесс назначения текстуры каналу?|&lt;br /&gt;
message =Пиши [[Обсуждение:Создание уровня, пошаговое руководство|тут]].}}&lt;br /&gt;
&lt;br /&gt;
=== Экспорт ===&lt;br /&gt;
&lt;br /&gt;
==== 3D Studio Max ====&lt;br /&gt;
Для начала выделяем все объекты, которые мы хотим экспортировать в виде единого объекта, т.е. всё, что мы выберем сейчас в редакторе будет представленно как одна модель. В нашем случае это один box.&lt;br /&gt;
&lt;br /&gt;
Переходим на командную панель Utilities, нажимаем кнопку More... В появившемся списке в самом конце видим XRay Export, выбираем, жмём ОК.&lt;br /&gt;
После запуска модуля на панели появится новый свиток XRay Export, в списке Selected можно проконтролировать какие объекты выбраны, нажимаем кнопку Export Editor Object... cохраняем файл в папку {SDK folder}\import.&lt;br /&gt;
{|&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-export.gif|thumb|400px|Запускаем модуль экспорта]]&lt;br /&gt;
| valign=top |[[Изображение:3d-max-xray-export2.gif|thumb|400px|Экспорт объектов]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Импорт геометрии и текстур в пакет ==&lt;br /&gt;
При экспорте из редактора(Maya &amp;amp;&amp;amp; 3D Max) мы получим файлы *.object.&lt;br /&gt;
&lt;br /&gt;
Запускаем Level Editor и добавим нашу геометрию в Objects Library, делается это так: Objects -&amp;gt; Library Editor, откроется диалог Object Library.&lt;br /&gt;
[[Изображение:SDK-Find-new-texture.gif|thumb|Редактор нашёл текстуру]]&lt;br /&gt;
Для удобства создадим новую группу для наших объектов, щёлкаем в левой части окна ПКМ и выбираем Create Folder, переименуем в my_first_level.&lt;br /&gt;
Выделяем группу, и нажимаем кнопку Import Object, ищём наши *.object файлы, после того как объекты добавлены можно посмотреть, как они примерно будут выглядеть в игре, для этого ставим галочку Preview и любуемся нашим объектом. Теперь можно закрыть диалог Object Library.&lt;br /&gt;
&lt;br /&gt;
Если использовали свою текстуру, то её также надо добавить в пакет, Images -&amp;gt; Check New Textures. Данная команда заставляет редактор просмотреть папку SDK/Import и добавить новые файлы в Texture List, файлы должны быть в формате Targa(*.tga).&lt;br /&gt;
Не меняя ничего в диалоге импорта текстур нажимаем ОК. Всё теперь наша текстура есть в списке текстур редактора. Можно переходить к следующему шагу.&lt;br /&gt;
{|&lt;br /&gt;
|valign=top|[[Изображение:SDK-Object-Library.gif|thumb|left|Диалог Object Library]]&lt;br /&gt;
|valign=top|[[Изображение:SDK-OL-crt-grp.gif|thumb|left|Создание группы для объектов]]&lt;br /&gt;
|valign=top|[[Изображение:SDK-Update-Image-Dialog.gif|thumb|300px|Диалог импорта текстур]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Создаём уровень ==&lt;br /&gt;
Приступим к созданию уровня, начнём с расстановки объектов.&lt;br /&gt;
&lt;br /&gt;
=== Расстановка объектов :) ==&lt;br /&gt;
&lt;br /&gt;
Тутор пока незакончен, так что о подробной работе в редакторе,&lt;br /&gt;
сохранении и компиляции читаем по ссылке ниже с '''шага 6'''&lt;br /&gt;
*[[Maya. Глава 1: Hello World или первый кубик.]]&lt;br /&gt;
&lt;br /&gt;
== Подключение уровня к игре ==&lt;br /&gt;
Чтобы уровень можно было создавать прямо из игры, его необходимо добавить в список уровней.&lt;br /&gt;
Существует четыре случая, рассмотрим каждый.&lt;br /&gt;
&lt;br /&gt;
=== SDK объединён с игрой ===&lt;br /&gt;
В данном случае надо только отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня.&lt;br /&gt;
=== SDK не объединён с игрой, игра распакована ===&lt;br /&gt;
В данном случае надо также отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня + скопировать содержимое папки [SDK folder]\gamedata\levels\название уровня\ в папку [STALKER folder]\gamedata\levels\название уровня\.&lt;br /&gt;
=== SDK не объединён с игрой, игра не распакована ===&lt;br /&gt;
Повторяем действия предыдущего случая, только папки надо будет создавать самому, файл gamedata\config\mp\map_list.ltx можно взять из папки [SDK folder]\gamedata\config\mp\map_list.ltx&lt;br /&gt;
=== SDK не объединён с игрой + использовались свои текстуры ===&lt;br /&gt;
В данном случае необходимо скопировать:&lt;br /&gt;
*Текстуры из [SDK folder]\gamedata\textures\user\ в папку [STALKER folder]\gamedata\textures\user\ &lt;br /&gt;
*Файл [SDK folder]\gamedata\textures\textures.ltx в папку [STALKER folder]\gamedata\textures\&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
&lt;br /&gt;
*[[Описание шейдеров XRayMtl]]&lt;br /&gt;
*[[Глобальное озеленение, добавляем траву на уровень]]&lt;br /&gt;
*[[Добавляем аномалии на уровень]]&lt;br /&gt;
*[[Учимся подвешивать объекты]]&lt;br /&gt;
&amp;lt;!--{{Описание шейдеров XRayMtl}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:SDK]][[Категория:Незаконченные статьи]]&lt;/div&gt;</summary>
		<author><name>Jeka81</name></author>	</entry>

	</feed>