Содержание 1 Создание геометрии 1.1 Установка и настройка плагина 1.1.1 Установка для Maya 1.1.2 Установка для 3D Studio Max 1.1.3 Настройка 1.2 Настройка единиц измерения 1.2.1 Настройка Maya 1.2.2 Настройка 3D Studio Max 1.3 Моделирование 1.3.1 Замечания и правила 1.4 Текстурирование и назначение шейдеров 1.4.1 3D Studio Max 1.5 Экспорт 1.5.1 3D Studio Max 2 Импорт геометрии и текстур в пакет 3 Создаём уровень 4 = Расстановка объектов :) 5 Подключение уровня к игре 5.1 SDK объединён с игрой 5.2 SDK не объединён с игрой, игра распакована 5.3 SDK не объединён с игрой, игра не распакована 5.4 SDK не объединён с игрой + использовались свои текстуры 6 Ссылки
В данном уроке попытаюсь рассказать об основах работы с Level Editor-ом пакета SDK, на примере создания простейшего уровня.
В пакете SDK уже довольно много готовой геометрии, которую можно размещать на своём уровне, но иногда хочется вставить что-то своё, это можно сделать, смоделировав объект в пакете 3D моделирования Maya или 3D Studio Max.
Создание геометрии
Научить работать в 3D редакторах я не смогу, поэтому подробно остановлюсь только на процессах установки и настройки плагина, текстурировании и назначении шейдеров геометрии.
Установка и настройка плагина Установка плагина заключается в копировании: Всех файлов из папки scripts_plugins\scripts в папку C:\Documents and Settings\UserName\My Documents\maya\scripts Всех файлов из папки scripts_plugins\ver-ххх в папку C:\Program Files\Autodesk\Maya_ххх\bin Файла scripts_plugins\xray_path.ltx в папку C:\Program Files\Autodesk\Maya_ххх\bin
Далее в официальном руководстве написано, что требуется диск Х, мы приложили батник для создания этого диска и т.д. Возможно кто-то согласится с таким вариантом, но я решил просто отредактировать файл xray_path.ltx и не мучатся с батником и диском.
Необходимо изменить только первые две строчки файла xray_path.ltx: $server_root$ = false| false| e:\sdk\(это путь до папки в которой у вас находится SDK) $local_root$ = false| false| e:\sdk\(это путь до папки в которой у вас находится SDK) После некоторого шаманства заработало в таком виде: $server_root$ = false| false| C:\Program Files\X-Ray SDK\level_editor\ $local_root$ = false| false| C:\Program Files\X-Ray SDK\level_editor\
Всё, можно пользоваться плагином.
Настройка единиц измерения
Для того, чтобы размеры объектов в редакторе совпадали с теми, что используются в X-Ray SDK, необходимо выполнить соответствующую настройку.
Настройка Maya
Для начала необходимо единицы измерения перевести в метры (по умолчанию в Maya 8.5 используются сантиметры). Делается это в 2 этапа: Заходим в меню Window -> Settings/Preferences -> Preferences. В открывшемся диалоге, в категории Settings, находим список Working Units -> Linear и выбираем Meter, Теперь, для удобства работы, в настройках камеры необходимо изменить дальность отображения с 10м на 1000м Замечен глюк: после настройки камеры изображение может пропасть, в чём дело пока не разобрался, но ситуацию помогает победить выбор в меню камеры следующих двух пунктов: Panel -> Perspective -> New View -> Camera Settings -> View Compass
Настройка 3D Studio Max
Настройка заключается только в выборе в качестве единиц измерения метров. Заходим в меню Customize -> Units Setup... В группе Display Unit Scale ставим переключатель на Metric, в выпадающем списке ищем Meters.
Моделирование
Для нашего простейшего уровня нам понадобится создать просто бокс в качестве террейна.
Создадим box размеров 50м*50м*0,1м. Замечания и правила Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто) Bounding box персонажа имеет три состояния: стоя (1.8х0.7х0.7 в метрах), сидя (1.5х0.7х0.7 в метрах) и очень сидя (1.2х0.7х0.7 в метрах). Весь уровень должен быть не больше 150 тысяч треугольников. Сцена должна состоять из групп. Название группы формируется по такому принципу: mp_имяуровня_назвгеометрии. Например, в нашей тестовой сцене такие группы: mp_atp_terrain, mp_atp_buildings. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы. В переделах одной группы все имена должны быть уникальны. Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - имя_объекта, шейп - имя_объектаShape
Текстурирование и назначение шейдеров
3D Studio Max
Открываем Material Editor(M) выделив один из образцов материала, открываем диалог Material/Map Browser, щелчком на кнопке Standart. Создадим новый материал XRayMtl, дважды щёлкнув по нему в списке.
Займёмся настройкой параметров материала. X-ray материал, кроме текстуры использует надстройку состоящую из трёх шейдеров - Engine, Compiler, Material. Engine - отображение текстуры в движке игры. Compiler - используется при компиляции уровня. Material - игровой материал (wallmark, sound и др.).
Для начала настроим шейдеры. В Material Editor-e разворачиваем свиток XRay Params. В выпадающих списках представлены различные варианты шейдеров. Более подробно параметры шейдеров рассмотрены в статье Описание шейдеров XRayMtl. Для нашего примера ограничимся установкой следующих значений: Engine - default Compiler - default Material - material/asphalt Текстурирование заключается в назначении текстуры процедурной карте Diffuse Color. Вообще, в редакторе материалов (В свитке Maps) много процедурных карт, но X-Ray mtl поддерживает (экспортирует) лишь одну, указанную выше.
Экспорт 3D Studio Max
Для начала выделяем все объекты, которые мы хотим экспортировать в виде единого объекта, т.е. всё, что мы выберем сейчас в редакторе будет представленно как одна модель. В нашем случае это один box.
Переходим на командную панель Utilities, нажимаем кнопку More... В появившемся списке в самом конце видим XRay Export, выбираем, жмём ОК. После запуска модуля на панели появится новый свиток XRay Export, в списке Selected можно проконтролировать какие объекты выбраны, нажимаем кнопку Export Editor Object... cохраняем файл в папку {SDK folder}\import.
Импорт геометрии и текстур в пакет
При экспорте из редактора(Maya && 3D Max) мы получим файлы *.object.
Запускаем Level Editor и добавим нашу геометрию в Objects Library, делается это так: Objects -> Library Editor, откроется диалог Object Library.
Создаём уровень
Приступим к созданию уровня, начнём с расстановки объектов.
Подключение уровня к игре
Чтобы уровень можно было создавать прямо из игры, его необходимо добавить в список уровней. Существует четыре случая, рассмотрим каждый.
SDK объединён с игрой
В данном случае надо только отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня.
SDK не объединён с игрой, игра распакована
В данном случае надо также отредактировать файл gamedata\config\mp\map_list.ltx, вписав в каждой из секции [deathmatch], [teamdeathmatch], [artefacthunt] название своего уровня + скопировать содержимое папки [SDK folder]\gamedata\levels\название уровня\ в папку [STALKER folder]\gamedata\levels\название уровня\.
SDK не объединён с игрой, игра не распакована
Повторяем действия предыдущего случая, только папки надо будет создавать самому, файл gamedata\config\mp\map_list.ltx можно взять из папки [SDK folder]\gamedata\config\mp\map_list.ltx
SDK не объединён с игрой + использовались свои текстуры
В данном случае необходимо скопировать: Текстуры из [SDK folder]\gamedata\textures\user\ в папку [STALKER folder]\gamedata\textures\user\ Файл [SDK folder]\gamedata\textures\textures.ltx в папку [STALKER folder]\gamedata\textures\