Создание, редактирование, свойства
Автор: АрАл
Дата: 16 мая 2016, 20:47 · Просмотров: 4 127
Дата: 16 мая 2016, 20:47 · Просмотров: 4 127
Здания/архитектура в Rome: Total War
Камрады, порыскав по форуму в поисках информации по редактированию архитектуры и топографии поселений в RTW, с удивлением для себя обнаружил, что имеющейся информации более, чем недостаточно. Этот весьма досадный пробел я намерен в самое ближайшее время восполнить, скачав и сделав перевод статей по сабжу, найденных на забугорных ресурсах. В качестве затравки предлагаю вашему вниманию перевод статьи камрада SigniferOne с TWC. Сильно не пинайте за перевод, многие вещи для меня самого еще непонятны и, надеюсь, кому-нибудь этот тутор поможет
Итак, введение в редактирование поселений в RTW:
Предисловие:
Я всегда хотел увидеть реалистичные города в Rome Total War, как и многие другие игроки. На некоторых оригинальных игровых трейлерах можно увидеть непохожие друг на друга городские поселения, являющиеся гармоничным продолжением рельефа окружающей местности, но в игре мы в основном получили плоский стандартный город с несколькими дорогами и огромной центральной площадью. Признаться, я был несколько обескуражен и разочарован от увиденного. Не желая мириться со своим разочарованием, я вначале пытался самостоятельно разобраться в файлах игры, связанных с редактированием поселений на карте сражения, но лишь напрасно потерял время, которое мы на Западе так ценим. Затем, в один прекрасный день камрад Webbird сделал грандиозное открытие относительно римских фортов в игре. Я заинтересовался его открытием, связался с ним по скайпу и предложил свою помощь. Так начался мой путь в моддинге…
Как сказали бы древние греки, моя страсть распаляла меня все сильней и сильней.. Видите ли, я всегда хотел увидеть Рим таким, каким он мог выглядеть в действительности, случившейся 3200 лет назад – раскинувшимся на семи знаменитых холмах, с рекой Тибр посредине. Но еще не было никаких 3d представлений, и нигде я не мог получить исчерпывающую информацию о Риме в республиканскую эпоху (в отличие, например, от Афин классического периода которые имеют относительно простой рельеф – с одним холмом, на котором возвышается Акрополь). А потом на каникулах я побывал в Италии, в Риме, где увидел потрясающую 3d модель республиканского Рима, кажется это была диорама. Увиденное лишило меня сна, пищи и секса – я ни о чем теперь не мог думать кроме как о том, как перенести эту 3d модель в игру Rome Total War. Я закрывал глаза и видел Вечный город во всей красе, таким каким видели Публий Корнелий Сципион Африканский и Фабий Максим, Цинциннат и Юний Брут; Мое желание перенести Рим в игру стало нестерпимым…
Я отдавал себе отчет, что ноша, которую я взвалил на свои хрупкие гамерские плечи, будет нелегкой, но, тем не менее, возможные трудности ничуть не остудили мой пыл. Мое самолюбие подогревала самая мысль о том, что финалом всех моих трудов будет первое интерактивное 3D представление Вечного города. Я руководствовался намерением сделать RTW больше чем просто игрушкой для досужего и охочего до развлечений разума. Я намеревался превратить игру в образовательный инструмент, средство познания и понимания классической древности. Ведь это же самые истоки нашей демократии, свободы и толерантности, не правда ли? Короче, мною двигало тоже, что двигало просветителями, популяризаторами, пионерами науки и т.д.
В общем, я поставил все свои ресурсы – свой ум, свою волю и главное – свой талант на служение своей цели
Я определил, что план поселения в основном состоит из трех файлов: файлов основания (underlay) и надстройки (overlay), с которыми я не знал что делать, и файла план поселения (settlement plan), который определяется, где и как в поселении будут расположены палатки, здания, стены и т.д.
Для простоты работы, я решил работать на варварском городе, потому что он имеет очень простую топографию, только один холм. Мне было известно, что для того, чтобы увидеть в игре Рим своей мечты, я должен был изменить самое основание города, я не мог удовольствоваться просто несколькими новыми причудливыми постройками. Я знал, что должен буду работать с этими двумя странными файлами: underlay и overlay, если хочу добиться чего-либо. Два файла, о которых идет речь, это:
data/settlement_plan/underlays/barb_large_town_underlay.cas и data/settlement_plan/overlays/barb_large_town_overlay.cas,
Оба этих файла открываются с помощью инструмента: Vercingetorix' CAS экстрактор:
Очевидно, какие-то из этих изображений имеет отношение к земле топографии варварских городов, так как все остальные кандидаты исключены. Теперь, так как это CAS файлы, импортируя их работали так что теперь я пытался экспортировать их. Overlay работал просто отлично, но при экспорте underlay я получил следующее сообщение об ошибке:
Это, насколько другие ушли, я полагаю, и я был очень озадачен в этот момент сам. Я думаю, что я даже PMED Верцингеторикс с просьбой, если это может быть исправлено. Это действительно тупик меня в течение долгого времени, и я не знаю, что делать, ожидая решения. И, наконец, я не мог быть остановлен, даже очень загадочного ищет сценарий, даже в мой Computer Science основных глазами, так что я решил попробовать и расшифровать его и выяснить, что происходит не так. Очень Короче говоря, есть функция под названием Write (), и в нем содержится следующий код:
Красный прямоугольник выделяет участок кода, который приводит к ошибке при экспорте underlay. Я решил быть очень тупым об этом, а просто удалить код неисправности, в надежде, что это будет еще как-то разрешить программе работать и экспортировать вещи успешно. Я не удалить весь для () петли, только последние три строки, операторы, если (), получая следующее в результате
Я сделал несколько тестов и сценарий на самом деле работали! Я был осторожный оптимизм в этой точке. Затем я изменил исходный файл подкладывать к следующему (простая скользящая из четырех вершин): I did some tests and the script actually worked! I was guardedly optimistic at this point. Then I changed the original underlay file to the following (a simple moving of four vertices):
После резервное копирование оригинальных barb_large_town_underlay.cas, я переписал его с моей новой версии в data/settlement plan/underlays folder. Затем я изменил линию в barbarian_large_town.txt от:
"floor barbarian_large_town_underlay.CAS barbarian_large_town_overlay.CAS"
к:
"floor barb_large_town_underlay.CAS barb_large_town_overlay.CAS"
Затем я перезапустил игру (он должен быть перезапущен, когда текстовые файлы будут изменены, чтобы они вступили в силу), держа пальцы крестиком…
УРЯ-Я-Я !!!
Я сделал это !! Этот принцип был обнаружен, а остальное было лишь вопросом деталей.
Как повторить то, что я сделал:
1) Вам нужно будет создать две версии Vercingetorix' CAS script - один для экспорта overlays, а другой для экспорта underlays. Как я уже говорил выше, вы должны изменить исходный скрипт для того, чтобы экспортировать underlays. Прежде нужно сделать резервные копии изменяемых файлов.
2) Откройте скрипт, предназначенную для underlays, найдите следующий раздел в коде:
Цитата
for i=1 to numVerts do(
ttVert = point3 0.0 0.0 0.0
for k=1 to numFaces do(
tface = getFace tmpMesh k
if tface.x==i then ttVert = gettvert tmpMesh (getTVFace tmpMesh k).x
else if tface.y==i then ttVert = gettvert tmpMesh (getTVFace tmpMesh k).y
else if tface.z==i then ttVert = gettvert tmpMesh (getTVFace tmpMesh k).z
)
--ttVert = gettvert tmpMesh i
WriteFloat fp ttVert.x
WriteFloat fp (1.0-ttVert.y)
)
ttVert = point3 0.0 0.0 0.0
for k=1 to numFaces do(
tface = getFace tmpMesh k
if tface.x==i then ttVert = gettvert tmpMesh (getTVFace tmpMesh k).x
else if tface.y==i then ttVert = gettvert tmpMesh (getTVFace tmpMesh k).y
else if tface.z==i then ttVert = gettvert tmpMesh (getTVFace tmpMesh k).z
)
--ttVert = gettvert tmpMesh i
WriteFloat fp ttVert.x
WriteFloat fp (1.0-ttVert.y)
)
измените его на:
Цитата
for i=1 to numVerts do(
ttVert = point3 0.0 0.0 0.0
for k=1 to numFaces do(
tface = getFace tmpMesh k
)
--ttVert = gettvert tmpMesh i
WriteFloat fp ttVert.x
WriteFloat fp (1.0-ttVert.y)
)
ttVert = point3 0.0 0.0 0.0
for k=1 to numFaces do(
tface = getFace tmpMesh k
)
--ttVert = gettvert tmpMesh i
WriteFloat fp ttVert.x
WriteFloat fp (1.0-ttVert.y)
)
3) Измените папки barbarian_large_town.txt data/settlement plan так, чтобы он указывал на barb_large_town_underlay/overlay CAS files (см. выше)
4) Откройте файл underlay в 3dsmax. Как вы уже знаете, он имеет три объекта: underlay mesh, outline mesh, and Scene Root. Выберите underlay mesh, и модифицируйте все, что вам угодно. Затем запустите скрипт, предназначенную для underlays, а оттуда экспортируйте то, что вы сделали.
5) Сделайте резервную копию исходного файла и переписать его с одним вы сделали. Запустите его в игре и наслаждайтесь полученным результатом.
Это только вводный учебник, потому что на самом деле у меня есть еще что рассказать. Но даже с этим - многое, многое может быть сделано уже. Так, что, ребята, практикуйтесь и - удачи. Ха-а-ай!
Автор: SigniferOne
Перевод: АрАл