DCT:Создание мультиплеерной карты — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

DCT:Создание мультиплеерной карты — различия между версиями

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

Перейти к: навигация, поиск
(Создание сцены)
(исправленные ролики)
 
(не показаны 12 промежуточные версии 4 участников)
Строка 1: Строка 1:
 
==Создаём сцену в Maya.==
 
==Создаём сцену в Maya.==
 
*Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто)
 
*Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто)
*Bounding box персонажа имеет три состояния: стоя <code>(1.8х0.7х0.7 в метрах)</code>, сидя <code>(1.5х0.7х0.7 в метрах)</code> и очень сидя <code>(1.2х0.7х0.7 в метрах)</code>.
+
*Bounding box персонажа имеет три состояния: стоя (1.8х0.7х0.7 в метрах), сидя (1.5х0.7х0.7 в метрах) и очень сидя (1.2х0.7х0.7 в метрах).
*Весь уровень должен быть не больше <code>150 тысяч треугольников</code>.
+
*Весь уровень должен быть не больше 150 тысяч треугольников.
 
[[image: Docs_maya_outliner.jpg|outliner screenshot|center|frame|outliner screenshot]]
 
[[image: Docs_maya_outliner.jpg|outliner screenshot|center|frame|outliner screenshot]]
*Сцена должна состоять из групп. Название группы формируется по такому принципу: '''mp_имяуровня_назвгеометрии'''. Например, в нашей тестовой сцене такие группы: <code>mp_atp_terrain</code>, <code>mp_atp_buildings</code>. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы. <br />
+
*Сцена должна состоять из групп. Название группы формируется по такому принципу: '''mp_имяуровня_имягеометрии'''. Например, в нашей тестовой сцене такие группы: mp_atp_terrain, mp_atp_buildings. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы. <br />
 
'''В переделах одной группы все имена должны быть уникальны'''.
 
'''В переделах одной группы все имена должны быть уникальны'''.
 
[[image: Docs_maya_mp_atp_terrain.jpg|mp_atp_terrain - игровой ландшафт|center|frame|mp_atp_terrain - игровой ландшафт]]
 
[[image: Docs_maya_mp_atp_terrain.jpg|mp_atp_terrain - игровой ландшафт|center|frame|mp_atp_terrain - игровой ландшафт]]
 
[[image: Docs_maya_mp_atp_buildings.jpg|mp_atp_buildings - игровая геометрия|center|frame|mp_atp_buildings - игровая геометрия]]
 
[[image: Docs_maya_mp_atp_buildings.jpg|mp_atp_buildings - игровая геометрия|center|frame|mp_atp_buildings - игровая геометрия]]
*Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - <code>имя_объекта</code>, шейп - <code>имя_объектаShape</code>.
+
*Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - имя_объекта, шейп - имя_объектаShape.
 
[[image: Docs_maya_objectname.jpg|Имена объектов в Maya|center|frame|Имена объектов в Maya]]
 
[[image: Docs_maya_objectname.jpg|Имена объектов в Maya|center|frame|Имена объектов в Maya]]
  
 
==Экспортим геометрию из Maya.==
 
==Экспортим геометрию из Maya.==
 
Для ознакомления с процессом экспорта просмотрите ролик в следующем параграфе.
 
Для ознакомления с процессом экспорта просмотрите ролик в следующем параграфе.
В случае если xrayMaya_export не экспортит объекты, то проведите проверку на наличие ошибок, и исправьте их.
+
 
 +
Если xrayMaya_export не экспортирует объекты, то проведите проверку на наличие ошибок, и исправьте их.
  
 
Ошибками для xrayMaya_export считаются:
 
Ошибками для xrayMaya_export считаются:
Строка 24: Строка 25:
 
==Импортим в библиотеку LevelEditor'a.==
 
==Импортим в библиотеку LevelEditor'a.==
 
<div style="text-align:center;">
 
<div style="text-align:center;">
<flash>file=movie_03.swf|width=800|height=620|quality=medium|menu=false</flash>
+
<flash>file=Import_export_geometry.swf|width=800|height=619|quality=high|menu=false</flash>
 
</div>
 
</div>
  
Строка 32: Строка 33:
  
 
<div style="text-align:center;">
 
<div style="text-align:center;">
<swf width="750" height="582">/wiki/images/big_files/createscene.swf</swf>
+
<flash>file=Simple_scene_setup_in_leveleditor.swf|width=800|height=619|quality=high|menu=false</flash>
 
</div>
 
</div>
  
Строка 57: Строка 58:
 
===TeamDeathMatch Setup===
 
===TeamDeathMatch Setup===
 
*Добовляем в сцену необходимое количество $rpoint (Edit Mode -> Spawn Element -> $rpoint) элементов с базовой настройкой.
 
