Создание уровня, пошаговое руководство — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Создание уровня, пошаговое руководство — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(Создание аномалий)
м (Создание аномалий)
Строка 105: Строка 105:
  
 
Всё, наша аномалия готова.
 
Всё, наша аномалия готова.
 +
<br clear="both" />
  
 
== Подключение уровня к игре ==
 
== Подключение уровня к игре ==

Версия 16:24, 25 мая 2007

Автор: Neo][
Question.gif Возникли вопросы/предложения
Пиши тут.

В данном уроке попытаюсь рассказать о создании полноценного уровня с самого начала. Урок будет представлять из себя расширенную версию туториала, поставляемого в комплекте с редактором. Предполагается осветить не только основы создания уровней, но и охватить такие вопросы как: создание аномалий, воды, стёкол, работа с партиклами и световой анимацией и т.д.

Тутор будет писаться последовательно, т.е. он будет пополняться со временем

В пакете SDK уже довольно много готовой геометрии, которую можно размещать на своём уровне, но иногда хочется вставить что-то своё, это можно сделать, смоделировав объект в пакете 3D моделирования Maya, почему именно Maya, а не 3D Studio Max? Потому что разработчиками выпущен только плагин для пакета Maya.

Создание геометрии

Установка плагина для Maya

Установка плагина заключается в копировании:

  • Всех файлов из папки 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)

Всё, можно пользоваться плагином.

Моделирование

Работать в пакетах 3D моделирования я к сожалению не смогу научить, поэтому перейду сразу к процессу текстурирования и назначению шейдеров.

Хотя несколько цитат и правил из официальной документации приведу:

  • Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 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

Текстурирование и назначение шейдеров

Поэтому на данном этапе, для урока я создал Box(Скачать), возможно позже я попробую показать основы Maya.

Импорт геометрии и текстур в пакет

При экспорте из редактора(Maya && 3D Max) мы получим файлы *.object, сохраняем их в папку {SDK folder}\import.

Запускаем Level Editor и добавим нашу геометрию в Objects Library, делается это так: Objects -> Library Editor, откроется диалог Object Library.

Редактор нашёл текстуру

Для удобства создадим новую группу для наших объектов, щёлкаем в левой части окна ПКМ и выбираем Create Folder, переименуем в my_first_level. Выделяем группу, и нажимаем кнопку Import Object, ищём наши *.object файлы, после того как объекты добавлены можно посмотреть, как они примерно будут выглядеть в игре, для этого ставим галочку Preview и любуемся нашим объектом. Теперь можно закрыть диалог Object Library.

Если использовали свою текстуру, то её также надо добавить в пакет, Images -> Check New Textures. Данная команда заставляет редактор просмотреть папку SDK/Import и добавить новые файлы в Texture List, файлы должны быть в формате Targa(*.tga). Не меняя ничего в диалоге импорта текстур нажимаем ОК. Всё теперь наша текстура есть в списке текстур редактора. Можно переходить к следующему шагу.

Диалог Object Library
Создание группы для объектов
Диалог импорта текстур

Создаём уровень

Приступим к созданию уровня, начнём с расстановки объектов.

Расстановка объектов

Создание аномалий

Чтобы добавить аномалию, необходимо, чтобы редактор находился в режиме редактирования: "Spawn Element"(Edit Mode -> Spawn Element). В списке spawns перейдём в категорию zones.

Инструмент Add

В качестве примера разместим на нашей карте «Комариную плешь» средней мощности (mosquito bald average). Чтобы добавить объект на карту необходимо выбрать инструмент Add(сверху, на панели инструментов, либо нажатием горячей клавиши "A"), затем выбираем аномалию и щёлкаем на карте. Должен появится белый флажок. Далее нам необходимо определить область действия аномалии. Переключаемся на режим редактирования: "Shape"(Edit Mode -> Shape) и добавляем сферу(Sphere). С помощью инструмента Scale устанавливаем нужные размеры области поражения аномалии(сферы).

Добавляем аномалию на уровень
Добавляем область действия аномалии(Сферу)

У нас есть аномалия, есть область её действия, теперь необходимо их связать, для этого переключаемся на режим редактирования: "Spawn Element", выбираем нашу аномалию и в разделе Commands щёлкаем на Attach Object. После этого щёлкаем на нашей сфере, флаг должен переместится в центр сферы. Наша аномалия почти готова, с помощью инструмента Move(T) размещаем её, где нам необходимо.

Связывание аномалии и области действия
Размещение аномалии там, где необходимо
Задаём удобное имя для нашей аномалии

Теперь перейдем непосредственно к редактированию свойств нашей «Плеши». Дадим нашей аномалии какое-нибудь удобное имя. Все остальные свойства можно не изменять

Lamp.gif Изменение свойст объекта
Существует несколько способов получить доступ к свойствам объекта:
  • Щёлкаем правой кнопкой на объекте, выбираем Properties...
  • Горячая клавиша "Enter"
  • Tools -> Properties

Во всех случаях открывается Object Inspector, позволяющий менять свойства объектов.


Осталось внести нашу аномалию в список аномалий карты. Для этого перейдем в редактирование свойств сцены. Ищем свойство Custom data, жмем на три маленькие точки и для каждого типа игры вводим следующие параметры, например для deathmatch-а:

[deathmatch_game_anomaly_sets]
permanent = <название аномалии> (в нашем случае это zone_mosquito_bald_average_1)
Вносим нашу аномалию в список аномалий карты

Всё, наша аномалия готова.

Подключение уровня к игре

Чтобы уровень можно было создавать прямо из игры, его необходимо добавить в список уровней. Существует четыре случая, рассмотрим каждый.

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\
Другие места
LANGUAGE