Сообщество Империал: Туториал по IWTE от King-Kong - Инструментарий IWTE M2:TW - Моддинг Medieval 2: Total War - Библиотека - Сообщество Империал

  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше

Реклама отключена для зарегистрированных посетителей

[ Регистрация ] · [ Авторизация ]

Рассказать друзьям



Информация об авторе

  • Автор: KAST

Информация по статье

  • Добавлено: 14 Ноя 2013, 17:20
  • Просмотры: 523

Дополнительно

Репутация: 1
Туториал по IWTE от King-Kong

Описание: Базовый туториал по созданию уникального поселения
Как создать новое поселение


Целью этого пособия ставиться наглядно, продемонстрировать, как создавать новое поселение, используя инструментарий IWTE, созданный wilddog, а также Milkshape 3D. Если вы разберётесь в этом пособии и в IWTE (который только кажется сложным), то с лёгкостью сможете редактировать существующие поселения. Все рассматриваемые этапы, показанные здесь – это только мой [King-Kong] личный опыт и рекомендации, нет нужды чётко следовать им. Некоторые базовые знания Milkshape 3D и моддинга (например, создание поселения в файле descr_strat file) являются обязательными. НЕХ-редактирование и знание скриптинга не требуется.


Оглавление

1. Первые шаги
2. Создание поселения в Milkshape 3D
--- 2.1 Местность
------- 2.1.1 Редактирование местности
------- 2.1.2 Изменение размера местности
------- 2.1.3 Завершение и импорт местности
--- 2.2 Поселение
------- 2.2.1 Создание и редактирование поселения
------- 2.2.2 Завершение и импорт .ms3d файлов

3. IWTE
--- 3.1 Создание базового поселения
--- 3.2 Импорт .ms3d файлов
------- 3.2.1 Текстуры
--- 3.3 Установка атрибутов поселения
------- 3.3.1 Атрибуты объектов
----------- 1. Основные объекты
----------- 2. Анимация/столкновение
----------- 3. Столкновения
----------- 4. Осадная стыковка
----------- 5. Места для стрельбы
----------- 6. Эффекты столкновения
----------- 8. Проломы
------- 3.3.2 Глобальные атрибуты поселения
----------- 1. Поиск пути
----------- 2. Растительность
----------- 3. Периметры
----------- 4. Площадь
----------- 5. Зоны размещения
----------- 6. Дорожные маркеры
----------- 7. Дерево технологий
----------- 8. Размещение на стенах и на других объектах
----------- 9. Точки обороны

4. Дороги, грязь и фермы
5. Создание уникального поселения
6. Ошибки и их решения

Во избежание разночтений, ниже размещена небольшая легенда, объясняющая некоторые фразы, которые будут использоваться:
Основные объекты ("Main Objects"): существует 4 части действительно важных частей вашего поселения (стены, ворота, сторожка у ворот, а также башни)
Основные анимированные объекты ("Animated Main Objects"): основные объекты могут иметь анимацию, когда они имеют повреждения (стены, ворота и башни)
Функционирующие объекты ("Functioning Objects"): не все стены/ворота/сторожки/башни обязаны иметь анимацию или должны быть обязательно пригодными к осаде. Вы можете стену или башню чисто как косметическое украшение. Таким образом, Функционирующие объекты – это те объекты, которые могут быть осаждены/атакованы/уничтожены.
Объекты по умолчанию ("Default Objects"): это могут быть все объекты, за исключением основных объектов.
Оригинальные объекты ("Original Objects"): части оригинальных/ванильных поселений из M2TW



1) Первые шаги

Первое что нам нужно, это три программы (все программы лежат в этой теме):

1. IWTE
2. Milkshape 3D
3. Photoshop или похожая программа, как Gimp

Необязательно:

4. Start-up-kit

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

Есть 4 типа стен с различной высотой:
1 square high (wooden): town, motte_and_bailey
2 squares high (wooden): large_town, wooden_castle
3 squares high (stone): city, large_city, castle, large_castle, fortress
4 squares high (stone): huge_city


стена высотой 1 квадрат (деревянная): поселок, городище
стена высотой 2 квадрата (деревянная): крупный поселок, деревянный замок
стена высотой 3 квадрата (каменная): город, большой город, замок, большой замок, крепость
стена высотой 4 квадрата (каменная): огромный город


Исходя из обратного, это значит, что вы можете с лёгкостью «трансформировать» к примеру, city в fortress или же castle в large_city. Количество поясов стен не ограничено, к примеру, вы можете сделать замок с тремя поясами стен, или крепость только с одним поясом стен.

Перед тем, как вы выберите ваше базовое поселение, вы должны принять одно решение, это определить какой высоты будут ваши стены. Если вы хотите стены «4 squares high», то это обязательно должен быть huge_city; castle должен иметь стены 3 squares high и т.д.
Когда вы определились с высотой стен, скопируйте любое оригинальное поселение, которое подходит под выбранную вами высоту стен в новую папку.

В качестве альтернативы вы можете использовать Start-up-kit, который может быть использован в качестве основы для любого поселения. Он включает в себя только одну стену из каждых 4 типов-стен (только 3 squares high активировано в тестовой игре), одну решётку ворот, деревянные ворота, две башни и несколько зданий.
Start-up-kit заменяет north_european_large_city, но позже можно заменить на любое поселение, в зависимости от того, какие стены вы используете.


2) Создание поселения в Milkshape 3D

После того, как вы выбрали базовое поселение («базовое поселение» может быть как ванильным поселением, так и от «start-up-kit»), вы уже можете начинать модифицировать поселение.
Для действительного модифицирования поселения вам не понадобится много знаний о IWTE, необходимы только лишь две функции (Write ms3d file - all и Convert to Terrain .ms3d)