*Добовляем в сцену необходимое количество $rpoint (Edit Mode -> Spawn Element -> $rpoint) элементов с базовой настройкой.
*В случае если необходимо сделать $rpoint, принадлежащим только одной команде, меняем параметр <code>Team: 1 или 2</code>, и <code>Game Type: TeamDeathMatch</code> '''(работает только в версии 1.003 и выше)'''. В этом случае все $rpoint с базовыми настройками будут служить как spectator place.
+
*В случае если необходимо сделать $rpoint, принадлежащим только одной команде, меняем параметр Team: 1 или 2, и Game Type: TeamDeathMatch '''(работает только в версии 1.003 и выше)'''. В этом случае все $rpoint с базовыми настройками будут служить как spectator place.
 
[[image:Docs_leveleditor_teamdethmatch.jpg|TeamDeathMatch настройка для $rpoint|center|frame|TeamDeathMatch настройка для $rpoint]]
 
[[image:Docs_leveleditor_teamdethmatch.jpg|TeamDeathMatch настройка для $rpoint|center|frame|TeamDeathMatch настройка для $rpoint]]
  
 
===ArtefactHunt Setup===
 
===ArtefactHunt Setup===
 
====Создание баз====
 
====Создание баз====
*Создайте два box shapes (<code>Edit Mode -> Shape -> Box</code>), в тех местах где будут располагаться противоборствующие базы. '''В пределах этого Box Shape’а''' игроки команды '''неуязвимы'''.  
+
*Создайте два box shapes (Edit Mode -> Shape -> Box), в тех местах где будут располагаться противоборствующие базы. '''В пределах этого Box Shape’а''' игроки команды '''неуязвимы'''.  
 
[[image:Docs_leveleditor_teambase_shape.jpg|Добавляем Box Shape|center|frame|Добавляем Box Shape]]
 
[[image:Docs_leveleditor_teambase_shape.jpg|Добавляем Box Shape|center|frame|Добавляем Box Shape]]
*Расположите в каждом $team_base (<code>Edit Mode -> Spawn Element -> $team_base</code>) внутри box shapes.
+
*Расположите в каждом $team_base (Edit Mode -> Spawn Element -> $team_base) внутри box shapes.
 
[[image:Docs_leveleditor_teambase_spawn.jpg|Добавляем $team_base|center|frame|Добавляем $team_base]]
 
[[image:Docs_leveleditor_teambase_spawn.jpg|Добавляем $team_base|center|frame|Добавляем $team_base]]
 
[[image:Docs_leveleditor_teambase.jpg|ArtefactHunt настройка для $team_base|center|frame|ArtefactHunt настройка для $team_base]]
 
[[image:Docs_leveleditor_teambase.jpg|ArtefactHunt настройка для $team_base|center|frame|ArtefactHunt настройка для $team_base]]
 
*Выбрать $team_base.
 
*Выбрать $team_base.
*Нажать <code>Commands -> Attach Object</code>…
+
*Нажать Commands -> Attach Object…
 
*Выбрать необходимый Shape.
 
*Выбрать необходимый Shape.
 
[[image:Docs_leveleditor_teambase_spawnattach.jpg|Присоединение $team_base к Box Shape|center|frame|Присоединение $team_base к Box Shape]]
 
[[image:Docs_leveleditor_teambase_spawnattach.jpg|Присоединение $team_base к Box Shape|center|frame|Присоединение $team_base к Box Shape]]
Строка 86: Строка 87:
 
==Настраиваем тип карты==
 
==Настраиваем тип карты==
 
Принадлежность карты к одному из трёх типов игры указывается таким образом:
 
Принадлежность карты к одному из трёх типов игры указывается таким образом:
*Нажать <code>Scene -> Options</code>
+
*Нажать Scene -> Options
 
*В секции Usage выбрать необходимые для вас типы
 
*В секции Usage выбрать необходимые для вас типы
 
[[image:Docs_leveleditor_map_usage.jpg|Настройки типа карты|center|frame|Настройки типа карты]]
 
[[image:Docs_leveleditor_map_usage.jpg|Настройки типа карты|center|frame|Настройки типа карты]]
Строка 97: Строка 98:
  
 
==Собираем карту и добавляем её в игру.==
 
==Собираем карту и добавляем её в игру.==
*Нажать <code>File -> Make pack...</code>
+
*Нажать File -> Make pack...
 
[[image:Docs_leveleditor_mod_pack.jpg|Собираем карту|center|frame|Собираем карту]]
 
[[image:Docs_leveleditor_mod_pack.jpg|Собираем карту|center|frame|Собираем карту]]
*В корне диска <code>X:\</code> создастся файл <code>gamedata.xdb0</code>, его необходимо скопировать в папку игры <code>S.T.A.L.K.E.R\mods</code>
+
*В корне диска X:\ создастся файл gamedata.xdb0, его необходимо скопировать в папку игры S.T.A.L.K.E.R\mods
 
+
  
 
[[Категория:SDK]]
 
[[Категория:SDK]]

Текущая версия на 08:23, 11 сентября 2011

