Сообщение отредактировал Master_TW_DAR: 27 июля 2014 - 20:27
Туториалы по архитектуре M2TW
- Тема закрыта
#2 Master_TW_DAR
Отправлено 15 июня 2014 - 06:12
Editing worldterrain files (IWTE)
IWTE - Editing worldterrain files
The following information should help modders understand the basics of modding the worldterrain files.This allows you to change the landscape of any .world map without actually changing any of the .world/collision/animations. So you can position the ‘settlement’ on a hill, in a valley etc but still retain everything about the settlement (if you wish).
Essentially you should think of the worldterrain file as containing four items :
The worldterrain Vertex – these are all exactly 8m apart. You can only adjust the height
The worldterrain merge factor associated with each vector – value 1.0 to 0.0 identifying whether this vector shows fully or becomes more merged until it has no effect on the original landscape
The Landscape merge mask – merges the original landscape towards an average 0.0 height
The mask TGA paths – the texture masks applied to the world terrain file. There are 4 masks with a macro and micro mask for each
To try and explain this better :
The worldterrain vertexes
The vertexes are all 8m apart. All you can do is add new rows or columns and amend their height.
The normal battlemap is approx. 221 vertexes square.
Milkshape can only handle 181 vertexes square.
The worldterrain should be variations of height from a 0.0 average height.
It should be noted that the triangles that then make up the mesh do not have a uniform direction. They follow a basic pattern (which isn't a single bottom left to top right split as an example). However when the vertex meets water the pattern gets broken and the triangles are formed connecting to the lowest vertex.
The worldterrain merge factor
This factor says what the vertex weighting is versus the underlying landscape. A value of 1.0 implies the vertex shows 100% and the underlying terrain is completely hidden whereas a value of 0.0 means the underlying landscape is showing completely and the vertex has no effect. Obviously you should have values of 1.0 under the settlement (ie any vertexes associated with the .world file) and then should merge to a 0.0 value for the outer edges of the world terrain. This will then blend the worldterrain into the underlying landscape.
The Landscape merge mask
This is a fixed size (256*256) and is either present or not (IWTE tool doesn’t allow you to delete it if you don’t want it – in that case just select a starting file that doesn’t have one. It will allow you to add though). Its purpose is to merge the surrounding landscape towards an average height which is 0.0 in .world/.worldterrain terms. In this case the fully merged means the landscape value is 0.0 whereas the unmerged shows the true landscape (based around an average 0.0 height).
The merge mask also covers the same area regardless of changes to the world terrain vertex mesh (it’s a few metres bigger than the 121 size maybe fitting to a 128 size)
The mask TGA paths
OK these are really textures but are internally referred to as TGA. There are 4 masks which can be called whatever you like but start normally as mud, path, farm1 and farm2. Each has 2 files associated with it representing the macro file and the micro file. Each file then has a size associated with it (in metres) over which the TGA is stretched.
Please note that the masks ONLY use their alpha channels to determine how much of the associated Macro and Micro files show.
Order of sequence
You should think of the order of sequence for building the battlemap as :
Obtain height and feature information from stratmap.
- Also apply climate, geography and vegetation information.
Apply landscape merge mask – to merge landscape towards a central average height deemed to be 0.0 in .world terms
Apply the Worldterrain vertexes merging according to the vertex world terrain merge factor
- Applies rock values to cliffs and also applies the terrain TGA masks (other underlying geography still applies).
This post by Makanyane helps explain pictorially the above merge processes (ie the impact of the landscape merge mask and the world terrain merge factor) :-
]]>http://www.twcenter.....6#post11133666]]>
How do you change them using IWTE?
The features for changing the world terrain are all under tab Terrain1 in the IWTE tool.
Amend WT Mask TGA paths
This option brings up a table where you can overwrite the TGA names and change the size associated with the macro and micro files.
Create Terrain base TGA
This option creates a TGA of the vertexes (The terrain TGA) and (if it exists) a TGA of the Landscape merge mask. It asks for 3 parameters which only affect the Terrain TGA.
Greyscale control point – is a grey scale value which controls the conversion of the height to greyscale.
Height assigned to GCP – This is the height associated with the greyscale value.
Greyscale increments per height – This is the number of greyscale values per metre height change.
OK this normally confuses me but what it means is if you use greyscale height 150 has Height assigned 0.0 and greyscale increments is 3.0 then a height of 1.0metres would be greyscale 153 and 2.0 would be greyscale 156 etc
Always note the values down as you need to enter the same values when you replace the terrain TGA.
If the height exceeds the parameter settings i.e. requires greyscale above 255 then the colour is changed to blue and if it required a value less than zero it is changed to red.
The worldterrain merge factor is stored in the alpha channel of this TGA.
For the TGA of the landscape merge mask this just uses a greyscale value representing the merge. It doesn’t use the alpha channel.
Replace with Terrain TGA
This replaces only the Terrain TGA file (the one with the vertex heights and the world terrain merge). You should enter the same parameters as used to create the file in the first place. One thing to note, if a pixel is NOT greyscale it does NOT replace the existing value. This then allows you to concentrate on editing a small piece in detail and leaves the remainder as it was.
Please remember the TGA is a 32 bit TGA and expects an alpha channel.
Replace with WT merge TGA
This replaces the existing Landscape merge mask values with the values from the TGA (Note it doesn’t check for greyscale it simply uses one of the values). It also adds it in if the worldterrain file doesn’t currently contain one.
Please remember the TGA is a 32 bit TGA and expects an alpha channel even though not used.
Create Terrain ms3d
This creates a milkshape file which you can then edit in milkshape. However it only works for sizes up to a maximum of 181 by 181 vertexes after which the milkshape limit is exceeded.
This file doesn’t allow you adjust the world terrain merge factor.
The mask TGA path information is held in the model comments. You can amend that (provided you keep the right format) or you can delete it completely.
Replace with terrain .ms3d
This replaces the vertex height information with an ms3d file. Like all the read backs it must match the expected file size. Model comments are read back if present but if the format is not correct this will crash. Best to remove the model comment COMPLETELY.
Amend Terrain in 2D window
This checks to see if a world file is already held in memory. It displays the height and location of the vertex in the 2d window. You then can drag and select vertexes and set them to specific heights or add a height increment (ie move them up/down x metres). It allows very precise changes and you can view the world file at the same time. It also allows you to set the vertex merge values.
You need to press OK at the end to save the change.
Resize world terrain
This asks for a number of parameters.
You can set the number of vertexes in each direction (most .world settlements are square but tech trees are often rectangular).
There is then a flag to decide whether to apply any default merge values. If you set this to on then the default merge values will be generated based on the 4 entries. These 4 entries identify the distance in vertices from that edge over which to generate merge values moving from 0.0 to 1.0.
You should also always resize the worldvegetation file or the game will crash. There is no need to resize the world pathfinding but its probably best to.
OK that’s all there is to it.
So a few tips we find useful
Create the right size world terrain, pathfinding and vegetation first.
We prefer editing generally via the TGA’s. So copy in a general TGA merge alpha and also a standard landscape merge if needed (not needed for tech trees).
TGA blur effects can quickly smooth off terrain if that’s what's needed once basic heights are set.
For fine tuning we use the amend terrain in 2D window
It’s a good idea to think of the placement of settlement shapes from the .world in relation to the vertex positions of the world terrain.
You cannot join reflective planes to other water a gap needs to be maintained eg of approx 8m. If you try it the reflective planes will disappear.
Link to IWTE tool thread :
]]>http://www.twcenter....ad.php?t=323503]]>
Туториал по IWTE от leo.civil.uefs
Это пошаговое руководство, помогающее понять, как создавать собственное поселение, используя IWTE. Оно не заменяет тутор Кинг-Конга, просто оно более понятное и упрощённое.
1) Загрузите Milkshape 3D (здесь)
2) Загрузите IWTE (здесь)
3) Прочтите тутор от King-Kong
4) Создайте новый текстовый файл в ….\SEGA\Medieval II Total War и измените расширение файла на .bat Откройте этот файл и пропишите там следующую строчку:
medieval2.exe @mod.cfg
Сохранитесь и закройте файл. Затем создайте копию вашего файла medieval2.preference.cfg, а переименуйте его в mod.cfg. Далее создайте ярлык на рабочем столе для вашего .bat файла, позже вы будете использовать этот ярлык для запуска игры и просмотра вашего поселения.
5) Запустите IWTE
6) Если вы хотите редактировать вашу местность, то вы можете проделать это тремя способами, показанными ниже, если вы не хотите редактировать её, то перейдите сразу к шагу №11.
• Используя программу Milkshape 3D
• Используя IWTE (только для небольших и простых изменений)
• Используя Photoshop (Здесь вы будете проделывать до 90% всех правок, остальные 10% можно сделать с помощью двух других способов. Это единственный путь получить ровную и естественную поверхность)
7) В IWTE, перейдите во вкладку Terrain 1. Кликните на create terrain TGAґs, найдите ваш .terrain файл, находящийся в: ….\SEGA\Medieval II Total War\data\settlements\выберите тот тип поселения, который хотите редактировать (например, north_european, south_european и т.д.)\settlements\выберите один из размеров (city, large_city и т.д.). Выберите нужное. Оставьте везде настройки так, как они стояли, не меняйте. Кликните ОК. Теперь идите в нужную папку и найдите те файлы, которые вы создали (там будет 3 TGA файла, откройте "terrainbase"). Отредактируйте его в фотошопе (чем светлее зона, тем она будет выше, соответственно, чем темнее, тем ниже). Сохраните файл.
8) В IWTE во вкладке Terrain 1, кликните на "replace with terrain base TGA", выберите ваш отредактированный TGA файл, а также ваш .terrain файл. Кликните ОК (и опять, не меняйте нигде никаких настроек). Теперь в папке поселений вы найдёте новый .terrain файл, удалите оригинальный файл (на всякий случай сохраните, мало ли чего), и переименуйте свой новый файл, как оригинал.
Теперь вы можете зайти в игру и проверить вашу модификацию (для запуска игры используйте ярлык, созданный в шаге 4!)
9) В IWTE перейдите во вкладку Terrain1 и кликните по create terrain .ms3d, выберите файл .worldterrain из той папки, в которой вы работаете, далее перейдите в эту папку и там вы увидите ваш 3D файл.
10) Откройте 3D файл местности, который вы только что создали. В MilkShape перейдите в Vertex, а затем Mirror Left < -- > Right. Сохраните и держите этот файл отдельно, он будет базисом для размещения построек в вашем поселении. Теперь вы можете подгонять местность с вашими объектами (стенами, домами и т.д.). Так что на самом деле вашим реальным игровым редактором является Milkshape 3D.
11) В вашем файле местности, в MilkShape 3D, соедините уже готовые модели (file -> merge) или создайте ваши собственные с помощью MilkShape 3D, затем поместите их куда вам удобнее. Это отображение того, что вы увидите в игре. Удалите terrain GROUP в MilkShape 3D (вкладка Groups справа), вернитесь во вкладку model, и кликните comment, и удалите находящийся там текст. Теперь у вас только ваш объект (к примеру, дом), и он готов для импорта его в ваше поселение.
С помощью этой процедуры вы сможете разместить столько объектов в вашем поселении, сколько захотите. Но вы не можете работать со слишком большим количеством объектов, поскольку MilkShape 3D имеет лимит вертексов/вершин, так что вам, возможно, придётся создавать различные 3D файлы, содержащие постройки для вашего поселения.
12) В IWTE, кликните Read 3 Binary Files
13) Перейдите в папку того поселения, которое было выбрано вами до этого
14) Там будет файл .world, выберите его, после этого появится файл .worldcollision, выберите его, после этого появится ещё один файл .animinstances, также выберите и его. Это три основных файла вашего поселения. Теперь поселение загружено в IWTE.
15) Кликните на вкладке Structure. В окне структур (справой стороны IWTE) выберите любую (я рекомендую выбрать последнюю, поскольку ваша новая структура переместиться на последнее место, так просто проще её найти в списке), а затем кликните Add structure. Найдите файлы .ms3d, созданные вами до этого и выберите их. Выберите текстуру, которую вы хотите применить к вашей модели. Кликните ОК, и ваша модель будет добавлена в поселение.
По добавлению текстур прочтите туториал от King-Kong
16) Кликните на вкладке Worldfiles, а затем на save 3 binary files, далее пройдите в папку поселения, и там вы увидите 3 новых созданных файла, с номерами, добавленными к их именам. Оставьте 3 новых файла, а 3 оригинальных удалите (хотя, лучше оставьте их как резервную копию где-нибудь). Измените имена ваших новых файлов на оригинальные, тем самым полностью заменив старые. Теперь ваше поселение изменено, зайдите в игру (использую созданный ярлык из шага 4!) и проверьте ваши изменения.
Это самые основные шаги, для начала работы с IWTE, но это также и самая сложная часть для тех, кто только начинает разбираться в этом. После этого, вы теперь можете приступить к изменению местности и добавлению новых построек. В остальном всё просто.
Планирование разметки вашего поселения
Первой вещью, что вы должны сделать – это создать планировку ("layout"). Она должна включать площадь, стены/ворота и пути для ИИ, чтобы он мог передвигаться по поселению.
Важно: Не перемудрите с разметкой! Она не будут работать, вы должны следовать законам движка игры! Я рекомендую использовать тетрадь с ручкой для составления плана.
1 – Редактирование поиска пути ("pathfinding"):
ВАЖНО:
В сочетании с позицией площади, это очень важная часть, определяющая для атакующего ИИ работоспособность вашего поселения. Вообще, с самого начала вам следует редактировать поиск пути, так как вам надо, даже ещё до того, как вы начнёте вставлять здания и прочее. Затем размещайте стены/ворота (если они есть) и потом тестируйте. Таким образом, вы можете начать тестирование поселения на ранней стадии и сэкономить много времени и сил.
Не вставляйте ваши постройки в поселения, пока не убедитесь в полной работоспособности вашей разметки поселения!
Вообще, ИИ в M2TW сделан так, чтобы оптимально взаимодействовать с ванильной планировкой поселений. Вы можете просто имитировать ванильный поиск пути для вашего разметки поселения, и есть большой шанс, что всё будет работать нормально.
Однако, вы знаете, что существуют пользовательские поселения с уникальными планировкой, которые превосходно функционируют. Вы также можете попытаться создать что-то подобное, правда, гарантий, что это будет также слаженно работать, нет.
ИИ необходимо пространство для достижения центральной площади не только по прямой, но и по флангам. Макеты поселений с единственным путём к площади не очень хорошо работают, так что оставляёте боковые проходы к площади в ваших поселениях!
Блокируйте поиск пути, где у вас позже будут стены/ворота, а также везде, где хотите, чтобы местность была непроходимой.
Пока вы ведёте тестирование вашего макета поселения, лучше работать с плоской местностью поселения.
Ниже показан пример, рабочего макета поселения с поиском пути, который был отредактирован в Рhotoshop:
Размещайте центральную площадь там, где хотите.
Заметьте, что после создания каждых ворот, ваш макет поселения должен быть рабочим. Если посмотрим на макет ванильного поселения, в котором 4 входа (ворот), то там у каждых ворот своя разная работающая разметка. И все они хорошо функционируют с ИИ. Поэтому, когда вы планируете более, чем 1 вход в поселение, то тестируйте обязательно их все, вращая поселение таким образом, чтобы атакующая армия появлялась возле разных ворот.
Если ваше поселение будет иметь 2 или 3 пояса стен/ворот, то не волнуйтесь по поводу разметки между этими оборонительными поясами, они могут быть любыми, поскольку есть следующая линия обороны, ИИ будет пересекать эту промежуточную разметку и искать следующий уровень обороны. Но, конечно, всё следует тестировать, поскольку, ИИ иногда застревает, а иногда нет… Последнюю разметку, находящуюся за последним уровнем обороны, содержащую центральную площадь, нужно делать очень внимательно. Легче всего просто копировать её с ванильных вариантов.
Внимание! Даже малейшее изменение в поиске пути, может привести к изменению поведения ИИ! Так что имейте в виду, что после каждого изменения, вам следует тестировать поведение ИИ.
2 – Тестирование разметки вашего поселения
Вы должны всегда тестировать ваше поселение. Загружать его из главного меню в пользовательских битвах. Перед началом каждой битвы, делайте некоторые установки, поскольку ИИ всегда настроен на защиту любого поселения, а вам нужно, чтобы он атаковал.
Атакующий характер ИИ:
ИИ будет проламывать стены/ворота, входить в поселение, а затем пытаться захватить центральную площадь. Также он, возможно, будет разделять свои силы, некоторые отряды будут пытаться достичь площади окружными путём, используя боковые дороги, другие же, будут идти напрямую к площади. Все войска будут двигаться к центральной площади, если же этого не происходит, значит, ваша разметка работает не так как надо. Чем больше юнитов теряется в городе, и не участвуют в сражении, тем больше у вас неправильно работающих разметок. Разметка, при которой только один или два юнита застряли в пути, ничего не делая, считается хорошей, поскольку очень сложно создать идеальную разметку, и даже ванильная разметка не всегда хорошо работает.
Если ваши юниты бегут с поля боя, то они или вернутся обратно в бой, или же застрянут где-нибудь. Иногда случается такое, что юниты отступают или же стоят, ничего не предпринимая в нескольких метрах от площади. Это нормально, это прямо как в ванильном M2TW. Именно так и действует ИИ при атаке.
Обращайте внимание на то, что делают юниты. Иногда они запутываются, и могут ходить туда-сюда на небольшом участке местности, постоянно повторяя «вперёд!» или «двигаемся». Это пример неправильного поиска пути.
2.1 – Тестирование:
Внимание:
При всех тестах, описанных выше, вы должны выставлять атакующую армию ИИ полным стеком, а ваших защитников должно быть около 3 или 4 самых лучших юнитов, с самым лучших апгрейдом брони. Вы должны размещать их на центральной площади и держать их там, наблюдая за действиями ИИ. Опыт показывает, что именно это самый лучший способ тестирования.
Вам также следует проводить тестирование вашего макета поселения с различными составами войск у ИИ. Давайте ему тараны, осадные башни, затем пробуйте ставить войско, состоящее только из пехоты, затем в комбинации с лучниками, кавалерией и т.д. Также пробуйте убрать все осадное снаряжение, а оставить только осадные орудия (катапульты и т.п.), перепробуйте всё!
Основные проблемы ИИ:
- Заходит в поселение, и сразу же после стен начинает стоять и ничего не делать.
- пытается обойти поселение вне городских стен, но теряется на тактической карте
- атакует центральную площадь несколькими юнитами, но большинство бродят по поселению или вне городских стен.
Все эти проблемы поправимы и лечатся путём редактирования поиска пути и переноса на другое место центральной площади!
Установите скорость на 6х и дайте ИИ немного времени. Иногда он проводит перестроения и только потом атакует, так что наберитесь терпения.
В любом случае, если у вас возникли вышеперечисленные проблемы, значит, ваше поселение функционирует не правильно. Переделайте его.
ВАЖНО:
После каждой линии стен/ворот, следует вручную проверять поиск пути на предмет адекватного поведения ИИ при атаке.
Помните, что это делается для каждых ворот, поскольку у каждых ворот имеется своя разметка, так что если вы хотите иметь поселение с 4 воротами в первой линии стен, то вам следует отредактировать поиск пути и тестировать его путём атаки ИИ со всех 4-х направлений. Рекомендуется использовать ванильную разметку, а также ванильные стены/ворота, а самим редактировать только постройки… или же… приготовьтесь к тяжёлому труду.
Поселения без каких-либо стен/ворот функционируют прекрасно. Но заметьте, что ИИ всё равно будет пытаться окружить поселение и использовать боковые дороги для достижения центральной площади, даже если их и не существует! Блокировки местности в этом случае не достаточно, это значит, что если у вашего поселения будет только один вход, а центральная площадь будет на вершине холма, то ИИ будет пытаться окружить холм, чтобы достичь её… Поэтому вам надо будет отредактировать поиск пути, чтобы блокировать «лишнюю» местность.
БУДЬТЕ ОСТОРОЖНЫ ПРИ РАБОТЕ С ВЫСОТАМИ МЕСТНОСТИ! Если вы сделаете местность слишком низкой (непроходимой), то это может полностью повлиять на поиск пути и изменить поведение ИИ! ИИ может запутаться, при попытке расчёта своего движения на такой местности. Если вы хотите создать озёра, тогда опускайте местность ниже уровня воды, чтобы когда впадина будет наполнена водой, её уровень равнялся общему уровню местности. Всё что под водой сделайте непроходимым.
ОЧЕНЬ ВАЖНО:
У кавалерии есть проблемы с слишком узкими проходами поиска пути. Так что не делайте проходы слишком узкими, в противном случае кавалерия будет запутываться и не знать, что делать. У меня была подобная проблема, и я решил ее, увеличив проходы поиска пути. Поэтому при тестировании обязательно используйте кавалерию для проверки всех проходов на работоспособность. С другой стороны, пехота имеет проблемы со слишком широкими путями. Поэтому вы должны искать баланс при проектировании.
ИИ способен функционировать и с очень сложными поселениями, которые имеют 2 или 3 уровня стен/ворот. Они тащат тараны/лестницы даже по запутанным путям, чтобы достичь следующей линии оборонительных стен.
Катапульты и баллисты могут проходить через ворота, это значит, что если ваше поселение не имеет стен, ИИ может пробить ворота и протащить через них осадные орудия (пример, Мория - уникальное поселение в моде Third Age). Если ваше поселение имеет 2 или 3 линии стен, то ИИ, имея осадные орудия, также очень умён, и будет подводить осадные орудия к следующим стенам для штурма. Он способен обрабатывать очень сложную разметку, и адекватно ведёт себя, даже имея осадные орудия.
ТРЕБУШЕТЫ не могут проходить через ворота. Это значит, что например, их нельзя провести внутрь Мории. Но ИИ с помощью требушетов может пробить стены и протащить их через проломы, атакуя следующую оборонительную линию стен. С помощью требушетов ИИ будет крушить любую стену, пока не достигнет центральной площади. Если пояса оборонительных стен будут находиться близко друг к другу, то ИИ будет атаковать требушетами стены, даже не вводя их внутрь поселения. В этом случае они будут вести обстрел снаружи.
Не загораживайте стены большими объектами (столбами, домами, скалами), поскольку снаряды от требушетов не смогут пробить стену.
Требушеты, по-видимому, не способны, взаимодействовать со сложными путями, если ваше поселение будет иметь 2 или более линий стен/ворот, то они должны пролегать параллельно друг другу. Требушеты плохо взаимодействую с кривыми путями. Однако мне удалось довести требушеты до второго уровня из шести в Минас-Тирите (уникальное поселение в моде Third Age).
ЗАПОМНИТЕ:
Настоятельно рекомендуется повторять тесты с различными атакующими армиями ИИ, давая им, то больше войск, то меньше. Используйте только одну пехоту, в другой раз только кавалерию. Чем больше вы проведёте тестов, тем больше вы будете уверены, что ваша разметка поселения работает без сбоев.
На этом видео, показаны действия ИИ в моём уникальном поселении (Эсгарот - уникальное поселение в моде Third Age):
Ещё одно видео, показывающее поведение ИИ, в моей новой версии Минас-Тирите. (на видео не показано, но мои юниты достигли площади!)
Тестирование вылазки:
Для тестирования этого вида боя, загрузите ваше пользовательское поселение, и поставьте себя как атакующего, а ИИ в качестве защитника. Себе дайте один юнит, а ИИ полный стек. Когда начнётся битва, ИИ просчитает, что у него преимущество и начнёт вылазку. И теперь смотрите на его поведение. Если оно неправильное, то начинайте исправлять недочёты, как описано выше.
Если ваше поселение имеет оборонительную линию ворот/стен, то вылазка пройдёт без каких-либо проблем. Если же не имеет, то настоятельно рекомендуется скопировать разметку из ванильного поселения, не имеющего стен. Именно так, я сделал своё поселение Фарнгорн (уникальное поселение в моде Third Age), используя разметку ванильной деревни.
Важные замечания:
Помните, что 3D модель, которую вы будете использовать должна соответствовать типу поселения. Так что, если вы используете модель огромных стен (huge wall), то тип поселения должен быть огромным городом (huge city) соответственно, который, кстати, является единственным типом поселения, который использует огромные стены. В противном случае игровой движок создаст неподходящее осадное снаряжение (размер лестниц и осадных башен).
ВАЖНО:
PS: Если вы используете огромные стены в вашем поселении, но устанавливаете тип поселения, использующий большие стены «large walls» (например, large_castle), игровой движок создаст осадное снаряжение меньшего размера, чем это действительно будет необходимо для соответствия стенам. Тем не менее, осадное снаряжение будет работать исправно, даже анимация будет работать нормально. Разницы между высотой лестниц/башен и стен, не такая уж и большая, так что и смотрится это не так уж плохо! Я могу только повториться, что я не имею большого опыта в использовании разных размеров стен и поселений.
PS: Если вы планируете ваше поселение с воротами, но без стен (Мория, например), запомните, что в таком случае, в этом поселении не должно быть башен. Поскольку в таком поселении как это, единственным осадным снаряжением, которое может использоваться, является таран; а с очень сильными орудийными башнями, защитники будут быстро поджигать таран, выигрывая битву путём уничтожения только лишь осадного снаряжения. Вы должны также добавить сторожку (привратное укрепление) для ворот, как в ваниле.
Примечание: Если ваш макет поселения имеет больше, чем 1 оборонительный пояс стен/ворот, рекомендуется размещать второй уровень чуточку выше, чем первый (а 3-ий в свою очередь, чуть выше, чем второй). Это повторяет структуру поселений ванильного M2TW, и позволяет избежать катапультам и требушетам траты снарядов в пустую.
Мосты:
Они хорошо функционируют и не влияют плохо на поиск пути, если, конечно вы разместите их на правильной позиции. Доказательством тому может служить Барад-Дур (уникальное поселение в моде Third Age).
Внимание:
Когда планируете поселение, не делайте так, чтобы проломы и бреши в стенах/воротах были рядом с путями, ведущими из моста. Если есть мост, а за ним расположены ворота, как в поселении Барад-Дур, то между ними обязательно должно быть пространство, в противном случае, ИИ будет странно реагировать на это, атакуя с помощью таранов, это также будет мешать и игроку-человеку.
Также ИИ, по-видимому, не очень хорошо реагирует на мосты, находящиеся между воротами. Это значит, что если вы планируете своё поселение с 2 или более оборонительными уровнями стен/ворот, то лучше не размещать мосты между ними.
Интеграция вашего поселения на стратегическую карту
Когда ваше поселение находится в режиме тактической битвы, то местность вокруг него генерируется согласно данным стратегической карты.
Если на страткарте возле вашего поселения, на какой-либо из восьми окружающих его клеток отображена гора (смотрите рисунок ниже), то и на тактическом режиме она будет сгенерирована движком игры в той же позиции. Тоже самое и с реками, морями и пр. Также и с текстурами.
После завершения редактирования вашего поселения, вам необходимо отредактировать границы местности вашего поселения, чтобы они совпадали с окружающими его территориями (которые генерируются движком игры). В противном случае, это будет выглядеть очень странно и угловато. Это нудный процесс, и вам придётся провести много тестов и потратить уйму времени, чтобы всё отладить.
Имейте в виду, что рельеф страткарты, окружающий ваше поселение, будет в точности отображён при загрузке тактического режима. Тоже касается и армий вовлечённых в битву за это поселение. Когда битва загружена, всё отображается в точности также, как и на страткарте.
Например, Дунхарроу (уникальное поселение в моде Third Age) размещён на стракарте так, что если атакующий придёт с юга (из Гондора), то он появится за поселением, где отредактированная местность будет узкой лощиной между горами. Если же атакующий придёт с севера (из Рохана), то они появятся на зигзагообразной дороге, ведущей в поселение.
Появление армий в горах или реке может привести к их уничтожению или вылету игры.
Вы можете избежать этого, путём редактирования местности вашего поселения, с той целью, чтобы в тех местах, где должны будут появляться армии атакующих, никогда не было ни гор, ни рек. Можно также решить эту проблему путём редактирования поиска пути и местности на самой стракарте, так чтобы ни одна армия не могла подойти с определенного направления.
ПОМНИТЕ:
Во время тестирования вылазок из поселения или атак на поселение с различных направлений, помните, что армии атакующего будут появляться на расстоянии двух возможных дистанций относительно поселения. Если армия атакующего имеет при себе осадное снаряжение, то она появится в непосредственной близости от ворот поселения (или на определённой дистанции от зоны размещения обороняющегося, если у поселения нет ворот). Если же атакующий не имеет в войске осадного снаряжения, то они появится на границе карты, на гораздо более дальней дистанции от поселения. Вы должны убедиться, что оба момента появления функционируют нормально.
Позиция модели поселения на страткарте полностью изменяется по вашему желанию, и не имеет отношения к вектору вашего поселения на тактической карте. Так что вы можете вращать ваше поселение (IWTE справляется с этим легко) так, как вам будет нужно для отображения его на тактической карте (смотрите рисунок ниже).
Рисунок показывает два примера, о которых было рассказано выше:
- зелёный квадрат: местность тактической карты, сгенерированная игровым движком (на основе данных со страткарты)
- красный квадрат: пользовательское поселение (включающее местность, отредактированную вами в IWTE)
В этом случае, атакующие армии с клеток 1 и 2 будут появляться на реке и в горах, что приведёт к вылету или же их смерти. Армии атакующие с клеток 3 и 4 будут функционировать нормально.
Надписи на рисунке (нижняя часть):
- зелёный квадрат: местность тактической карты, сгенерированная игровым движком (на основе данных со страткарты)
- красный квадрат: пользовательское поселение (включающее местность, отредактированную вами в IWTE)
После внедрения вашего поселения на страткарту, оно может появляться в таком положении, как показано на картинке, не совпадая с той позицией, какая вам необходима. Всё что вам нужно сделать, это повернуть его с помощью IWTE.
Внимание:
Вращение вашего поселения может (весьма вероятно) утратить все проломы для ваших ворот/стен, а также пути для мостов, включая странные баги, когда юниты скапливаются как в горлышке бутылки. Удалите все старые бреши и создайте новые, уже после вращения.
Интеграция вашего поселения с водой на стракарте
Как уже было сказано, вы можете редактировать вашу местность так, что можно интегрировать её с водной поверхностью, сгенерированную движком игры, и вода будет не просто окружать ваше поселение, но может и проходить сквозь него. Всё что вам нужно сделать, это отредактировать высоты местности. Водная гладь морей и озёр простирается на «бесконечно» больше расстояние по всей карте. Вы можете видеть воду возле вашего поселения, но водная гладь в этой местности, только лежит под ней, она как бы скрытая. Отредактируйте местность, понизив её уровень, и вода автоматически станет видна на тактической карте. Именно таким путём и сделан Эсгарот (уникальное поселение в моде Third Age). Я не добавлял, какую либо водную поверхность в IWTE (что, кстати, можно). Вода, которую вы видите там, на самом деле вода из озера Эсгарот, сгенерированная движком игры на тактической карте.
Советы и хитрости
Невидимые ворота – если у вашего поселения есть только одни ворота (в первой оборонительной линии стен/ворот), тогда атакующий будет постоянно появляться перед этими воротами, и не важно, с какого направления на страткарте он пришёл. Но если вы хотите, чтобы атакующий появлялся с других сторон, но при этом, оставив в поселении всего одни ворота, вы просто можете добавить в поселение новые ворота с нужной стороны, но с невидимыми текстурами. Поместите какие-нибудь здания повыше невидимых ворот, вроде скалы и вроде этого, заблокируйте поиск пути к этим воротам и оставьте поиск пути свободным для ИИ вокруг ворот. Теперь враг будет появляться перед невидимыми воротами. Именно так я сделал Чёрные врата (уникальное поселение в моде Third Age), юниты приходящие со стороны Мордора, теперь появляются за Чёрными вратами, без препятствий между ними и центральной площадью!
Доступ к воротам - Не слишком углубляйте ваши ворота в здание сторожки! В противном случае, снаряды от катапульт и пр. будут попадать в сторожку, а не в ворота, и атакующему может просто не хватить снарядов для разрушения ворот. Так же помните, не помещайте никаких преград прямо перед воротами. В Барад-Дуре, например, есть некоторые преграды, которые могут помещать снарядам достичь ворот, но у этих объектов отсутствует коллизия, так что снаряды просто проходят сквозь эти объекты и летят напрямую в ворота.
Известные баги движка M2TW
Если в поселении с 3 оборонительными линиями стен и ворот (3 периметрами), вы сделаете так, что ваш юнит покинет периметр (пошлёте его за стены) и внутри больше никого не останется, то после прохождения ворот они больше не закроются. Имейте в виду.
Сообщение отредактировал Master_TW_DAR: 27 июля 2014 - 20:22
- 0
#3 Master_TW_DAR
Отправлено 01 июля 2014 - 15:00
Базовый туториал по созданию уникального поселения
Оглавление
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», удалите всё за исключением одной стены, которую вы хотите использовать в дальнейшем.
ЕСЛИ вы хотите проделать небольшие изменения с различными уровнями разрушения части стен (например, изменение зубчатой стены), то сделайте это сейчас.
- Сохраните изолированную часть стены и держите этот файл как заготовку для новых стен, которые вы будете создавать. Если вам нужно дублирование этой базовой стены, то используйте опцию соединения («merge») в Milkshape, чтобы импортировать эту часть базовой стены, а не просто дублировать её вместе с опцией Milkshape!
Примечание:
- вы можете удивиться, почему вам следует соединять часть стен в Milkshape, а не просто дублировать её с Milkshape; просто потому, что когда вы дублируете все 6 под-групп одной части стены, это будет примерно на 1/3 полигонов больше, нежели, когда вы просто будете соединять вашу сохранённую часть стены в вашем .ms3d файле. Неизвестно, почему так получается, но эта процедура сэкономит вам много полигонов.
- теоретически, вы также можете моделировать стену и все 6 уровней с нуля, но тогда не будет места анимации для них, и уровни повреждений, вероятно, будет очень сложно сделать, поэтому рекомендуется использовать оригинальную часть стены и работать с ней.
- также не рекомендуется делать большие изменения в частях стен, поскольку анимация не точно подходит к ним, или вам придётся не использовать анимацию вовсе.
Ворота («Gates»)
Модель ворот не должна изменяться, поскольку ворота являются единственным объектом, который должен иметь анимацию, в противном случае они не будут работать. Тем не менее, вы можете использовать любые другие ворота из любых других поселений, например, вы можете использовать решётку из замка для вставки её в городские ворота. Они не должны мешать осадным орудиям и IWTE позволяет вам выбрать любую анимацию из оригинальных файлов поселений.
Как и со стенами, я бы рекомендовал загружать оригинальные ворота и изолировать их:
- откройте ваше базовое поселение с помощью IWTE и пропишите любую структуру, которая включает ворота в ms3d.
- откройте структуру в Milkshape и удалите всё за исключением ворот.
Деревянные ворота в Milkshape:
Надписи на скриншоте:
- Примечание: это ворота североевропейского большого города
- Ворота (3 подгруппы)
Сторожка («Gate Houses»)
Сторожка является относительно несложным элементом, поскольку она не использует анимацию для уровней повреждений, так что вы можете использовать или оригинальную, редактировать существующую или же создать совершенно новую.
Надписи на скриншоте:
- Примечание: эта сторожка североевропейского большого города
- Сторожка (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)) В этом нет необходимости и такое это не всегда возможно, но это может привести к чуть более точному поиску путей для важных или узких проходов.
Каменные стены также могут прекрасно соответствовать местности:
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')
Например:
A00_g0 (объект по умолчанию с 1 уровнем повреждения)
A01_g0 (ворота с 3 уровнями повреждений)
A01_g1
A01_g2
A02_g0 (объект по умолчанию с 2 уровнями повреждений)
A02_g1
A03_g0 (стена с 6 уровнями повреждений)
A03_g1
A03_g2
A03_g3
A03_g4
A03_g5
A04_g0 (башня с 2 уровнями повреждений)
A04_g1
A05_g0 (1-ый дубликат башни)
A05_g1
A06_g0 (2-ой дубликат башни)
A06_g1
….....
Прочее:
- файлы .ms3d могут быть названы как угодно
- группы и модели не должны иметь никаких комментариев в Milkshape
- все группы в Milkshape должны быть приписаны к 'Material0' (не знаю, так ли это необходимо, но это работает)
3) IWTE
После того, как вы завершили работу с местностью и поселением в Milkshape, пришло время работы над вашим поселением в 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 в папку вашего мода.
Самый подробный туториал для начинающих
Оглавление 1-ой части
Введение
Инструменты
Распаковка Medieval II Total War
Создание резервных файлов и методология работы
Презентация IWTE:
- Файлы игрового мира («Worldfiles»)
- Виды ("Views")
- Текстуры ("Textures")
- Коллизия/анимация ("Collision/Anim")
- Игровые объекты ("Gameobjects")
- Основные объекты ("Mainobjects")
- Пути ("paths")
- Местность1 ("Terrain1")
- Растительность («Veg»)
Введение
Для начала, скажем несколько слов о необходимых программах, и рабочей методологии.
Рабочие инструменты
Для работы в IWTE, вам понадобятся несколько инструментов необходимых для работы. Все программы лежат в соседней теме
1) Инструментарий IWTE
2) Туториал King-Kong
3) Milkshape3D
4) The GIMP
5) Texture2DDS
Примечание: если игра будет вылетать прочтите главу по ошибкам в туторе Кинг-Конга.
1-ый шаг: Распаковка M2TW
Итак, первым делом вам придётся распаковать файлы M2TW, используйте распаковщик ("unpacker"), который лежит в этой папке: SEGA\Medieval II Total War\tools\unpacker
Возможные ошибки:
В том случае, если у вас появляются ошибки, связанные с файлами msvcp71.dll и msvcr71.dll, то вы можете скачать их отсюда: www.dll-files.com
Поместите их согласно инструкции, которая есть здесь: ]]>http://www.dllfiles....s.shtml?msvcr71]]>
Извлеките их в любое место на вашем компьютере. Рекомендуется извлекать их сразу в директорию той программы, которая их запрашивает.
Если это не поможет, то вам следует извлечь их в вашу системную директорию. По умолчанию она здесь:
C:\Windows\System (Windows 95/98/Me)
C:\WINNT\System32 (Windows NT/2000)
C:\Windows\System32 (Windows XP, Vista, 7)
Если вы используете 64-битную версию Windows, то вам следует разместить эти файла также и в C:\Windows\SysWOW64\
Убедитесь, что вы перезаписываете старые файлы (но на всякий случай сделайте резервные копии)
Перезагрузите ваш компьютер.
Если проблема всё ещё продолжает появляться, то попробуйте следующее:
Пуск – Выполнить… введите команду смd и нажмите Ввод. (если у вас стоит Windows ME, команда COMMAND)
Введите regsvr32 msvcr71.dll и нажмите "Ввод".
Кликните на файле unpack_all.bat, который лежит здесь: SEGA\Medieval II Total War\tools\unpacker и пусть он начнёт распаковку. Появится окно командной строки (маленькое чёрное с белым письмом) и весь процесс распаковки займёт пару минут.
Резервное копирование и методология работы
Первый совет о том, как вести работу с различными папками. Это отработанная техника, которая очень хорошо зарекомендовала себя. Если хотите, попробуйте, или же нет!
- Создайте один резервный файл со всеми ванильными поселениями (к примеру , в Documents/IWTE)
Больше не трогайте эту папку, пока вы не захотите отменить все изменения и вернуться обратно к оригиналу.
- Создайте вторую папку в Documents/IWTE/modded_settlements, в которой вы будете работать всё время.
Скопируйте базовое поселение, которое вы будете модифицировать в эту папку (к примеру, из папки north_european/village)
Все файлы, которые будут нужны ITWE для работы, будут браться из этой папки (за исключением текстур)
Рисунок №1: Ваши рабочие папки
Каждый раз, когда вы что-то измените, вам нужно будет это оттестировать в игре, поэтому копируйте и вставляйте модифицированные файлы в соответствующую папку (в нашем случае это data/settlements/north_european/settlements/village)
Пример: если я хочу протестировать мою новую местность terrain IG, то я беру модифицированный файл .worldterrain из моей папки moded_settlement, копирую его, затем, из папки поселений в M2TW удаляю оригинальный файл .worldterrain, и на место удалённого вставляю свой, последнее что требуется сделать, это переименовать его (в моём случае это, “north_european_village_a” ( в конце .worldterrain не ставится))
Теперь вы готовы к тесту!
Когда же, наконец, вы будете удовлетворены результатом модификации, и оттестируете её в игре и больше не захотите в ней ничего менять, то вы можете создать папку в Documents/good_settlements, куда вы будете складывать готовые измененные поселения из папки data/settlements/…
В нашем случае, я копирую файлы из data/settlements/north_european/settlements/village в папку good_settlements, где будут лежать все мои готовые поселения, которые полностью завершены, и там они будут лежать и не мешать мне во время дальнейшей работы.
Эта методология может показаться слишком перестраховочной, но она отлично себя зарекомендовала, и как только я привык этой методике, и работе с инструментарием, на исправление ошибок стало уходить немного времени.
Краткая презентация IWTE
Основной интерфейс:
- во вкладке WORLDFILES вы загружаете свой мир, то есть все те файлы, относящиеся к 3D моделям и их свойствам (стены, постройки по умолчанию, анимация, коллизия и т.д.)
- во вкладке VIEWS отображаются все модели и свойства загруженные из worldfiles. Попробую объяснить это более детально, поскольку эту часть больше не будет предметом обсуждения.
Обратите внимание на два пункта снизу View object Last group и show 3D windows. Первый даст команду инструментарию показать «окончательно уничтоженные» версии моделей, которые у него есть, в то время как второй пункт загружает в отдельном окне, 3D изображение того, что вы выбрали, кликая по кнопкам «view».
Первая колонка показывает основные MS3D модели в 2D окне. Любой элемент, добавленный в ваш мир, будет здесь отображён.
Вторая колонка отображает элементы взаимодействующие с коллизией: элементы без коллизии не будут отображаться.
В третьей колонке вы можете создавать TGA файлы, отображающие все ваши 3D модели, как в 2D окне, для сопоставления с соответствующими TGA файлами (veg4 или pathfinding во вкладке terrain 2, но об этом позже)
Четвёртая колонка показывает:
* Таблицу блоков для комплексов (мало знаю как это использовать)
* Зону развертывания поселения
Последняя колонка концентрируется на свойствах элементов мира.
- вкладка STRUCTURE позволяет добавлять вам MS3D модели в ваш мир.
- вкладка TEXTURE позволяет добавлять/редактировать вам текстуры.
- вкладка COLLISION/ANIM используется для назначения/удаления/редактирования уже существующих/новых коллизий к объектам, тоже самое и с анимацией.
Кнопка Edit animation TGA paths используется, если, например, вы изменили ванильную текстуру двери, сохраняя при этом её модель для её анимации. Она должна быть точно определена в анимации, в противном случае во время фазы анимации модель двери будет использовать ванильную текстуру.
- вкладка GAMEOBJECTS – здесь всё довольно понятно и разделено между опциями:
* опции Plaza и deployment очень легко менять.
* опции Roadmarkers используются ИИ
* techtree опция используется для того, чтобы добавлять в поселение ту постройку, которую уже построил в режиме страткарты (например, церковь в ваниле: пока вы её не построите, там будет пустое поле, а после постройки она появится внутри поселения на этом месте)
* опция Perimeter это периметр стен: максимальное число периметров 3, зависит от уровня вашего поселения.
- вкладку MAINOBJECTS вы будете использовать при определении свойств ваших 3D моделей: если это будет стена, то можно будет редактировать некоторые из них, которые автоматически будут добавляться при назначении коллизии или анимации.
- вкладка PATHS относится ко всему, что касается «зоны развертывания», это значит все специальные структуры, которые являются «проходимыми». С помощью этой вкладки можно делать стены проходимыми, а также любой элемент, имеющий поверхность по которой могут проходить солдаты.
В этой же вкладке опция Defense points, это для ИИ, чтобы знал, где отбиваться от атакующего.
- вкладка TERRAIN1 будет использоваться для редактирования файлов .worldterrain, это файлы местности, на которой будет расположено ваше поселение.
Там две опции:
* show triangles (показывать треугольники местности в 2D виде)
* include in 3D view – когда работаете во вкладке View просматривая ваш мир (там также должна стоять галочка в пункте show 3D windows), то эта опция показывает местность в 3D виде.
- вкладка TERRAIN2 используется для редактирования всех оставшихся файлов, относящихся к местности: растительность («vegetation») и поиск пути («pathfinding»). TGA (Create Veg Group 4 TGA, Create Pathfinding TGA2) также связаны с TGA файлами, которые вы можете создать во вкладке Views.
- вкладка SPECIALS объединяет… специальные функции, не относящиеся к базовым, но действительно полезные при создании нового поселения с нуля.
- вкладка VEG позволяет редактировать модели растительности на тактической карте в зависимости от климата. Также содержит генератор спрайтов, хотя, кажется, он всё ещё в процессе отладки.
Теперь взглянем на оставшиеся вкладки:
Рисунок №14: Боковая панель интерфейса
- 2D View Window, здесь все 2D изображения. Также это используется при редактировании файлов “в 2D окне”.
- окно objects объединяет все элементы мира, за исключением MS3D групп: один объект может иметь несколько групп: каждая группа - это повреждение постройки.
- окно Structures отображает все MS3D файлы
- окно Complex объединяет определённое количество структур
Во второй части будет подробней рассказано о вкладке Terrain1: где находятся все средства для редактирования местности вашего поселения. Как только это будет сделано, вы сможете строить ваши структуры в MS3D и внедрять дефолтные структуры в ваш мир, (также будет рассказано о том, как осуществлять дизайн текстур и построек в MS3D, чтобы иметь оптимальное число полигонов и т.д.), затем я объясню как добавлять специальные объекты: стены, двери и т.д… с анимацией и соответствующими свойствами. Далее я расскажу о файлах поиска пути и растительности, и наконец…. Расскажу обо всём, что я забыл в основном повествовании.
Самый подробный туториал для начинающих
Редактирование местности
- Редактирование местности с помощью IWTE
- Редактирование высоты местности с помощью IWTE
- Редактирование местности с помощью Milkshape
- Редактирование местности с помощью TGA
* Этап IWTE
* Этап GIMP
Совмещение местности с тактической картой
- Использование метода изменения размера worldterrain
- Использование метода изменения mergeterrain.tga
Тестирование вашей местности
- Метод Barebones
- Метод Retrofit
- Метод Vanilla
Итоги вашего теста местности
Редактирование местности
Существует три способа редактирования местности. Местность «terrain» - это просто ландшафт, на котором будет создаваться ваше поселение.
Редактирование местности с помощью IWTE
Эта глава интересна, в случае если вы хотите изменить ширину и длину вашей местности. Также я здесь объясню использование “merge distances”.
Вначале перейдите во вкладку Terrain 1 >> затем Resize .worldterrain и выберите местность, которую вы хотите редактировать (в нашем случае это north_european_village_a)
Рисунок №1: Изменение размера .worldterrain
Далее вы увидите следующее:
Рисунок №2: Опции изменения размера
- Size value X и Y (далее Y, когда речь пойдёт о Milkshape3D, именуется как Z) могут быть довольно высокими, но вы должны выставлять нечётные значения. Модели размерами до 181*181 могут нормально конвертироваться в MS3D-файл (лимит вертексов/треугольников). Если вы хотите создать модель ещё больше, то вам придётся пользоваться только инструментом IWTE или же методом TGA.
- о Merge Distances поговорим чуть позже
Как только вы установили размер вашей будущей местности, кликните «ОК». После этого IWTE начнёт изменение размера, после окончания процедуры в папке появится новый изменённый файл местности:
Рисунок №3: Изменённый файл .worldterrain
Как только вы закончите редактирование высоты и ширины, вам необходимо будет изменить размер в файлах .worldpathfinding и .worldvegetation. Чтобы сделать это, просто перейдите в Terrain1 >> Resize .worldpathfinding, выберите соответствующий файл и введите те же значения, которые вы ввели в поле Size Value. Кликните «ОК», и проделайте эти же действия с Resize .worldvegetation.
Рисунок №4: Изменение размера файлов .worldpathfinding и .worldvegetation
1) Теперь вы можете делать это прямо в IWTE, выбрав Terrain1 >> Amend terrain in 2D window. Этот метод очень утомительный и используется только при очень детальном редактировании, так что мы не будем говорить о нём.
2) Также вы можете свободно редактировать высоту в Milkshape3D, с условием, что если размер позволяет. Чтобы сделать это, просто следуйте указаниям с вашим изменённым файлом .worldterrain в главе, которая следует ниже «Редактирование местности с помощью Milkshape3D».
Это очень удобно при адаптации вашего поселения к местности или же, наоборот, местности к поселению.
3) Или же вы можете редактировать местность с помощью TGA метода, лучшим на мой взгляд.
Остановимся на каждом способе подробнее.
Редактирование высоты местности в IWTE
Выберите нужный вам файл местности, который вы хотите отредактировать, затем появится окно, где введите имя нового файла, который появится в результате изменения. Далее вы увидите окно, как на картинке ниже. Ваша местность также будет загружена в окно 2D вида. Теперь вы можете выбирать каждую вершину и очень точно её редактировать, единственным минусом является то, что это очень утомительно.
Рисунок №5: Редактирование высоты местности в 2D окне
Редактирование местности в Milkshape 3D
Запустите IWTE, перейдите в Terrain1 >> Create Terrain.ms3d и найдите нужный вам файл. В нашем случае, я хочу создать деревню, относящуюся к north_european culture (североевропейской культуре).
После того, как вы выберите какое поселение, который вы хотите редактировать, в той же папке будет создан MS3D файл (см. Рис.№6).
Рисунок №6: Генерирование файла местности MS3D
Если вы хотите отредактировать высоту и ширину (как я уже выше упоминал, Y в Milkshape - это Z) модели, то вы сможете сделать эту процедуру только в IWTE, поэтому делайте это там, перед тем как конвертировать в MS3D формат (как это сделать объяснялось выше: см. resize .worldterrain «Редактирование местности в IWTE»). В Milkshape 3D это сделать невозможно.
Milkshape 3D может быть использован только для редактирования высоты местности (Y-ось).
Высота местности также может быть отредактирована и в IWTE, как уже было описано выше.
Рисунок №7: Сгенерированный MS3D файл
Примечание: Далее будут использоваться размеры, как показано в Milkshape 3D, Х – жёлтый, Y – синий, Z – красный
Как уже было сказано раньше, в Milkshape 3D можно редактировать MS3D файл только по Y-оси!
Так что, если вы хотите передвинуть вершины по вертикали, убедитесь, что у вас выбрана ось Y, а оси Z и X не выбраны. Как показано на рис. №8
Рисунок №8: Перемещение по Y-оси
Рисунок №9: Зеркальное отражение местности
Как только вы откроете файл, первым делом, что необходимо сделать это зайти в меню Vertex и выбрать команду mirror left <-->right (Зеркально отразить), как показано выше на рис. №9
В том случае, если вы случайно не выбрали модель, перед отражением, снова выберите её, нажатием Ctrl + A (выбрать всё). Вся структура должна стать красной: результат может разниться в зависимости от того какую часть вы выбрали: если вместе гранями, то модель будет полностью зеркально отражена, в то время, если только вершины, то результат будет перевёрнутым.
Примечание: Вершины («Vertexes») являются точками, а грани являются треугольниками («triangles») уже включающими точки.
Теперь вы можете начать двигать вершины, так как хотите. Убедитесь, что не удалите чего-нибудь!
После окончания редактирования вашего MS3D файла зеркально отразите его снова слева направо и сохранитесь.
Далее запустите IWTE и выберите:
Рисунок №10: Генерирование .worldterrain из MS3D файла
Сначала IWTE спросит, какой файл вы хотите заменить. Это должен быть файл того же размера, что и MS3D файл местности, так что лучше взять тот, с которого вы сгенерировали свой MS3D файл местности. Также, если вы удалили некоторые вершины в MS3D файле, то он не будет работать.
Как только вы выберите правильный файл, вам будет необходимо выбрать для работы IWTE также и соответствующий MS3D файл. Затем будут сгенерирован файл .worldterrain, названный в нашем случае так: north_european_village_a_ms3d.worldterrain.
Редактирование местности методом TGA (изображения)
Это самый простой путь создания безупречной местности, детализированной и гладкой. Мы подробно остановимся на этом, дав базовые навыки по работе с инструментарием GIMP, который понадобится для редактирования необходимых файлов.
Конечно, как только это будет сделано, возможно, опять отредактировать местность в MS3D, если вам понадобится адаптировать местность к структуре.
Этап IWTE
Рисунок №11: Создание TGA местности
У вас выйдет следующий экран:
Рисунок №12: Опции создания TGA
Обратите внимание на примечание в начале, что: параметры экспорта и импорта должны быть идентичными!
- GSP (Greyscale Control Point) – это цветовой параметр некоторого образца высоты. С этого момента всё основывается на GSP.
Рисунок №13: Определение GSP
- высота, связанная с этим образцом цвета является высотой связанной с GCP («Height Assigned to GCP»). Здесь, в игре, 150; 150; 150 RGB цвет привязан к средней высоте на дефолтной тактической карте, на которой будет располагаться поселение.
- increment («увеличение») является шагом в изменении высоты: например, если средняя высота равна 150, то добавление с помощью RGB (red/green/blue) значения 153; 153; 153, это значит, что мы добавили 1 шаг (по умолчанию 1 шаг равен 3).
Это значит, что если вы установите 0; 0; 0; GCP, то вы не сможете больше «копать» местность. А если вы установите GCP 255; 255; 255, тогда вы достигнете потолка и уже не сможете сделать местность выше.
Также чем выше шаг увеличения, тем менее гладкой она будет (резкие перепады высоты), но вы сможете делать высокие горы, если шаг увеличения очень низкий (равен 1), то поверхность будет более гладкой, высота будет меняться плавно, тем самым ваша гора будет выглядеть более пологой, и похожа, скорее на холм.
В качестве средней высоты, я выставляю в GCP 100; 100; 100, высоту, привязанную к GCP («Height Assigned to GCP») оставляю равной 0, а шаг увеличения «increment» равным 3.
Как только вы установите параметры кликните «ОК».
Рисунок №14: Сгенерированные TGA файлы
В результате будет создано три нужных TGA файла:
* north_european_village_a_wtmerge
* north_european_village_a_wtbase
* north_european_village_a_wtbattlemerge
Примечание: У автора была старая версия IWTE, поэтому было сгенерировано 2 файла, в последней версии IWTE генерируется 3 файла (новый файл _wtbattlemerge)
Файл, оканчивающийся на a_wtbase – это тот файл, который выступает в качестве основы для вашего поселения. В то время как файл «merge» играет роль буфера между вашей местностью и общей местностью, на которую позже она будет добавлена (например, в пользовательских битвах на шотландском нагорье «scottish highlands», файл a_wtbase будет местностью вашего поселения, а файл a_wtmerge будет сливать местность файла a_wtbase с местностью scottish_hignhland).
Теперь, когда нужные TGA файлы сгенерированы, откройте файл a_wtbase с помощью GIMP.
Этап GIMP
Рисунок №15: Открываем wtbase.tga
В основном вы будете использовать три инструмента: карандаш, размытие и размазывания (см. Рис. №16).
Рисунок №16: Окно инструментов GIMP
- «карандаш» будет использоваться для определения плоских зон или образцов высоты.
- инструмент «размазывание» используется для создания переходов между цветами, и сделать эти переходы более гладкими.
- инструмент «размытие» полезен при создании скал, делая их более пологими, чтобы они были не слишком вертикальными, но и не слишком уж плоскими, как холмы. В этих целях лучше установить в опции инструмента коэффициент равным 100% (см. Рис. №17).
Рисунок №17: % коэффициента размытия
Как только вы откроете TGA файл, у вас будет, что-то вроде этого:
Рисунок №18: Пример файла wtbase.tga в GIMP
Как видно из рисунка, местность в правом верхнем углу представляет собой скалу, обращённую на юг. Мы попробуем воспроизвести её в правом нижнем углу, с помощью тех инструментов, о которых было рассказано выше.
Для начала возьмите инструмент «карандаш» и установите тот цвет, который хотите. Здесь я возьму такой образец цвета, чтобы знать среднюю высоту. Чтобы сделать это, просто ткните на светло-сером месте карандашом, удерживая Left-Ctrl. В результате у вас в настройках выставятся параметры того цвета, который был у того пикселя по которому вы щёлкнули.
Рисунок №19: Определение цветовых параметров пикселя
Рисунок №20: Образец цвета
Теперь у вас есть параметры средней высоты местности. Теперь установите параметры в настройках, какие вам нужны, затем нарисуйте линию этим новым цветом как на рис. №21 (убедитесь, что у вас выставлена правильная кисть, см. рис. №22).
Рисунок №21: Линия карандаша
Рисунок №22: Опции кисти карандаша
Затем выберите инструмент «Размытие» (установите коэффициент размытия равным 100%), установите размер кисти в диапазоне от 4 до 8, затем с помощью инструмента размойте верхнюю сторону вашей линии, как показано на рис. №23:
Рисунок №23: Размытая линия
Как только это будет сделано, выберите инструмент «Размазывание» и зажав кнопку мыши размажьте нижнюю часть нарисованной линии, чтобы создался плавный переход, как на рис. №24. Можете менять коэффициент в параметрах размазывания. В результате объединения действия двух инструментов мы получили хороший результат.
Рисунок №24: Размазанная линия
Обратите внимание, что изображение вокруг прозрачное. Это гарантирует плавный переход от местности поселения к местности тактической карты. Так что, если вы удалили прозрачность при редактировании местности, то это окажет влияние во время процесса слияния местности.
Когда ваша местность будет готова, чтобы сохранить файл, откройте меню File >> export >> [название редактируемого файла] >> export >>replace, а затем в появившемся небольшом окне снимите галочку с пункта “compress file”.
Как только вы сделаете это, перейдите в IWTE и нажмите replace with terrain TGA, затем выберите файл, из которого вы сгенерировали TGA (оригинальный файл должен иметь тот же размер местности, что и TGA). После этого выберите соответствующий TGA файл (в нашем случае это (north_european_village_a_resized_wtbase.tga). См. рис.№25
http://i.imgur.com/4rJOKrc.jpg
Рисунок №25: Замена TGA файла на файл .worldterrain
Убедитесь, что во время экспорта TGA, значения GCP, «assigned height» и «increments per height» не изменились. Кликните «ОК». Сгенерированный файл будет иметь следующее название [название файла]_wtnewtga.
Вы можете просматривать сгенерированный файл местности, поставив галочку в пункте "include in 3D view", "Read worldTerrainFile" (выберите ваш сгенерированный файл) и "view Terrain in 2D Window". См. Рис. №26
http://i.imgur.com/HUPh6qr.jpg
Рисунок №26: Просмотр новой местности в 3D окне
Cоединение местности с тактической картой
Местность вашего поселения очень специфична. В самом деле, при загрузке осады (или любой битвы с поселением или постройками), игра работает по следующей схеме:
Она загружает тактическую карту, сгенерированную из клетки со страткарты, независимо от того, есть ли там поселением или нет. Затем она переходит к соответствующему файлу поселения, и начинает загружать мир: местность, структуры и т.д… так что, местность поселения устанавливается на тактическую карту. Отсюда необходимость для плавного слияния местности поселения и местности тактической карты.
Чтобы осуществить это слияние есть два пути: первый, базовый является самым лёгким:
- Использование изменения размера WORLDTERRAIN
Дистанция слияния («merge distance») – это число квадратов на вашей местности, которые будут использоваться для слияния с окружающей местностью (окружающая местность, это, например, scottish_highlands из прошлого примера).
Посмотрите на картинку:
http://i.imgur.com/5Lp57hL.jpg
Рисунок №27: Пример слияния №1
Здесь, часть вашей тактической карты, находящейся в белой зоне, будет отображаться нормально, но в красной зоне все её части будут сглажены. Проблема в том, что небольшая гора не будет видна в игре.
Выберите “Resize .worldterrain” и загрузите ваш отредактированный файл .worldterrain. У вас появится окно, как на рисунке №28. Проверьте пункт «Apply» и измените значения на нужные вам.
http://i.imgur.com/H286Sz6.jpg
Рисунок №28: Изменение дистанции слияния
Если вы введёте число большее (>20), то у вас получится более плавный переход между окружающей местностью и вашей центральной отредактированной местностью, но он повлияет на высоты, находящиеся в белой зоне от границ вашей карты (т.к. дистанция слияния устанавливается за счёт вашей местности!).
http://i.imgur.com/6J31be5.jpg
Рисунок №29: Пример слияния №2
Все высоты, находящиеся в красной зоне будут потеряны, и всё будет немного квадратным.
Если вы введёте число меньше (<20), например, 1, то у вас получится резкий переход: по краям вашей отредактированной местности у вас будут крутые скалы, но внутри, ваша местность не будет затронута и все высоты должны отображаться правильно. Поэтому необходимо учитывать этот аспект.
Использование MERGETERRAIN.TGA
Второй метод является изменением файла mergeterrain.tga. Этот способ является более точным. Вы можете очень точно соединять местности с каждой стороны, вплоть до каждого пикселя.
Когда вы откроете его, вы увидите, что выполнять слияние очень просто. Изменяя серый оттенок, вы можете сделать местность менее зависимой от влияния окружающей местности тактической карты или наоборот, сделать её более подверженной влиянию окружающей местности, сделав более гладкий переход.
Так же, этот метод можно использовать для определения специфичных зон местности, которые вы хотели бы выделить и которые расположены по краям вашей местности.
В случае, если пиксель будет белый (255;255;255), то местность поселения останется нетронутой окружающей местностью, в то время как в случае, если пиксель будет чёрный (0;0;0), то соответствующая вершина из окружающей местности появится полностью неизменённой на местности поселения.
Если ваш файл mergeterrain.tga полностью чёрный, то местность поселения вообще не отобразится (поскольку она будет замещена окружающей местностью), а если он полностью белый, то по краям местности поселения, где она соединяется с окружающей местностью, будут отвесные скалы.
Как только вы закончите, выполните следующие действия: кликните на replace with merge tga и выберите последний файл местности, а также соответствующий файл terrainmerge.tga.
Тестирование вашей местности
После многих тестов, на разных компьютерах у разных людей, можно смело сказать, что есть много способов заставить работать, ровно как и загубить вашу папку игры. Поэтому сделайте резервную копию игры! Рекомендуется сперва использовать методы retrofit и barebones.
Метод barebones
Сначала загрузите мод barebones отсюда:
]]>http://www.twcenter....p...ile&id=1615]]>
Распакуйте архив и скопируйте следующие файлы.
http://i.imgur.com/edqhARx.jpg
Рисунок №30: Папка barebones
Закиньте их в папку Medieval 2, переписав, если будет необходимо. Запустите Barebones_cfgfixer
Скопируйте папку поселения из вашей рабочей папки модифицированных поселений, и вставьте её по этому адресу: D:\SEGA\Medieval II Total War\mods\barebones\data
Затем вставьте отредактированные файлы в соответствующую папку в папке barebones.
Запустите Barebones.bat, а затем запустите пользовательскую битву. Убедитесь, что вы выбрали соответствующую культуру и уровень поселения!
Метод RETROFIT
Все те же действия, что и в методе barebones, за исключением шага с cfgfixer.
Ванильный метод
Просто вставьте ваши файлы в data/settlelements/…(ваше модифицированное поселение)
Т.е.:Я копирую файлы north_european_village_resized_ms3d_a worldterrain из IWTE/modded_settlements/north_european/settlements/village в data/settlements/north_european/settlements/village
удалите существующий .worldterrain, вставьте новый и переименуйте его в north_european_village_a
Этот метод прекрасно работает, просто убедитесь, что все необходимые файлы лежат на месте, в папке поселения: .world, .worldterrain, .worldvegetation, .worldpathfinding, .worldcollision, .wordldpkgdesc, .animinstances, а также папка map.
Для теста, просто измените .worldterrain, у вас не должно быть вылетов.
Подведение итогов вашего теста местности
Итак, вы проделали большой шаг в деле редактирования мира в Medieval 2 Total War! Ваш ландшафт отредактирован и установлен, теперь вам нужно создать целый город… До этого всё это были цветочки, лёгкая часть. Впереди самое интересное.
Вы наверняка заметили некоторые странные вещи во время тестирования вашей местности:
Большинство построек как бы парят над землёй, или, наоборот, под ней. Мы рассмотрим этот момент позже (как менять высоту зданий и их позицию на карте).
Вы также наверно заметили, что если вы изменили высоты по краям местности вашей тактической карты, то они могут быть искажены или даже полностью сглажены. Теперь помните, когда я рассказывал вам о дистанции слияния? Вот, это оно.
Некоторые постройки могут изменять вашу местность: это постройки из технологических древ, они добавляются поверх вашего поселения, точь-в-точь, как поселение добавляется поверх окружающей местности. Как их убирать мы разберём в третьей части.
Самый подробный туториал для начинающих
Туториал MS3D building
- Концепция создания текстур
- Концепция создания моделей в MS3D
- Адаптация вашей структуры к местности
Подготовка вашего world файла
- Загрузка вашего world файла в IWTE
- Понимание world файла
- Удаление всех технологических древ
- Удаление всех ненужных структур
Добавление структуры в ITWE
Добавление/замена текстур
- Добавление новой текстуры
- Замена уже существующей текстуры
- Замена текстуры принадлежащей структуре
Туториал MS3D building (MS3D – Milkshape 3D)
Концепция создания текстуры
Чтобы создать свою текстуру, первым шагом следует взглянуть на текстуры ванильных построек, чтобы наглядно увидеть, как они устроены.
Чтобы сделать это, загрузите конвертер Texture2DDS (в принципе можно и не загружать, так как в последней версии IWTE он уже интегрирован, во вкладке Special).
Создайте какую-нибудь рабочую папку по текстурам и скопируйте туда ванильные файлы .texture.
Например, как видно из рисунка, я взял текстуру walls_wooden_palisade и её нормаль. Переименуйте её как вам угодно, чтобы в дальнейшем мы могли нормально интегрировать её в M2TW. Формат .texture несовместим с MS3D или GIMP.
Теперь запустите Texture2dds.exe и найдите наши текстурные файлы. Выберите их и кликните на .texture -> .dds. Появится окно, подтвердите, что текстуры отконвертировались в верный формат.
http://i.imgur.com/mrrJU53.jpg
Рисунок №31: Файлы текстур
http://i.imgur.com/ppuGwPQ.jpg
Рисунок №32: Конвертер Texture2DDS
Как только конвертация будет завершена, вам необходимо скачать плагин для GIMP, чтобы в нём можно было открыть DDS формат (базовый GIMP не умеет открывать его). Загрузить этот плагин можно здесь (или же у нас, в этой теме):
]]>http://registry.gimp.org/node/70]]>. Чтобы установить его, извлеките файлы из архива, скопируйте их и
вставьте dds.exe в C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins.
Теперь запустите GIMP (если во время установки плагина он был в работающем состоянии, перезапустите его) и откройте им сгенерированный .dds файл.
В файле есть несколько мипмапов.
Мипмап («mipmap») - множественное отображение (последовательность текстур одного и того же изображения с уменьшающимся разрешением по мере удаления отображаемого объекта от наблюдателя). Предрассчитанный, оптимизированный набор изображений связанных с одной текстурой и предназначенный для увеличения скорости рендеринга и улучшения качества изображения.
Удалите их все, за исключением основного «main surface». Как только вы это проделаете, то можете начинать редактирование текстуры. Я рекомендую вам придерживаться следующего совета. Вы увидите его цель в следующей части обучения, когда мы займемся созданием 3D моделей:
Текстура имеет размер 2048*2048 пикселей. Она разделена на 8*8 квадратных плиток. Каждая такая плитка отображает различную часть текстуры: одна – дверь, другая – окно, третья – стена, четвёртая – крыша и т.д… Вам также следует взглянуть на другие случайные текстуры, такие как ambient_building, чтобы увидеть как они выглядят в изображениях. Конечно, можно вместо текстурных плиток размеров 8*8, сделать размером 4*4, для лучшего качества, но в таком случае у вас будет меньше разнообразия текстурных плиток (т.е. в 4 раза меньше).
http://i.imgur.com/3woLISh.jpg
Рисунок №32: dds слои
http://i.imgur.com/zXw0ltI.jpg
<-- Рисунок №33: Редактирование текстуры
Для менее «кубических» конструкций (здания имеют очень простую структуру в виде кубов, в качестве базовой модели) текстуры могут быть различными, объекты с уникальной формой (статуи, монументы и т.д.), могут иметь свою собственную текстуру или же иметь одну или больше текстурных плиток, выделенных под эти специальные текстуры: IWTE принимает во внимание альфа-канал.
Как только вы закончите редактирование вашей текстуры, осуществите экспорт файла как dds, перезаписав оригинальный dds. Далее появится окно, спрашивающее с какими опциями сохранить dds файл: поставьте галочку в пункте «generate mipmaps».
http://i.imgur.com/WMUV04z.jpg
Рисунок №34: Генерирование мипмапов
Концепция создания моделей в MS3D
Помните, что если вы хотите взять какую-либо ванильную модель, то выделите любую модель какую пожелаете (в режиме просмотра модели в 3D окне, вы можете увидеть, как она выглядит), а затем в IWTE нажав Structures >> Write ms3d file-incl damaged, вы получите соответствующую модель в .ms3d формате.
http://i.imgur.com/ylRa1D6.jpg
Рисунок №35: Образец текстуры
Так как это не углублённый туториал, я объясню самый быстрый способ создания случайного дома. Для этого, я создал образец текстуры, чтобы проиллюстрировать мой рассказ. Вы можете использовать эту текстуру только для обучения, но не используйте её в моде (поскольку здесь она представлена в плохом качестве!).
Вы должно быть заметили, что в MS3D ванильные постройки имеют здание-шаблон. Если вы достаточно увеличите, то вы увидите, что один базовый квадрат его структуры занимает 4 квадрата в MS (см. рис. №36, выделены синим). Большинство ваших конструкций должны быть такими же:
http://i.imgur.com/ClrTWEP.jpg
Рисунок №36: Базовый квадрат состоит из 4
http://i.imgur.com/0nfqAg9.jpg
Рисунок №37: Рисуем базовый квадрат
Увеличьте масштаб, выберите вкладке model, режим «box» и нарисуйте точный 4х4 квадрат. Его глубина должна автоматически выставиться такой же:
http://i.imgur.com/eyCORex.jpg
Рисунок №38: Готовый базовый квадрат
http://i.imgur.com/l4icTS1.jpg
Рисунок №39: Добавляем текстуру
Чтобы добавить новый текстурный материал, перейдите в material >> New >> [верхняя кнопка <none>], и выберите нужную текстуру (MS3D может читать dds файлы). Затем выберите группу («group») к которой вы хотите приписать этот материал и нажмите assign.
Выберите верхнюю грань, а затем перейдите в Windows >> Texture coordinates editor и подстройте квадрат к текстуре крыши. Проделайте тоже самое для остальных граней, изменяя текстуру для каждой грани.
http://i.imgur.com/xXDHF0C.jpg
Рисунок №40: Редактор координат текстур
Как только вы закончите, у вас должен получиться куб со всеми четырьмя вариациями текстуры, как показано ниже на рисунке. Дублируя нужные вам грани, вращая и комбинируя их, вы можете создать дом очень быстро. Не забудьте использовать инструменты Vertex >> Flatten или snap together.
http://i.imgur.com/XtddS3m.jpg
Рисунок №41: От кубика до полноценного дома
Немного изменяя текстуры, добавляя меньшие кубы (масштаб и т.д.) то можно создать очень простую (а также очень красивую!) структуру за короткое время.
Здесь дан пример одной структуры, созданной из только одного куба и дублирующих частей модели. Единственной импортированной частью является «тоннельная» часть от ванильной сторожки. Всё остальное было смоделировано от неё:
http://i.imgur.com/ouJZGFd.jpg
Рисунок №42: Структура сторожки
Вид сверху и сбоку схемы показывает, как согласно этой простой методике создана эта модель. Некоторые квадраты могут быть больше, чем базовые, или же меньше, но это впоследствии повлияет на текстурирование вашей модели.
Совет:
Если вы импортировали ванильную структуру без изменения, если вы добавили её соответствующие текстуры из M2TW и присвоили их этой структуре, то вы заметите, что они уже UV преобразованы.
UV-преобразование или развёртка в трёхмерной графике (англ. UV map) — соответствие между координатами на поверхности трёхмерного объекта и координатами на текстуре.
Так что, если вы редактируете их после этого, вам останется только оттекстурить изменённые части.
Адаптация вашей структуры к местности
Теперь, когда ваша структура готова, вам всё ещё необходимо разместить её в правильной точке на карте, на нужной высоте, и убедиться, что она нормального масштаба (не гигантская монументальная постройка или мелкая хоббитская нора). Но знайте, если вы следовали правилу «четырёх квадратов», то объект будет нормального размера.
Масштабирование
В MS3D, выбрав структуру, которую вы хотите отредактировать, перейдите в “File” >> “Merge” и загрузите ванильную структуру, которую вы отконвертировали в MS3D формат. Затем выберите «Scale» и поставьте те же числа в опциях X, Y и Z (например, 0.9, если вы хотите сделать её меньше). Далее нажимайте кнопку «scale» до тех пор, пока структура не станет нужного вам размера. Сохраните её, не забыв при этом удалить ванильную структуру.
Местность
Для начала вам нужно загрузить вашу местность в MS3D (это возможно, только если её размер меньше, чем 181х181). Удалите все части местности, которые вам не нужны (где вы не будете размещать структуру), чтобы сократить число полигонов. Оставьте только ту часть, с которой вы будете совмещать постройки, не забудьте проверить, чтобы местность была зеркально отражённой. Если ваша местность не отражена, то выделите всё (Ctrl + A), и выполните следующее Vertex >> <--> Mirror Left Right. Ничего не двигайте! После того, как вы удалите достаточно треугольников так, чтобы MS3D не вылетал, перейдите в меню File >> Merge и загрузите вашу структуру. Выберите вашу структур без местности и начинайте перемещать её на нужное место и высоту. Как только вы закончите, удалите местность и сохраните вашу структуру.
Теперь у вас одна структура, расположенная в правильном месте на вашей местности. Теперь она готова для добавления в ваше поселение с помощью IWTE.
(Будьте осторожны, не размещайте вашу структуру на некоторые точки на местности, где слияние не повлияет на местность вашего поселения!)
Подготовка вашего world файла
Теперь наступает черёд IWTE, по большей части – это технические моменты. Так как этот тутор для полных начинающих, то я опишу так, как я это вижу, это, конечно, может показаться слишком долгим и подробным описанием, но зато это позволит вам понять все азы (те, кто уже имеет опыт в этом, может просто пропускать некоторые моменты…)
Загрузка вашего world файла в IWTE
Для начала, что нужно сделать, это запустить IWTE и загрузить world файл, связанный с вашим поселением, это значит все постройки, стены, ворота и т.д.
Чтобы сделать это, перейдите во кладку worldfile >> read 3 binary files. Далее найдите вашу папку с модифицированным поселением.
http://i.imgur.com/kZrmGoT.jpg
Рисунок №43: Загрузка вашего world файла в IWTE
Сначала выберите файл (с расширением .world) и откройте его, затем проделайте то же самое с другими соответствующими файлами .worldcollision и .animinstances, которые должны иметь такие же имена. Вам будет предложено сохраниться. Вы можете назвать тем же именем, что и только что открытые файлы, поскольку любой изменённый файл будет назван по схеме: («старое_имя_[номер_модификации]»).
Как только все три бинарных файла будут загружены в IWTE, вы сможете менять некоторые элементы, но сначала давайте посмотрим, как это работает.
http://i.imgur.com/4Xhnhz7.jpg
Рисунок №44: Сохранение .world
Примечание:
Когда вы добавляете или заменяете структуры в world, файлы автоматически сохраняются, но это не касается остальных операций.
ТАК ЧТО НЕ ЗАБЫВАЙТЕ РЕГУЛЯРНО СОХРАНЯТЬ ТРИ БИНАРНЫХ ФАЙЛА.
Понимание world
Как только ваш мир будет загружен, справа вы увидите окна структур, объектов и текстур с подробной информацией. Текстуры используются на объектах поселения, структуры являются ms3d файлом (позже мы подробнее поговорим о нём), так же одна структура содержит несколько объектов.
Объекты
Объекты немного сложнее. Один объект может содержать от 1 до 8 MS3D групп, в зависимости от состояния разрушенного здания (на каждое разрушенное состояние одна группа).
Объект стена может содержать до 5 MS3D групп для всех её разрушенных состояний, в то время как неповреждённый объект имеет одну MS3D группу.
http://i.imgur.com/7kypOz0.jpg
Рисунок №45: групп MS3D и IWTE объекты/группы для стены
Отсюда такие странные имена групп в MS3D, если вы импортируете ванильные структуры:
Eo2_g2_c1s0 будет значить следующее:
“Element object 2 in the IWTE” – элемент объекта 2 в IWTE
“group number 2 of this object” – группа номер 2 этого объекта
“this object belongs to the complex number 1 – этот объект относится к комплексу номер 1, структуры номер 0”
Eo[IWTE_объект_номер]_g[группа_номер_этого_объекта ] и т.д…
При экспорте ваших MS3D групп в IWTE, будьте осторожны, присваивая им имена. Я рекомендую использовать эту терминологию, даже если объект не является разрушенным. Это может привести к некоторым проблемам при импорте MS3D файла в IWTE. (сообщение об ошибке: Value error и т.д…)
Импорт ванильной структуры в MS3D
http://i.imgur.com/0gcucbO.jpg
Рисунок №46: Просмотр структуры
Это сделать довольно просто. Всё что вам требуется сделать, это сначала выбрать нужную структуру. Вы можете просматривать её в 3D окне, выбрав её, затем перйдя в “views” >> “view structure 2D”. Не забудьте поставить галочку в пункте “show 3D windows”.
Как только у вас будет нужная структура, перейдите в “Structure” >> “Write ms3d File-incl damaged”.
http://i.imgur.com/0zOhJW1.jpg
Рисунок №47: Генерирование MS3D модели структуры
MS3D файл будет сохранён в вашей папке для модифицированных поселений, откуда вы загружали три бинарных файла.
Удаление всех технологических древ
Помните, что постройки из технологических древ, при появлении на карте влияют на вашу местность. Так что пришло время убрать их из вашего мира.
Просто перейдите во вкладку Specials, а затем кликните Delete all TechTrees!
http://i.imgur.com/4zYW8Gs.jpg
Рисунок №48: Удаление построек связанных с технологическими древами
Удаление ненужных структур
Для этого есть два решения:
Первый очень утомительный, и он нужен только в том случае, если вы хотите оставить некоторые структуры. Для этого вам придётся удалять все ненужные структуры по отдельности, выбирая их по одному и удаляя: Structures >> Delete Structure.
Более быстрый способ используется, в случае если вам не нужны ванильные структуры, или же оставить из них модели 2-3, а всё остальное удалить. Чтобы сделать это, пропишите MS3D модели (Structures >> write ms3d file-incl damaged) нужной вам модели, вы добавите их позже при добавлении новых структур (об этом ниже). Затем перейдите во вкладку Specials и выберите Keep first structure Button, чтобы удалить все структуры за исключением одной первого комплекса. Эта первая ванильная структура будет заменена, той которую вы позже выберите.
http://i.imgur.com/S3lNd76.jpg
Рисунок №49: Удаление всех структур
Добавление структуры в IWTE
Это очень легко: сперва убедитесь, чтобы ваши MS3D группы были названы правильно, как было ранее рассказано. В противном случае у вас будут проблемы с интеграцией модели или с группами, не появляющимися в игре, поскольку рассматриваются как уничтоженные состояния других групп (которых вы сначала не заметите и потратите много часов на поиски причин, почему они не появляются).
http://i.imgur.com/LaLypWt.jpg
Рисунок №50: Добавление новой структуры
Последний шаг: выберите структуру, относящуюся к комплексу, которому вы хотите добавить новую структуру, перейдите: Structures >> Add structure ms3d.
Далее найдите ms3d файл, который вы хотите добавить. У вас должна появиться следующая панель:
http://i.imgur.com/gAHnLXs.jpg
Рисунок №51: Определение новой структуры
Выберите нужную вам текстуру. Если её нет (значит, ранее вы не добавили её), тогда выберите любую доступную: позже вы сможете изменить её (подробнее ниже).
Типом структуры является:
- Стандарт: любая другая структура
- Отражающая поверхность: только одна на мир. Вы используете её для добавления водной поверхности. Это плоскость ms3d (один квадрат с двумя гранями) с установленным размером и высотой.
- Litter: все litter структуры (не уверен, добавляет ли это что-то конкретное)
Как только вы установите эти два параметра, кликните ОК.
http://i.imgur.com/KHXfUCh.jpg
Рисунок №52: Замена структуры
Примечание:
Если вы хотите заменить одну структур, как в случае описанным выше, оставив одну структуру, а все остальные удалив. Вам нужно выбрать нужную структуру, которую вы хотите заменить, а затем кликните Structures >> Replace with ms3d file. Вам придётся заменить текстуры отдельно, если это необходимо.
Добавление/замена текстур
Информация по текстуре может быть найдена в этом небольшом окне:
http://i.imgur.com/YHDhStG.jpg
Рисунок №53: Окно текстур
Текстуры могут добавляться или заменяться в зависимости от нужды. Если одна текстура относится только к одной структуре, то в случае удаления структуры, любая ссылка на эту текстуру будет также удалена. Так что если вы хотите сохранить эту текстуру, вам нужно добавить её обратно в редакторе.
Все текстуры построек в ваниле M2TW лежат в Data/Blockset/Textures. Туда же я рекомендую размещать ваши новые текстуры и их нормали.
Там вы найдете некоторые вариации папок с основными текстурами.
Это значит, например, если ваша деревня североевропейского типа культуры обычно использует для некоторых зданий файл ambient_building_NE.texture, а в папке south_european, лежащей в папке Blockset/Textures, есть другой (и отличающийся) файл ambient_building_NE, то в таком случае если ваше поселение построено в южноевропейском регионе, то эта текстура будет использоваться вместо базовой.
Добавление новой текстуры
http://i.imgur.com/1JSmgMa.jpg
Рисунок №54: Добавление текстуры
После добавления вами новой структуры, вы можете дать ей подходящую текстуру, если ранее она не была добавлена в файлах world вашего поселения (или вообще пока не существует).
Чтобы сделать это, просто кликните на Add texture, затем выберите тип текстуры:
- Normal для любой текстуры по умолчанию
- Alpha для текстур, где вы хотите, чтобы учитывалась прозрачность
- Water
- Litter normal
- Building normal
Затем укажите правильный путь к текстуре и её нормали. Далее кликните "ОК". Далее я расскажу вам об изменении текстуры структуры.
Замена уже существующей текстуры
В следующем случае замена текстуры может быть очень целесообразна:
http://i.imgur.com/j5EEWjv.jpg
Рисунок №55: Изменение текстуры
Например, у вас определённое количество структур используют определённую текстуру (названную здесь условно textureA). Вы хотите сохранить эту текстуру и для других поселений в том виде, как она есть, но для этого поселения, вам хочется немного изменить её (подправить цвет, например и т.д.) Чтобы изменить текстуру, связанную со всеми структурами, с textureA на textureB, нужно выбрать текстуру, которую вы хотите изменить, в левой части окна Texture, затем зайти во вкладку Textures >> Change Texture.
Далее вы будете перенаправлены в меню, отображающее тип текстуры и путь к текстуре, а также к её нормалю.
Измените textureA на textureB (в случае, если ваша текстура находится в папке Blockset/Textures), измените тип текстуры, если это необходимо, и нажмите "ОК".
Все структуры, которые имели текстуру TextureA, теперь будут иметь ТextureB, TextureA теперь больше не существует для этого поселения. Вы можете добавить её обратно, если захотите.
Замена текстуры принадлежащей структуре
http://i.imgur.com/oFe0F21.jpg
Рисунок №56: Замена текстуры принадлежащей структуре
После добавления новой текстуры, структура пока не используют её. Чтобы изменить это, выберите структуру, которая будет использовать новую текстуру и перейдите в Structures >> Change Structure Texture.
Теперь просто выберите нужную текстуру и кликните "ОК".
Сообщение отредактировал Master_TW_DAR: 01 июля 2014 - 15:38
- 0
#4 Delabras
Отправлено 15 августа 2014 - 01:46
Сообщение отредактировал Delabras: 15 августа 2014 - 02:10
- 0
#5 Delabras
Отправлено 03 сентября 2014 - 10:59
- 0
#7 Delabras
Отправлено 22 сентября 2014 - 13:54
Сообщение отредактировал Delabras: 22 сентября 2014 - 13:56
- 0
#8 Master_TW_DAR
Отправлено 11 января 2015 - 01:17
поглядел на досуге видосы ...Видеоурок по созданию более сложного дома: ]]>https://yadi.sk/d/v-PkKOvsavLCp]]>
Такой вопрос: зачем автор при совмещении разных объектов (здание двухэтажное + пристройка , пристройка + лестница) оставляет текстуры на первоначальных объектах, которым присоединяет новые ?
А именно там, где часть объекта не будет никем видима ... То есть кусок текстуры закрыт геометрией и текстурой другого объекта )) Для чего эти лишние куски подгружаться будут ?? )
А так неплохое ознакомление по работе в Милке, спасибо за видео
- 0
#9 Ariovistus
Отправлено 12 января 2015 - 14:36
в самой милке объекты можно оставлять без текстур, загружая их однако в игру, они все должны иметь хоть какую-то текстуру.Delabras,
поглядел на досуге видосы ...
Такой вопрос: зачем автор при совмещении разных объектов (здание двухэтажное + пристройка , пристройка + лестница) оставляет текстуры на первоначальных объектах, которым присоединяет новые ?
А именно там, где часть объекта не будет никем видима ... То есть кусок текстуры закрыт геометрией и текстурой другого объекта )) Для чего эти лишние куски подгружаться будут ?? )
А так неплохое ознакомление по работе в Милке, спасибо за видео
- 0
#10 Master_TW_DAR
Отправлено 02 февраля 2015 - 16:45
1) В инструменте IWTE в процессе создания разрушений мы задаем значения collision в структуре .. Они отрицательные, нулевые и положительные .. Как это влияет на визуализацию разрушений в игре ?
2) В видео был фрагмент, когда при отсутсвии разрушений камера игры могла насквозь проходить 3д-модель постройки.. После задания разрушений это явление устранилось .. Каким образом игра определяет, как камера ведет себя по отношению к 3д-модели здания ? (т.е. насколько близко / далеко "наезжает"/ "отъезжает" по отношению к постройке - это определяют те самые значения, что устанавливаются вручную в IWTE ?)
3) Разрушения в игре неанимированные .. То есть визуальный эффект разрушения воплощается путем замены одного 3д-объекта на другой .. Вопрос - как игра определяет, какому объекту 3д-модели заменить один вариант объекта (начальный - неразрушенный) на другой вариант (окончательный - разрушенный) при попадании снаряда в 3д-модель постройки. Ведь снаряды либо попадают в постройку, либо нет, т.е. не бьют всегда в одну точку, а имеют, так сказать, "разброс" дистанции попадания ? Т.е. как игра определяет столкновение снаряда с заменяемым объектом здания и каким образом реагирует на это попадание и производит замену объекта на другой ?
4) По вегетации .. Если, к примеру, расположить координаты объектов растительности на "генплане" постройки там, где, к примеру, располагается само здание - игра будет визуализировать деревья, растущие внутри здания (т.е. ей "по барабану", где размещать вегетационные объекты) или отреагирует вылетом ?
Спасибо за ответы и за видеокурс!
- 0
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных
Total War: WARHAMMER
Мы ждали, мы верили. И наша вера была вознаграждена! Анонс Total War: WARHAMMER состоялся! Скептики были посрамлены, а вахоманы возликовали! Но разработчики на форумах успели уже рассказать немало подробностей. Во первых стало известно? что это будет не одна игра, а трилогия сдобренная целым сомном аддонов и дополнительного платного и бесплатного контента. Во-вторых фракций будет только четыре (Империя Сигмара, Зеленокожие, Гномы и Графы-Вампиры) но обещают сделать их максимально проработанными, богатыми на юниты и реально отличающимися друг от друга по геймплею. В третьих - главы фракций теперь не просто генералы которых не жалко потерять в бою. Теперь это Легендарные Лорды (Карл Франц, Гримгор, Торгрим и Маннфрэд фон Карштайн), герои со уникальным оружием, верховым животным, шмотками и набором квестов. Еще обещают такие новинки как летающие юниты, магию, танки, пушки и мущкеты... в общем вкуснятинка! В общем ждем больше информации и надеемся, что игра станет прорывом в серии.
Ну а апологетам историчности спешим успокоить - над Вархаммер трудится отдельная команда. Исторические игры Тотал Вар производство фэнтэзийной игры не тормозит.
Подробней о Total War: WARHAMMER
Total War: Attila
Анонс Total War: Attila с одной стороны немало удивил нас, а с другой еще раз доказал, что СА идет проторенной дорожкой. Ведь Аттила по сути это сиквэл аддона "Вторжение варваров" для Рима 1. Правда на этот раз они не стали скромничать и назвали его "новой игрой". Ок, мы не будем спорить. Отдельная игра про нашествие варварских племен на цивилизации античного мира - это прекрасно. Нужно отметиьт что разработчики действительно поработали на славу. По мнению большинства игроков, Аттила действительно оказался достойным продуктом, позволившим окунутся в мрачные эпохи.
Подробней о Total War: Attila Часть 1 и Часть 2
Total War: Rome 2
Анонс Rome II Total War состоялся 2 июля и это вызвало настоящую бурю восторга нашего сообщества! Настолько люди истосковались по рукопашному бою и легионерам, что анонс сиквела восприняли как настоящее чудо и "сбычу мечт". Снова вести в бой скованные железной дисциплиной легионы, непоколебимых греческих гоплитов и македонских сариссофоров, топтать врагов слонами и забрасывать отрубленными головами - это ли не счастье! Но ведь новые игры Total War это еще и морские баталии. И тут уж будет море фана, ведь разработчики обещают активное взаимодействие между сухопутными и военно-морскими силами. Обоюдный обстрел между береговыми укреплениями и боевыми кораблями на рейде даст новую степень свободы "стратегосам" античного мира.
Подробней о Total War: Rome II
Community Forum Software by IP.Board
Лицензия зарегистрирована на: СiЧь Total WarS