2.1 Местность («terrain»)

Местность – это земля и основа вашего поселения, так что рекомендуется загружать местность в Milkshape первой, так вы сможете размещать строения в правильных позициях на местности, и если что, редактировать их.

2.1.1 Редактирование местности

- Чтобы загрузить местность в Milkshape, откройте IWTE и загрузите ваше базовое поселение, перейдите в «Terrain1» → "Convert to Terrain .ms3d".
- Откройте созданный файл xxx_WT.ms3d с помощью Milkshape и редактируйте его.

ВАЖНО: По какой-то причине, вам придётся редактировать поселения в Milkshape в зеркально отображённом виде. Это значит, что перед началом редактирования вам также необходимо зеркально развернуть местность (в Milkshape: нажмите "Vertex" → "Mirror Left <--> Right")!

2.1.2 Изменение размера местности

Размер местности различается в зависимости от основы поселения, которого вы используете.
(У start-up-kit размер поселения средне-большой)
Если вы хотите сделать размер местности для вашего поселения больше или меньше, то вы можете изменить его в IWTE:
- нажмите "Terrain1" → "Resize .worldterrain"
(Чтобы узнать размер местности поселения, откройте ваш ms3d файл местности с помощью Milkshape, перейдите в Tools → Show Model Statitsics.
Теперь, посмотрите на число вершин и извлеките корень из этого числа. Полученный результат и будет размером местности «Size Value»
)
- Также сделайте соответствующие изменения размера в .worldpathfinding и .worldvegetation, введя то же значение Size Value.

Примечание:
- Вершины могут быть перемещены только в направлении Y. Передвижение вершин в направлениях Х или Z не будет иметь значения в игре.
- Местность может быть опущена или наоборот поднята настолько, насколько вы захотите.
- Изменение размера местности может быть сделано в любой момент, также и тогда, когда вы уже отредактировали её! IWTE будет просто добавлять дополнительные площади со всех сторон местности/растительности/путей.

2.1.3 Завершение редактирования и импорт местности в IWTE

- После того, как вы закончите редактирование местности, разверните её зеркально обратно и сохраните (Обратите внимание, что вы должны сохранять model comment оригинального worldterrain .ms3d файла, а иначе IWTE не отконвертирует файл назад).
- Откройте IWTE, нажмите "Terrain1" → "Replace with Terrain .ms3d"
- Выберите .worldterrain вашего базового поселения.
- Выберите ваш отредактированный .ms3d файл (название этого файла не имеет значения)
- Нажмите "принять" и положите новый созданный .worldterrain файл в вашу рабочую папку мода.

Вот и всё. Редактирование местности действительно легко, хотя, если вы хотите иметь высоко детализированную местность, это может занять много времени. Теперь вы можете тестировать вашу местность в игре, вылетов не будет, даже если постройки не вписываются в новую местность.


2.2 Поселение («Settlement»)

ВАЖНО: Как и описано в первой части, рекомендуется загружать ваш файл местности (зеркально отражённый) с помощью Milkshape и использовать его как основу для размещения ваших построек на ней.
Помните, что вы должны моделировать ваше поселение зеркально-отражённым в Milkshape, что означает, например, ворота, будучи расположенные в левой части в Milkshape (если смотреть спереди), в окне 2D IWTE и в самой игре будут находиться с правой стороны!
Если ваше поселение имеет только одни ворота в наружном кольце стен, то не имеет значения, как вы моделируете свои поселения, зеркально-отражённые или же нет, поскольку в игре поселение будет отображаться всё время с фронта этих единственных ворот.

2.2.1 Создание и редактирование поселения

Сначала, приведём полный список всей иерархии элементов поселений IWTE:
I. Комплексы/Complexes (разделённые на структуры/ structures)
II. Структуры/Structures (разделённые на объекты/ objects)
III. Объекты/Objects (разделённые на суб-объекты/ Sub-Objects)
Также существует 5 типов объектов:
# Стены: каменные стены состоят из 6 (g0-g5), деревянные стены из 5, частокол из 2 суб-объектов.
# Ворота: всегда состоят из 3 суб-объектов (g0-g2)
# Сторожка: всегда состоит из 2 суб-объектов (g0-g1)
# Башни: всегда состоят из 2 суб-объектов (g0-g1)
# Объекты по умолчанию: состоят из 1 или 2 суб-объектов (g0 или g0-g1)
IV. Суб-объекты/Sub-Objects: суб-объекты это различные уровни повреждений каждого объекта. g0 – это всегда неповреждённый объект, g1 – это более разрушенный объект (или полностью уничтоженный, если только 2 суб-объекта), и т.д.
Объект с уровнем повреждения (g0) всегда будет выглядеть одинаково, даже если он был повреждён артиллерией.

В основном, вы можете полностью моделировать ваши поселения как хотите, но будьте осторожны со всеми 4 Основными объектами (Стены/ворота/сторожка/башни). Все остальные постройки относятся к объектам по умолчанию.


Обзор всех 5 типов объектов, как они выглядят в Milkshape и что вы должны учитывать, когда вы будете использовать, создавать, или редактировать их:

Стены («Walls»)

Функционирование стен является важнейшей частью вашего поселения, поскольку они являются той частью, которая может быть осаждена, уничтожена, а также на которой вы можете разместить свои войска (обратите внимание, что войска также могут быть размещены и на других объектах по умолчанию с плоской поверхностью ).
Перед тем как работать с функционирующей стеной, я бы посоветовал загрузить оригинальную часть стены и изолировать её так, чтобы у вас была только одна часть стены:
- Откройте ваше базовое поселение с помощью IWTE и пропишите любую структуру в ms3d, которая включает стены.
- Откройте структуру с помощью Milkshape и удалите всё за исключением одной части стены. Я бы также рекомендовал оставить одну «связывающую часть» стены, которая будет показывать, сколько места должно быть между каждой частью стены.
Если вы используете «start-up-kit», удалите всё за исключением одной стены, которую вы хотите использовать в дальнейшем.