Создаём сцену в Maya.

  • Вся геометрия должна быть создана в реальных мировых размерах (если стол в реальной жизни высотой 1 метр, значит его надо и в Maya делать высотой 1 метр, всё предельно ясно и просто)
  • Bounding box персонажа имеет три состояния: стоя (1.8х0.7х0.7 в метрах), сидя (1.5х0.7х0.7 в метрах) и очень сидя (1.2х0.7х0.7 в метрах).
  • Весь уровень должен быть не больше 150 тысяч треугольников.
outliner screenshot
  • Сцена должна состоять из групп. Название группы формируется по такому принципу: mp_имяуровня_имягеометрии. Например, в нашей тестовой сцене такие группы: mp_atp_terrain, mp_atp_buildings. В группе может находится как и один объект, так и несколько. Имена объектов внутри группы никоем образом не должны совпадать с именем группы.

В переделах одной группы все имена должны быть уникальны.

mp_atp_terrain - игровой ландшафт
mp_atp_buildings - игровая геометрия
  • Шейп объекта должен содержать правильное имя. Формируется по такому принципу: объект - имя_объекта, шейп - имя_объектаShape.
Имена объектов в Maya

Экспортим геометрию из Maya.

Для ознакомления с процессом экспорта просмотрите ролик в следующем параграфе.

Если xrayMaya_export не экспортирует объекты, то проведите проверку на наличие ошибок, и исправьте их.

Ошибками для xrayMaya_export считаются:

  • Неправильные текстурные координаты (потяжки).
  • Полигон площадью 0 м2.
  • Тонкие длинные треугольники.
  • Не склеенные точки находящиеся в одном и том же месте и т.д.
настройки Cleanup ...

Импортим в библиотеку LevelEditor'a.

Создаём сцену в LevelEditor.

Создание сцены

Для ознакомления с процессом создания сцены просмотрите ролик.

Добавление объектов из библиотеки LevelEditor'a

  • Edit Mode -> Object ->Select
  • Выбираем необходимый объект.
Выбор объекта из библиотеки
  • Жмём Add и добавляем в сцену.
Добавление объекта в сцену

Настраиваем spawn элементы.

General issues

В игре существует 3 типа мультиплеерной игры:

  • DeathMatch
  • TeamDeathMatch (только 2 команды)
  • ArtefactHunt

Максимальное количество игроков - 32.

DeathMatch Setup

Добовляем в сцену необходимое количество $rpoint
(Edit Mode -> Spawn Element -> $rpoint)
элементов с базовой настройкой.
Базовая настройка для $rpoint

TeamDeathMatch Setup

  • Добовляем в сцену необходимое количество $rpoint (Edit Mode -> Spawn Element -> $rpoint) элементов с базовой настройкой.
  • В случае если необходимо сделать $rpoint, принадлежащим только одной команде, меняем параметр Team: 1 или 2, и Game Type: TeamDeathMatch (работает только в версии 1.003 и выше). В этом случае все $rpoint с базовыми настройками будут служить как spectator place.
TeamDeathMatch настройка для $rpoint

ArtefactHunt Setup

Создание баз

  • Создайте два box shapes (Edit Mode -> Shape -> Box), в тех местах где будут располагаться противоборствующие базы. В пределах этого Box Shape’а игроки команды неуязвимы.
Добавляем Box Shape
  • Расположите в каждом $team_base (Edit Mode -> Spawn Element -> $team_base) внутри box shapes.
Добавляем $team_base
ArtefactHunt настройка для $team_base
  • Выбрать $team_base.
  • Нажать Commands -> Attach Object…
  • Выбрать необходимый Shape.
Присоединение $team_base к Box Shape

Добавление spawn point членов команды

  • Добавляем в сцену необходимое количество $rpoint в пределах box shape 1ой команды с такими настройками:
ArtefactHunt настройка для $rpoint (игроки)
  • Аналогично для 2ой каманды, только параметр Team меняем на 2.

Добавление командных частиц (символизирует границы базы команды)

  • Добавляем в сцену необходимое количество $rpoint в пределах box shape 1ой команды с такими настройками:
ArtefactHunt настройка для $rpoint (частицы)
  • Аналогично для 2ой каманды, только параметр Team меняем на 2.

Добавление spawn point артефактов

Артефакты не появляются случайным образом, места их рождения необходимо указывать самостоятельно. Добавляем в сцену необходимое количество $rpoint с такими настройками:

ArtefactHunt настройка для $rpoint (артефакты)

Настраиваем тип карты

Принадлежность карты к одному из трёх типов игры указывается таким образом:

  • Нажать Scene -> Options
  • В секции Usage выбрать необходимые для вас типы
Настройки типа карты

Компилируем

Windows -> start -> run
и в командной строке пишем:
Запуск уровня на компиляцию

После корректной компиляции:

Завершение компиляции

Собираем карту и добавляем её в игру.

  • Нажать File -> Make pack...
Собираем карту
  • В корне диска X:\ создастся файл gamedata.xdb0, его необходимо скопировать в папку игры S.T.A.L.K.E.R\mods
Другие места
LANGUAGE