2: Разбор содержимого .xml файла и дополнительные настройки ландшафта
В этой части мы более подробно изучим содержимое xml файла.
2.1 Удалить все объекты на карте легко или «путь кувалды»
Когда вы создаете свою карту из уже существующей, вы хотите удалить все существующие объекты на ней. Есть два способа сделать это. Первый — непосредственно в самом редакторе карт, выделить все объекты на сцене «Ctrl + A» и затем нажать «Delete». Второй способ подходит, если карта «сломана» и не загружается в движке, вы можете удалить все или отдельные объекты используя .xml файл карты. Вот, как это сделать:
Все объекты,которые загружаются в карту выглядят так:
Code: Select all
<ActorObjects>
*определение персонажей, которые будут загружены на карту*
*определение оружия, которое будет создаваться на карте*
*определение ключевых точек, находящихся на карте*
</ActorObjects>
<EnvObjects>
*определение статичных объектов (окружения), загружаемого на карту*
</EnvObjects>
<Decals>
*определение декалей, которые располагаются на карте*
</Decals>
<Hotspots>
*определение триггеров на карте*
</Hotspots> (или <Hotspots />, если пусто.)
И так, чтобы полностью очистить карту, удалите все данные, находящиеся в тегах. Код примет такой вид:
Code: Select all
<ActorObjects>
</ActorObjects>
<EnvObjects>
</EnvObjects>
<Decals>
</Decals>
<Hotspots>
</Hotspots>
Сохраните ваш .xml файл, затем загрузите вашу карту, она должна быть пустой (кроме ландшафта). Когда на карте не определена точка спауна (появления) игрока, вы будете появляться в случайном месте карты. Чтобы исправить это, разместите на сцене нового персонажа, затем нажмите «Ctrl + P» чтобы сделать его управляемым игроком. Сохраните вашу карту, нажав «Ctrl + S», перезапустите Overgrowth и снова загрузите вашу карту. Теперь вы появляетесь в выбранной вами точке.
Теперь у вас есть абсолютно пустая карта и вы можете работать с ней!
2.2 Детали карты (DETAIL MAPS)
Детали карты (Detail maps) это текстуры, которые отображаются на ландшафте непосредственно в игре. Они указаны в .xml файле карты и располагаются согласно карте деталей ландшафта. Существует ограничение в 4 детали карты на уровень. Сами же детали карт описываются в .xml файле следующим образом:
Code: Select all
<DetailMaps>
<DetailMap colorpath="Data/Textures/Terrain/DetailTextures/snow.tga" normalpath="Data/Textures/Terrain/DetailTextures/snow_normal.tga" materialpath="Data/Materials/snow.xml" />
<DetailMap colorpath="Data/Textures/Terrain/DetailTextures/glacial.tga" normalpath="Data/Textures/Terrain/DetailTextures/glacial_normal.tga" materialpath="Data/Materials/ice.xml" />
<DetailMap colorpath="Data/Textures/Terrain/DetailTextures/pebbles.tga" normalpath="Data/Textures/Terrain/DetailTextures/pebbles_normal.tga" materialpath="Data/Materials/gravel.xml" />
<DetailMap colorpath="Data/Textures/Terrain/DetailTextures/dark_round_rocks.tga" normalpath="Data/Textures/Terrain/DetailTextures/dark_round_rocks_normal.tga" materialpath="Data/Materials/rocks.xml" />
</DetailMaps>
(Пример из 2_impressive_mountains.xml)
Тэг
<detail map> указывает путь до отображаемой текстуры, карты нормалей, и путь до материала, который задает параметры, одними из которых являются частицы и звуки шагов по заданному ландшафту. Простейший путь изменить детали карт для своей карты — это скопировать уже готовые из другой карты и использовать в своей карте.
(Вот пример деталей карты используемой в карте impressive mountains.)
Детали, применяемые на ландшафте основаны на карте деталей ландшафта, указанной в xml файле карты (Смотри часть 1.3). Карта деталей ландшафта состоит из следующих цветов, которые определяют, какая деталь будет накладываться в месте указанного цвета:
Красный — Деталь карты #1
Синий — Деталь карты #2
Зеленый — Деталь карты #3
Черный — Деталь карты #4
Они могут быть смешаны для создания плавных переходов между текстурами ландшафта. Цвет деталей карты совмещается с картой цвета (подробнее в части 1.3) чтобы создать цвет, отображаемый в игре.
Более подробно о воздействии карты цвета на детали карты можно посмотреть
здесь (на английском)
2.3 DETAIL OBJECTS(Объекты ландшафта)
Detail objects (объекты ландшафта) используются чтобы быстро расположить мелкие статичные объекты, такие как трава и небольшую растительность на вашей карте. Эти объекты заключены в
<DetailObjects> — тэг:
Code: Select all
<DetailObjects>
*Пример объекта ландшафта:*
<DetailObject obj_path="Data/Objects/Plants/Groundcover/Grass/WildGrass.xml" weight_path="Data/Textures/Terrain/sea_cliffs/sea_cliffs_grass_w.tga" density="10.000000" />
*Конец примера*
</DetailObjects>
Тэг
<DetailObjects> — определяет путь до используемого объекта, и этот объект применяется согласно изображению, указанному в переменной «weight_path». Параметр density (плотность) определяет с какой частотой будут располагаться объекты на карте, чем больше значение — тем плотнее будут располагаться выбранные объекты.
Внутриигровой пример. Желтые линии показывают место на скриншоте.
2.3 Небо
Параметры неба заключены в тег
<Sky>. Обычно небо выглядит так:
Code: Select all
<Sky>
<DomeTexture>Data/Textures/skies/blue4.tga</DomeTexture>
<SunAngularRad>0.147508</SunAngularRad>
<SunColorAngle>348.177</SunColorAngle>
<RayToSun r0="0.823090" r1="0.310594" r2="-0.475451" />
<ExtraAO>0</ExtraAO>
</Sky>
Единственные параметры, которые вы пока что не можете изменять во внутриигровом редакторе, это
<DomeTexture> и
<ExtraAO>. Тэг
<DomeTexture> указывает изображение, которое будет использоваться в качестве фона для неба. Тэг
<ExtraAO> почти всегда имеет значение 0, но если вы захотите сделать его меньше, то это увеличит затемненность в не освещаемых частях карты. Установка этого параметра на ~50 даст приличное затемнение.
Часть 2. Заключение
Вы изучили подробное редактирование карты используя .xml файл карты. Все остальное создается непосредственно во внутриигровом редакторе, о котором мы узнаем в следующей части.