3-х квадратная стена' в Milkshape:

Надписи на скриншоте: желтым – связывающая часть (1 подгруппа, чаще две), черным – часть стены (6 подгрупп)

- ЕСЛИ вы хотите проделать небольшие изменения с различными уровнями разрушения части стен (например, изменение зубчатой стены), то сделайте это сейчас.
- Сохраните изолированную часть стены и держите этот файл как заготовку для новых стен, которые вы будете создавать. Если вам нужно дублирование этой базовой стены, то используйте опцию соединения («merge») в Milkshape, чтобы импортировать эту часть базовой стены, а не просто дублировать её вместе с опцией Milkshape!

Примечание:
- вы можете удивиться, почему вам следует соединять часть стен в Milkshape, а не просто дублировать её с Milkshape; просто потому, что когда вы дублируете все 6 под-групп одной части стены, это будет примерно на 1/3 полигонов больше, нежели, когда вы просто будете соединять вашу сохранённую часть стены в вашем .ms3d файле. Неизвестно, почему так получается, но эта процедура сэкономит вам много полигонов.

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

- также не рекомендуется делать большие изменения в частях стен, поскольку анимация не точно подходит к ним, или вам придётся не использовать анимацию вовсе.


Ворота («Gates»)

Модель ворот не должна изменяться, поскольку ворота являются единственным объектом, который должен иметь анимацию, в противном случае они не будут работать. Тем не менее, вы можете использовать любые другие ворота из любых других поселений, например, вы можете использовать решётку из замка для вставки её в городские ворота. Они не должны мешать осадным орудиям и IWTE позволяет вам выбрать любую анимацию из оригинальных файлов поселений.
Как и со стенами, я бы рекомендовал загружать оригинальные ворота и изолировать их:
- откройте ваше базовое поселение с помощью IWTE и пропишите любую структуру, которая включает ворота в ms3d.
- откройте структуру в Milkshape и удалите всё за исключением ворот.

Деревянные ворота в Milkshape:

Надписи на скриншоте:
- Примечание: это ворота североевропейского большого города
- Ворота (3 подгруппы)


Сторожка («Gate Houses»)

Сторожка является относительно несложным элементом, поскольку она не использует анимацию для уровней повреждений, так что вы можете использовать или оригинальную, редактировать существующую или же создать совершенно новую.

Сторожка в Milkshape:

Надписи на скриншоте:
- Примечание: эта сторожка североевропейского большого города
- Сторожка (2 подгруппы)


Башни на стенах («Arrow Towers»)

Вы также можете использовать любые боевые башни из любого поселения, или сделать полностью новые. Если вы используете оригинальные башни, то загружайте и изолируйте их, как и в случае со стенами и воротами. Если вы создаёте совершенно новую башню, помните, что вы также должны создать и новый уровень повреждения (g1)! Также помните, что вы не можете создавать новую анимацию, это значит, что ваши новые башни не будут иметь анимацию при разрушении, но на самом деле, это смотрится не совсем уж плохо.

Примечание:
- То, что игра распознаёт как Башни, на самом деле является только лишь вершинами башен!
Основание башен не принадлежит к элементу Башен и может быть любой постройкой по умолчанию, даже Сторожкой.
- Башни состоят только из двух подгрупп, однако, в Milkshape должно быть 3 «копии» каждой башни!
Эти копии будут использоваться для улучшений башен, которые можно осуществить в игре (апгрейды башен баллистами и пушками). Оригинальные копии башен различаются с небольшими отличиями, но вы также можете просто скопировать и вставить вашу башню (с 2 подгруппами), так что вы будете иметь 3 точно таких же копии.

Башни всегда имеют 2 подгруппы (g0-g1), которые дублируются 3 раза: На этом примере, Сторожка (отмечена красным) является основанием башни:

Надписи на скриншоте:
- Примечание: это 2 башни североевропейского большого города. Сторожки служат основанием башен.
- желтым: башня 1 (2 подгруппы, каждая скопирована 3 раза)
- черным: башня 2 (2 подгруппы, каждая скопирована 3 раза)

Другой пример с другим основанием башни (помечено красным) и только сама Башня:

Надписи на скриншоте: башня (2 подгруппы, каждая скопирована 3 раза)


Объекты по умолчанию ("Default objects", т.е. все остальные постройки)

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


Вода

Создание водной поверхности очень простой процесс. Просто создайте любую плоскую поверхность в Milkshape и поместите её на то место, где должна быть вода (используйте соединённую местность, чтобы проверить позицию).


Общие указания по моделированию:

1. Старайтесь моделировать очень точно и по возможности без ошибок. Изменение моделей после того, как вы импортировали их в IWTE возможно, но будет легче, если вы не будете этого делать.

2. Ваш первый .ms3d файл должен включать в себя главные Ворота, а также главную Сторожку. Используйте эту связку в качестве ориентира для остального поселения, так что выбирайте позицию ваших главных ворот внимательно!
Также старайтесь отцентровать вашу Сторожку вокруг одного квадрата местности (смотрите следующий пункт о поиске пути «Pathfinding»)
Ваш .ms3d файл с воротами должен быть также первой структурой, которая позже будет добавлена к IWTE.

