Создание уровня, пошаговое руководство — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(→Создание геометрии) |
Boom1x (обсуждение | вклад) (→Настройка единиц измерения) |
||
Строка 34: | Строка 34: | ||
=== Настройка единиц измерения === | === Настройка единиц измерения === | ||
+ | Для того, чтобы размеры объектов в maya совпадали с теми, что используются в X-Ray SDK, необходимо их перевести в метры (по умолчанию в Maya 8.5 используются сантиметры). Делается это в 2 этапа: | ||
+ | * Заходим в меню Window -> Settings/Preferences -> Preferences. В открывшемся диалоге, в категории Settings, находим список Working Units -> Linear и выбираем Meter, как показано на скриншоте. | ||
+ | * Теперь, для удобства работы, в настройках камеры необходимо изменить дальность отображения с 10м на 1000м (смотри скриншот шаг 3) | ||
+ | {| | ||
+ | |valign=top|[[Изображение:SantimToM1.gif|thumb|Шаг 1: выбираем указанный пункт меню]] | ||
+ | |valign=top|[[Изображение:SantimToM2.gif|thumb|left|Шаг 2: выбираемеденицы измерения - метры]] | ||
+ | |valign=top|[[Изображение:SantimToM3.gif|thumb|left|Шаг 3: настраиваем камеру]] | ||
+ | |} | ||
=== Моделирование === | === Моделирование === |
Версия 08:53, 28 мая 2007
Автор: Neo][ |
Возникли вопросы/предложения Пиши тут. |
Содержание
В данном уроке попытаюсь рассказать о создании полноценного уровня с самого начала. Урок будет представлять из себя расширенную версию туториала, поставляемого в комплекте с редактором. Предполагается осветить не только основы создания уровней, но и охватить такие вопросы как: создание аномалий, воды, стёкол, работа с партиклами и световой анимацией и т.д.
Тутор будет писаться последовательно, т.е. он будет пополняться со временем
В пакете 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)
Всё, можно пользоваться плагином.
Настройка единиц измерения
Для того, чтобы размеры объектов в maya совпадали с теми, что используются в X-Ray SDK, необходимо их перевести в метры (по умолчанию в Maya 8.5 используются сантиметры). Делается это в 2 этапа:
- Заходим в меню Window -> Settings/Preferences -> Preferences. В открывшемся диалоге, в категории Settings, находим список Working Units -> Linear и выбираем Meter, как показано на скриншоте.
- Теперь, для удобства работы, в настройках камеры необходимо изменить дальность отображения с 10м на 1000м (смотри скриншот шаг 3)
Моделирование
Работать в пакетах 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
Текстурирование и назначение шейдеров
Очень скоро =)))))))))))))))))
Импорт геометрии и текстур в пакет
При экспорте из редактора(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). Не меняя ничего в диалоге импорта текстур нажимаем ОК. Всё теперь наша текстура есть в списке текстур редактора. Можно переходить к следующему шагу.
Создаём уровень
Приступим к созданию уровня, начнём с расстановки объектов.
Расстановка объектов
Подключение уровня к игре
Чтобы уровень можно было создавать прямо из игры, его необходимо добавить в список уровней. Существует четыре случая, рассмотрим каждый.
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\
Благодарности
OlegatoR - за разбор вопроса с аномалиями.