3. Также важно знать, что квадраты поиска пути и квадраты местности более менее связаны между собой.
Каждый квадрат файла местности состоит из 16 (4х4) квадратов поиска пути (pathfinding-squares). Так что, если вы хотите иметь очень точный поиск пути вдоль определенных объектов (особенно важно для Ворот и Сторожки!), то старайтесь размещать их вдоль линий местности (например, вы увидите, что ширина и глубина оригинальной сторожки хорошо вписывается в квадрат файла местности, так что она может быть точно размещена вдоль этих линий и вы сможете получить очень точный поиск пути для Ворот. Вы увидите этот эффект позже, когда начнёте редактирование поиска путей (смотрите раздел 3.3.2)) В этом нет необходимости и такое это не всегда возможно, но это может привести к чуть более точному поиску путей для важных или узких проходов.

Здесь пример Сторожки, построенной вдоль линий местности в Milkshape. Прохождение Сторожки (синий квадрат) точно соответствует квадрату местности (отмечен красным):


Каменные стены также могут прекрасно соответствовать местности:


4. Если вы используете оригинальные основные объекты и если вы хотите оставить оригинальную анимацию, не передвигайте одиночные вершины этих объектов! Всегда передвигайте весь объект одним куском, в противном случае анимация будет соответствовать не полностью.

5. Вы также можете назначить одну текстуру каждому ms3d файлу (структуре) в IWTE.
Объекты, которые используют различные текстуры в игре, должны быть отдельными .ms3d файлами (под каждую текстуру – отдельный файл), просто разделите их позже перед тем, как импортировать их в IWTE. Конечно, вы можете моделировать объекты и текстуры в одном ms3d файле, но потом вам всё равно придётся разделить их перед импортом в IWTE.

6. Вы, вероятно, поняли, что оригинальные постройки по умолчанию часто разделены на бесчисленные небольшие группки; например, простой оригинальный дом состоит из десятков объектов, потому что почти каждая зона/площадь оригинальных построек имеет собственные уровни разрушений!
Это делает их очень сложным при повторном использовании этих объектов в вашем новом файле. Лично я сделал большинство построек с нуля, и я в основном воздерживаюсь от разделения их на разные группы с различными уровнями повреждения, поскольку это занимает слишком много времени, особенно в больших поселениях.

Здесь показан пример, как оригинальные постройки могут выглядеть, разделённые на бесчисленные группы:

Надписи на скриншоте:
Примечание: Некоторые оригинальные постройки ближневосточного поселения. Почти каждый квадрат является отдельной группой, имеющей свою отдельную подгруппу.
- жёлтым: объект 1 (2 подгруппы)
- красным: объект 2 (2 подгруппы)
- зелёным: объект 3 (2 подгруппы)
- синим: объект 3 (2 подгруппы)

Здесь пример того, как может выглядеть полностью завершённое новое здание:

Надписи на скриншоте:
Примечание: Некоторые постройки, созданные без задействования большого числа групп и подгрупп
- синим: объект 3 (1 подгруппа)
- жёлтым: объект 1 (1 подгруппа)
- красным: объект 2 (1 подгруппа)

7. Удачи в моделировании и текстурировании вашего поселения!


2.2.2 Окончательная доводка .ms3d файлов

После того, как вы отредактировали/создали свою модель, вы должны завершить ваш .ms3d файл (структуру), чтобы импортировать его в IWTE. Для этого проверьте всё ли сделано правильно:

Объекты и суб-объекты:
- 4 Основных объекта должны быть чёткими и иметь установленное количество суб-объектов (Стены: 2-5/6, Ворота:3, Сторожка:2 и Башни:2х3). (помните, что башни должны быть продублированы 3 раза, так что необходимо иметь 6 групп в Milkshape. Также помните, что основание башни это отдельный объект).
- Постройки по умолчанию должны быть разделены на объекты «интуитивно».
Теоретически, вы также можете соединять все объекты по умолчанию в одну Milkshape группу, но огромные объекты могут привести к некоторым проблемам.
Объекты, которые должны будут иметь эффекты в игре (например, труба для дыма или зажженный факел), должны быть отдельными объектами, в противном случае эффекты будут отображаться некорректно.

Именование объектов и суб-объектов:
- Вам следует называть все объекты и суб-объекты с числовым префиксом и добавкой для уровней повреждения. IWTE будет рассматривать все эти объекты, как «новые объекты». Есть только один префикс, который вы не должны использовать это «Eo...» (это внутренний префикс означает «существующие объекты» 'existing objects')

Например:


Прочее:
- файлы .ms3d могут быть названы как угодно
- группы и модели не должны иметь никаких комментариев в Milkshape
- все группы в Milkshape должны быть приписаны к 'Material0' (не знаю, так ли это необходимо, но это работает)


3) IWTE

После того, как вы завершили работу с местностью и поселением в Milkshape, пришло время работы над вашим поселением в IWTE

Общий вид IWTE и его опций:

Совет: Также вы можете немного настроить интерфейс IWTE, перемещая объекты-, структуры, и текстуры путём наложения.

Таким образом, интерфейс может выглядеть так:


2D Окно ("The 2D window")

- Показывает объекты, структуры, комплексы, целое поселение, развертывание, лестницы, двери, проломы и т.д. в 2D проекции
- Редактирование площади, развертывания, блоков развертывания, дверей, дорожных маркеров, технологических древ, точек защиты, и поиск пути в 2D виде
- Увеличение и уменьшение масштаба

Окно объектов ("The Objects window")

- показывает поселение, разделённое на объекты
- показывает атрибуты объектов

Окно структур ("The Structures window")

- показывает поселение, разделённое на структуры и комплексы
- показывает текстуры и типы текстур

Окно текстур ("The Textures window")

- показывает текстуры для поселения

Файлы игрового мира ("World files")
- загрузка и сохранение
- смена типа, фракции, культуры и названия поселения

Виды ("Views")

- вид объектов, структур, комплексов или всего поселения в 2D проекции
- вид развертывания, лестниц, дверей, проломов и т.д.
- создание общего вида поселения .tga файлом для редактирования поиска путей и растительности

Структуры ("Structures")
- замена, добавление или удаление структур или комплексов
- прописывание структур в .ms3d файлах

Текстуры ("Textures")
- изменение, добавление текстур

Коллизия/анимация ("Collision/Anim")

- создание, удаление или изменение коллизии и анимации
- добавление или изменение эффектов
- изменение ссылок текстур для анимации эффектов

Периметр ("perimeter")

- приписывает стены к периметру (слои/уровни стен)

Игровые объекты ("Gameobjects")

- изменение площади, развёртывания, дорожных маркеров и технологических древ в 2D проекции

Основные объекты ("Mainobjects")

- создание основных объектов
- добавление, изменение, удаление стыковочных точек (для лестниц и осадных башен), позиций для стрельбы, проломов для ворот и стен

Пути ("paths")

- добавление, изменение, удаление зоны развёртывания на стенах
- изменение защитных точек

Местность1 ("Terrain1")

- изменение ссылок текстур на текстуры местности
- замена, изменение местности
- прописывание структур в .ms3d файлах

Местность2 ("Terrain2")

- редактирование растительности
- редактирование поиска пути

3.1. Создание базового поселения

Моим первым рекомендуемым действием является сокращение вашего базового поселения до всего лишь нескольких структур (которые позже будут удалены или заменены).
Одна структура должна включать в себя ворота и сторожку!

# Вариант 1 – сокращение поселения
- откройте IWTE, далее «Read Binary Files» и выберите ваше базовое поселение. Инструментарий всегда требует открытия 3 файлов: .world, .animinstances и .worldcollsion.
- после того, как инструментарий закончит обработку файлов, перейдите к окну структур и кликните любую структуру любого комплекса. Затем выполните следующее 'Structures' -> 'Complex Actions' -> 'Delete Complex'.
- повторите последний шаг до тех пор, пока у вас не останется один комплекс, включающий ворота и сторожку! (помните, что поселение в игре обязательно должно иметь, по крайней мере, одни ворота и сторожку. В начале даже стены не нужны!)
- Протестируйте на предмет работы сокращённого поселения в игре (если не работает, что может случаться в некоторых редких случаях, вернитесь на несколько шагов назад и протестируйте поселения с большим количеством комплексов)

# Вариант 2 – использование 'start-up-kit' (рекомендуется)
Основная причина в пользу 'start-up-kit', это то, что сокращение поселения может быть очень затратным по времени, а также иногда приводит к ошибкам.
Тем не менее, рекомендуется вам использовать 'start-up-kit', если вы хотите создать поселения с нуля.


3.2 Импорт .ms3d файлов

После того, как вы обрезали и протестировали ваше базовое поселение, вы можете начать импорт ваших Milkshape структур в IWTE.

- откройте IWTE и загрузите урезанное базовое поселение (или 'start-up-kit').
- выберите любую оригинальную структуру, за исключением структуры включающей ворота.
- далее 'Structures' → 'Structure Actions' → 'Replace ms3d File' (или 'Add Structure')
- выберите ваш .ms3d файл, включающий ворота и нажмите принять.
- чтобы проделать самый простой тест на работоспособность в игре, выберите любой объект вашей заменённой структуры и добавьте ей коллизию (см. 3.3.1 - коллизия). После добавления коллизии, скопируйте 3 вновь созданных бинарных файла (.world, .animinstances, .worldcollision) в нужную папку, расположенную в директории вашего мода и переименуйте их в оригинальное название. Начните игру и атакуйте отредактированное поселение (повторяю, этот тест проводится для каждой новой структуры, которую вы заменили или добавили!)
- теперь замените другие оставшиеся структуры вашими новыми структурами или просто добавьте новые структуры, если оригинальных не осталось.

Важно: будьте внимательны с замещением оригинальных структур, включающих ворота и сторожку! В некоторых случаях это может привести с неспецифичным внутриигровым вылетам, как только вы удалите/замените эти структуры.
Сейчас нет окончательного решения этой проблемы, так что учтите, что эта структура остаётся временной!
Если ваша игра также вылетает, когда вы удаляете/заменяете оригинальную структуру с воротами, то простейший путь исправить ошибку этой структуры, это «погрузить» структуру в землю (пропишите структуру в .ms3d и передвиньте её чуть вниз в Milkshape, не изменяя группы или имена). Сохраните её и повторно импортируйте её в IWTE, а затем удалите все атрибуты из неё, исключая коллизию для объектов по умолчанию.


3.2.1. Текстуры ("textures")

Если вы создали свой набор текстур для модели, то сперва, вам необходимо изменить набор текстур:
- откройте 'Textures window' в IWTE и кликните по текстуре, которую вы хотите заменить или кликните где-нибудь, если вы хотите добавить новую текстуру.
- далее Textures → Change Texture или Add Texture
- введите правильный путь и имя текстуры, созданной вами, нормальную карту и нажмите принять

Назначение правильной текстуры к вашей новой/заменённой структуре:
- откройте 'Structures window' в IWTE и кликните структуру.
- далее Structures → Change Structure texture
- введите корректный индетификатор (имя) текстуры и нажмите принять


3.3 Установка атрибутов для поселения

3.3.1. Атрибуты объекта ("Object attributes")

Как только вы импортируете один или же все ваши .ms3d файлы в IWTE, вы можете начать присвоение атрибутов вашим новым или же отредактированным объектам. Не всем объектам нужно иметь одинаковые атрибуты, существует разница между 5 типами объектов.

Здесь показан общий вид 5 различных типов объектов и атрибуты, которые им необходимы:

На самом деле, большинство атрибутов совершенно необязательны, но рекомендуются. Теоретически, поселения будут функционировать, если будут иметь всего одни ворота и одну сторожку (оба с корректными атрибутами!), а также замкнутое кольцо непроходимой местности (это можно проделать с помощью 2D поиска пути или местности)!

Здесь представлено, как шаг за шагом, нужно назначать атрибуты:

Важно: Я рекомендую, чтобы вы начали работу с присваивания атрибутов структурам, включающим ворота и сторожку. Начинайте с таких небольших шагов, поначалу присваивая атрибуты только вашим воротам и сторожкам, и на их примере наблюдая, работает ли это в игре. После этого, можно переходить с остальным шагам!

1. Основные объекты "Mainobjects" (важнейшие пункты для решения ИИ по защите/атаке)
Все функционирующие стены, ворота, сторожки и башни должны быть назначены как Основные объекты:
- перейдите 'Objects window' в IWTE и кликните и кликните по основным объектам
- далее Mainobjects → Create new Mainobject
- затем выберите Main object type (Wall/Gate/Gate House/Arrow Tower), в зависимости от объекта, на котором вы кликнули ранее
- нажмите принять и повторите со всеми вашими основными объектами

2. Анимация/Коллизия "Animations/Collision" (анимация для стен/башен/ворот)
Анимированные объекты не нуждаются в коллизии, поскольку коллизия будет автоматически добавляться вместе с анимацией (анимация основывается на определённой коллизии).

Анимация/коллизия для повторно используемых стен/ворот/башен:
- перейдите 'Objects window' в IWTE и кликните по основным объектам, которые должны быть анимированы.
- далее Collision/Anim → Assign Animation/Collision
- из выпадающего списка выберите корректную анимацию, укажите правильное направление и нажмите принять.
- ЕСЛИ вам нужна анимация, которой нет в списке (например, если вы используете 'Middle eastern castle tower' в базовом поселении североевропейского типа), то вы должны использовать опцию Pick new Animation/Collision. Затем вы должны будет загрузить оригинальное поселение, включающее эту анимацию. Загрузите все 3 нужных файла этого поселения, затем выберите правильную анимацию и нажмите принять.
- повторите эту процедуру для всех основных объектов, которые должны быть анимированы.

Примечание:
Анимация для ворот и стен легко распознаётся, когда вы назначаете или выбираете её. По-другому дело обстоит с многочисленной анимацией башен, где я даже не знаю, какая анимация соответствует какой башне. Нужно поэкспериментировать.

Анимация/коллизия для пользовательских башен
Если вы создали свои башни или стены, вы должны воздерживаться от присвоения им анимации, поскольку она не будет полностью соответствовать им. В этом случае, пропустите этот шаг и просто создайте обычную коллизию (смотрите следующий шаг) без анимации.

3. Коллизия "Collisions" («физическое реагирование» модели)
- перейдите в 'Objects window' в IWTE и кликните на сторожке или объектах по умолчанию
- далее Collision/Anim → Create Object Collision
- укажите индикатор направления коллизии. Вам не нужно быть на 100% точным. Просто общего направления достаточно.
- Нажмите "принять" и повторите эту процедуру со всеми вашими объектами, которые должны иметь коллизию.

Важно: дубликаты объектов не нуждаются в отдельной коллизии. В этом случае вы создаёте только одну коллизию для первого объекта, затем кликаете на продублированных объектах в 2D окне и:
- идёте в Collision/Anim → Assign Object Collision.
- Выбираете номер вашего первого объекта в выпавшем списке, указываете индикатор в правильном направлении, а затем "принять".
- Когда вы закончите добавление коллизии, перейдите Collision/Anim → Delete ALL unused Collisions, а затем "принять".

Совет: Не всем объектам нужна коллизия. С некоторыми объектами может быть даже лучше не давать им коллизию, и оставить их как просто декоративные объекты, например, факелы, ящики, бочки и т.д.

4. Точки осады "Siege Docking" (точки, куда будут приставляться лестницы, осадные башни, бить тараны)
- перейдите 'Objects window' в IWTE и кликните на стене или воротах
- далее Main Objects → Add object siege docking
Стены должны быть осаждаемы для лестниц и осадных башен (для огромных городов действительны только осадные башни), ворота должны быть осаждаемы для таранов. Обычно по умолчанию уже стоит правильная опция.
- нажмите "принять" и повторите эту процедуру со всеми стенами и воротами

6. Огневые точки "Firing Slots" (места, откуда будут вылетать снаряды баллист/пушек/стрел)
(пока ещё точно не понял… King-Kong)

7. Эффекты коллизии "Collision Effects" (окружающие эффекты, вроде костров в лагере или дым из труб)
- перейдите 'Objects window' в IWTE и кликните по объектам по умолчанию, которые должны иметь эффекты (например, факел)
- далее Collision/Anim → Change Collision Effect
- кликните Add Effect Row
- выберите эффект и выпавшего списка. Световые эффекты, вроде костров или жаровень должны иметь излучение света равное «1». Относительной высотой является высота от центра к верхней оконечности объекта.
Например, если высота горелки равна 1.5 (значение Y взято из Milkshape), то высота от центра до верха будет составлять 0.75, так что относительная высота также будет равна 0.75
- кликните Accept Row и нажмите "принять"
- повторите эту процедуру для всех объектов по умолчанию, которые должны иметь эти эффекты

Примечание:
- вы также можете добавить различные эффекты для разных уровней повреждений объектов.
Если вы решите это сделать, просто измените строку эффектов Amend Effect Row, изменив уровень повреждений и создав новый эффект.
- вы также можете добавить новый эффект в файлах 'descr_campfires_brasiers.txt' и 'descr_chimney_smoke.txt'
- Вы можете добавить эти эффекты в IWTE посредством изменения списка эффектов Amend Effect List→ Add Effect Button и ввести название вашего нового эффекта.
Подтвердите изменение эффекта "Accept Effect change".

8. Проломы/двери "Breaches/doors"
(обычно добавляются автоматически в IWTE)


3.2.2 Глобальные атрибуты поселения ("Global settlement attributes")

Каждое поселение имеет несколько установок, которые могут быть изменены посредством IWTE

1. Поиск пути (Поиск пути (англ. Pathfinding) — термин в информатике и искусственном интеллекте, который означает определение компьютерной программой наилучшего, оптимального маршрута между двумя точками.)
1. Поиск пути – контролирует, где юниты могут проходить, а где нет
# Шаг 1 – неточный поиск пути
- перейдите Terrain2 → Create Pathfinding TGA2
- выберите файл .worldpathfinding вашего базового поселения и нажмите принять
- откройте созданный xxx_wpf2.tga с помощью Photoshop*
- далее Views → Create World TGA -PF size
- введите Size Value. Это количество вертексов с каждой стороны из вашего файла местности. Нажмите принять.
- Откройте созданный xxx_worldobject.tga с помощью Photoshop* и вставьте его в качестве нового слоя поверх файла xxx_wpf2.tga, а также понизьте прозрачность.
- Теперь, когда вы увидите, где находятся объекты вашего поселения, редактируйте файл xxx_wpf2.tga
Зелёные участки проходимы, а синие непроходимая местность.
- сохраните файл xxx_wpf2.tga
- далее Terrain2 → Replace with Pfinding TGA2
- выберите файл .worldpathfinding вашего базового поселения и нажмите принять. Сохраните файл.

# Шаг 2 – точный поиск пути
- перейдите Terrain2 → Amend PathFinding in 2D
- выберите созданный файл .worldpathfinding в шаге №1 и нажмите "принять". Сохраните файл под нужным именем.
- поиск пути будет отображаться в 2D окне в IWTE
- далее Views → View World -2d (или View Structure -2d), чтобы вы могли увидеть, где находятся ваши объекты
- теперь просто кликаете в 2D окне чтобы добавить/удалить квадраты поиска пути, делая тем самым поиск пути более точным.
- нажмите "принять" и киньте только что созданный файл .worldpathfinding в папку вашего мода.

2. Растительность "Vegetation" – контролирует размещение деревьев и травы
- перейдите в Terrain2 → Create Veg Group 4 TGA
- выберите файл .worldvegetation вашего базового поселения и нажмите "принять"
- откройте созданный xxx_group4_WVeg.tga с помощью Photoshop*
- далее Views → Create World TGA -Veg size
- введите Size Value. (смотрите 1. Поиск пути)
- откройте созданный xxx_worldobject.tga с помощью Photoshop* и вставьте его как новый слой поверх файла xxx_group4_WVeg.tga и понизьте прозрачность.
- Теперь, когда вы можете видеть, где находятся объекты вашего поселения, редактируйте файл xxx_group4_WVeg.tga
Чёрные участки это обычная земля (будет использоваться те же типы земли, что и в descr_ground_types.tga). Зелёные участки это трава. Бирюзовые это деревья.
- Сохраните файл xxx_group4_WVeg.tga
- Далее Go to Terrain2 → Replace Veg Group 4 TGA
- Выберите файл .worldvegetation вашего базового поселения
- Нажмите "принять" и положите только что созданный файл .worldvegetation в папку вашего мода.

3. Периметры "Perimeters" – показывают ИИ, где находятся стены, которые он должен защищать или наоборот проламывать
- перейдите perimeters → Assign Perimeters
- выберите объекты вашего базового поселения в 2D окне и кликайте на: Assign as no Perimeter, Assign to Perimeter1, Assign to Perimeter2, Assign to Perimter3.
- Обычно периметр назначается только тем стенам, которые построены замкнутыми. Нажмите "принять".

4. Площадь "The Plaza" – место, которое должно быть защищено или же, наоборот, захвачено для достижения победы
- Перейдите Gameobjects → View Plaza (эта кнопка изменится на to Change Plaza)
- Кликните и переместите оранжевый квадрат в 2D окне в то место, куда вы хотите. Измените размер, если хотите и нажмите "принять".

5. Зона развертывания "The deployment zone" – зона, где обороняющиеся могут быть размещены перед битвой
- Перейдите Gameobjects → View Deployment (кнопка изменится на Change Deployment Nodes, а также появится кнопка Add Deployment Nodes)
- Кликните на зоне развёртывания в 2D окне и передвигайте её туда, куда вы хотите.
- кликните на линию зоны развёртывания и добавьте дополнительные пункты, если хотите и нажмите ("принять")


6. Дорожные маркеры "Road Marker" – обозначает начало дороги, ведущей к поселению, которая построена в режиме кампании
- перейдите Gameobjects → View RoadMarker (кнопка изменится на ChangeRoadMarker, а также появятся кнопки Add RoadMarker и Delete RoadMarker)
- кликните по дорожному маркеру в 2D окне и передвиньте его, куда необходимо. Используйте указатель, чтобы уточнить направление, куда должна вести дорога и нажмите "принять".

7. Технологическое древо "Tech Trees" – место, где находятся технические постройки, вроде бараков или кузниц (добавление технологических деревьев ещё до конца не прояснено)
Если вы не имеете/хотите добавлять слоты технологического древа, просто удалите их:
- Gameobjects → Delete All TechTrees

8. Зоны размещения "Deployment blocks" – зоны, где могут быть размещены защитники на стенах или других объектах

…в процессе обновления…

9. Точки защиты "Defense Points" – места отступления ИИ, в случае, если первая линия стена прорвана

… в процессе обновления…

Важно: если вы хотите изменить какую-либо вашу модель/структуру после того, как вы уже назначили им атрибуты, то просто сохраните её (Structures → Write ms3d file – all) в .ms3d и затем уже вносите правки. Не вздумайте продолжить вашу работу в оригинальном .ms3d файле, а затем импортировать его в IWTE. В таком случае ваша структура потеряет все атрибуты!
После того, как вы опять внесли правки вашей структуры в .ms3d файл, вы заметите, что она теперь будет иметь разные названия групп, так что если вы хотите сохранить атрибуты, которые имеет эта структура в IWTE, не меняйте название группы или её порядок, в противном случае, структура также потеряет все её атрибуты, когда вы повторно импортируете её в IWTE.
Тем не менее, вы можете добавлять новые группы в этот файл, и структура не будет терять свои атрибуты, вы просто должны добавить атрибуты (если это необходимо) вашим новым группам. Эта процедура описана в пункте 2.2.2



4) Дороги, грязь и фермы

Дороги, грязь и фермы представляют собой единственные элементы, которые нельзя редактировать с помощью Milkshape или же IWTE.
Они являются просто файлами .texture, которые могут быть отредактированы (перед этим их нужно конвертировать в формат .dds) любым 2D графическим редактором, который может изменять альфа каналы и .dds файлы.
Каждое поселение имеет собственные текстуры дороги, грязи и фермы, которые можно найти по адресу:
data\settlements\north_european\settlements\huge_city\ maps\overlays.

4.1 Дороги
Белый альфа канал обозначает местоположение дороги

4.2 Грязь
Белый альфа канал обозначает местоположение грязи

4.3 Фермы
Белый альфа канал обозначает местоположение фермы

Совет: если вам нужно узнать наложение/общий план вашего поселения, то вы можете создать tga файл (Create World TGA -PF size), подогнать его размеры с размерами дороги/грязи/фермы, таким образом, вы сможете примерно увидеть, где находятся объекты вашего поселения.


5) Придание поселению уникальности

Последние шаги объясняют, как вы можете изменить существующее поселение, но необходимо отметить, что это изменит также все поселения этого типа.
Если вы хотите, чтобы ваше поселение было уникальным на карте кампании, вы должны изменить две вещи:

5.1 Файл .worldpkgdesc
Файл worldpkgdesc осуществляет контроль над тем, в какой папке находятся файлы нового поселения, то, как они будут называться, какого они будут типа и для каких фракций и культур эти поселения предназначаются. Дополнение Kingdoms вводит особые поселения у фракций, так что вы можете иметь, например, уникальный североевропейский огромный город, который может построить только Англия.

Также у вас имеется возможность «трансформировать» определённые поселения. Например, вы выбрали североевропейский замок в качестве вашего базового поселения, вы также можете назвать его городом (помните, что только высота стен имеет значение, число же периметров не важно!). Так как оба, и замок, и город имеют туже высоту стен, то вы можете легко трансформировать один в другой, или же наоборот.

5.2 Информация о местности
Информация о местности контролирует, в какой папке находятся новые текстуры дорог, грязи и фермы, и то, как они называются.
Если вы хотите сделать ваше поселение уникальным, то вы должны давать уникальные названия всем этим текстурным файлам.


6) Проблемы и их решения

У меня было относительно мало ошибок и вылетов, но некоторые ошибки всё-таки могут происходить в двух случаях:

6.1 ошибки IWTE

List Index out of range
Важно: если у вас произошла эта ошибка, не продолжайте работу с IWTE. Закройте программу, снова запустите её и продолжите работу с последними сохранёнными файлами:

# Ошибка во время замены/добавления структуры:
- посмотрите и убедитесь, что ваши .ms3d файлы перед импортом в IWTE имели комментарии.
- проверьте, чтобы все ваши имена групп в Milkshape были корректны
- IWTE не может заменить некоторые оригинальные структуры (те, которые имеют объекты, использующие две текстуры). В этом случае весь оригинальный комплекс должен быть удалён

# Ошибка во время импорта местности:
- проверьте, чтобы ваш .ms3d файл местности имел оригинальный комментарий, и что он имеет только одну группу в Milkshape.

Недостаточно объектов в файле:
- ???


6.2 Ошибки игры

Вылет на рабочий стол при загрузке поселения
- обороняющимся является человек, и зона развёртывания не включает в себя площадь
- деревни, посёлки, большие городки не должны иметь сторожку
- поселение имеет пути для лестниц, но не имеет «зон развёртывания на стенах»
- отсутствие функционирующих ворот
- ворота, сторожка или же стены не имеют анимацию/коллизию

Защитникам сразу же после старта присуждается победа
- нет ворот, или же ворота не привязаны к периметру
- до площади невозможно добраться или же поиск пути блокирован

Объект поселения светятся красным/зелёным
- все объекты внутри одной структуре не имеют коллизии
Copyright © «Империал». Копирование информации с этой страницы возможно только при указании прямых ссылок на эту страницу.


      Стиль:
        03 Дек 2016, 09:56
    © 2016 «Империал». Условия предоставления. Ответственность сторон. Рекрутинг на Империале. Лицензия зарегистрирована на: «Империал». Счётчики