Community Imperial: Urbi et Orbi - Сообщество Империал




vadim

Urbi et Orbi

Учебные пособия и мысли о Новых аспектах модинга на базе мода Bellum Civile
Theme created: 12 October 2018, 02:08 · Author: vadim
Views:
 14 861

  • 5 Pages
  • « First
  • 3
  • 4
  • 5
 2 
 vadim
  • Imp
Imperial
 

Date: 12 October 2018, 02:08

Imp

Urbi et Orbi
Urbi et Orbi - Городу и Миру
Именно с этого латинского фразеологизма хотелось бы начать данную Тему.
Описание основной канвы данной Темы
Публикация учебных пособий и развёрнутой информации о новых аспекта модинга на базе мода Bellum Civile.
Казалось бы есть профильные Темы по модингу и важной информации, но данная тема касается именно аспектов и новой информации которая возникла в процессе работы над модом ВС.
Эта информация объясняет теорию и практику введения новых элементов страт_гейма нашего мода. И именно эта новая информация думаю может стать пояснением и справочником в понимании тех многочисленных новшеств которые на данный момент уже имеют структуру единого механизма под названием Bellum Civile.
Форма повествования
Учебные и не учебные записи сделанные увлечёнными людьми для сообщества таких же увлечённых людей.
     vadim
    • Imp
    Imperial
     

    Date: 06 April 2023, 19:30

    Глава №7 проходит последние правки и почти готова к релизу.
    Намечаю выпуск данной главы в ближайшие выходные.
    Как то так Камрады.
       vadim
      • Imp
      Imperial
       

      Date: 08 April 2023, 10:26

      Глава седьмая
      Предисловие
      Глава №7 - это учебное пособие посвящённое расширенному пояснению механики
      и всем аспектам введения нового объекта архитектуры из шестой главы.
      Учебное пособие публикуется с сохранением стилистики подачи материала от автора.

      How to bring custom buildings in-game
      Как ввести пользовательские здания в игру
      Источник
      Spoiler (expand)

      Автор Mr.Jox
      Перевод и адаптация vadim

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

      Оглавление
      1. Перечисление элементов объекта для его введение в Ted
      2. создание элементов объекта
      3. Применение атрибутов
      4. Экспорт в .cs2
      5. Настройка rules.bob и конвертирование
      6. Как заставить ваш объект отображаться в TEd

      Перечисление элементов объекта для его введения в Ted
      Объект, который вводится в конструктор Ted состоит из технических элементов необходимых для точного ввода всего объекта /со всеми его параметрами/
      Итак, разберём все элементы всё по пунктам
      1) Geometry файл геометрии объекта (3d модели, состоящие из различных уровней LOD);
      2) Collision файл коллизии (коллизии 3d модели, которые не должны быть показаны в игре, однако они служат технической характеристикой вашего объекта в игре);
      3) Animation файл прописи анимации объекта (как правило это несколько анимационных кусков модели, то есть в принципе это несколько роликов с вашей вводимой модели);
      4) Geometry reference описание примитива геометрии объекта (произвольная примитивная геометрия, которую вы используете для ссылки на уже существующею вашу модель);
      5) Hard файл (примитивная фигура, состоящая из замкнутой серии линий, которые определяют форму вашего объекта);
      6) Ground_ad (примитивная линия с 2 вершинами, определяющая в некотором роде линию подсказки AI на уровне земли);
      7) Platform (плоская 3d модель, которая используется для определения стоячей позиции (позиций) для юнитов);
      8) Platform ground (примитивная плоскость на уровне земли, которая определяет, как и где юнит будет проходить через ваш разрушенный объект);
      9) EFline (примитивная линия, которая используется для определения поведения юнита в определенном месте на платформе в соответствии с геометрией вашего актива);
      10) Docking line линия стыковки (примитивная линия, определяющая местоположение осадного инвентаря/башни или лестницы/, который будет использоваться для прохождения через ваш объект);
      11) Region zone зона региона (примитивная фигура, состоящая из серии линий и служащая некоторой логической цели вашего объекта);
      12) Pipes тоннель (примитивная фигура из серии линий (не замкнутых), которая определяет, как юнит должен забраться на ваш актив. В некотором роде я называю это телепортом);
      13) Arrow emitter зона стрельбы (примитивная геометрическая фигура, задающая вектор стрелы башни, из которой будет выпущена стрела);
      14) Flag флаг (некая позиция флага на вашем объекте).
      Давайте подробно рассмотрим каждый элемент. Для единообразия между различными элементами и для облегчения понимания дальнейших шагов я буду описывать данные пункты в сочетании их с атрибутами (которые будут использоваться в последующих шагах).

      Geometry Геометрия
      Полное описание процесса создания 3d-моделей для вашего объекта не входит в данную тему, и я предполагаю, что вы знакомы хотя бы с основами 3d-моделирования и текстурирования.
      Здесь мы рассмотрим, геометрию как элемент вашего вводимого объекта, стандарт наименования и свойства вашей геометрической модели.
      Геометрический объект — это актив, который вы видите в игре. Это видимая часть вашей модели в игре.
      Геометрия обычно разбивается на LODs Лоды (уровени детализации), что означает, что ваш объект будет иметь градацию, повторяющихся, но упрощённых таких же копий объектов в 3DMaxe и будет отображаться чуть упрощённей для отлёта камеры на тактической карте Игры. Обычное количество LODов на одну модель здания - 5.
      Помимо LODов каждый геометрический объект может быть разделен на несколько частей. Это означает, что вы можете создавать различное количество моделей и рассматривать их как части одного и того же большого объекта.
      Последний аспект геометрии, о котором мы должны упомянуть, это destruction ID - оригинальный ключ ID разрушения . Destruction ID определяет, какая геометрия будет показана на разных уровнях разрушения. До сих пор мне посчастливилось увидеть до 4 уровней разрушения, используемых в ванильных активах.
      Naming standard Стандарт именования: pieceID_destructID_lodID
      Где pieceID - это ключ вашей детали. Куски не могут иметь одинаковые ID, если не предполагается, что они будут заменены другим объектом с повышенным уровнем разрушения. Обычно на одну модель приходится один/два/три объекта. Большее количество частей необязательно, но хотя бы одна должна быть обязательно.
      destructID - это идентификатор уровня разрушения. Здесь в ID части вы должны указать точно такой же ID части, какой вы использовали для предыдущего ID уничтожения, чтобы позже во время игры, когда вы уничтожите актив, модель была заменена следующим по порядку уничтожаемым активом. Обычно принято иметь один/два/три уровня уничтожения. Более высокие уровни необязательны, но хотя бы один обязателен.
      lodID - это номер вашего лода. Как мы уже говорили, 5 — это стандартное количество лодов на один геометрический объект.
      Кусок — это минимальная единица измерения. Для каждого куска у вас есть как минимум один уровень разрушения, и для каждого уровня разрушения у вас есть 5 LOD.
      rigid_TYPE STAND_RIGID
      class_TYPE DISPLAY
      piece_INFO pieceID (такой же, как и в имени объекта)
      destruct_ID destructID (такой же, как и в имени объекта)
      graphics_OPTION GRAPHICS_HIGH
      class_rigidINFO lodID
      rigid_OBJECT
      LODs example picture - пример градации лодов /по уровню качества/
      Imp
      pieces example picture – фрагмент градации файла
      Imp
      pieces example picture - разрушение пример на картинке ниже
      Imp

      Collision3d Файл Коллизии3d
      Файл Коллизии3d - это невидимый геометрический элемент модели, который определяет некоторые физические свойства вашего нового объекта. В основном Collision3d помогает движку понять, попадает ли снаряд в ваш объект или нет. Этот элемент также не позволяет юнитам пройти через невидимую геометрию нового объекта в соответствии с его формой. Главным требованием при создании Коллизии является как можно меньшее количество вершин в объекте, потому что каждая вершина участвует в тяжёлом алгоритме просчёта самого эффекта, и это влияет на производительность и быстродействие в самой Игре. В отличие от геометрии, коллизия не имеет уровней LOD.
      Naming standard Стандарт именования: pieceID_destructID_collision3d_[optional]
      Где pieceID и destructID соответствуют ключам нового объекта (каждая часть коллизии должна соответствовать общей форме части объекта, а каждый уровень разрушения коллизии должен соответствовать общему уровню разрушения объекта).
      collision3d - специальный тег, который указывает конструктору что это элемент объекта сделанный для того чтобы показывать коллизию этого объекта. Тег [optional] используется в особых случаях, например, если вы создаете актив шлюза. Поскольку у вас есть геометрия ворот, которая динамична при различных обстоятельствах, вам необходимо определить специальные теги, такие как gate_ajar и gate_closed.
      Пример именования: piece02_destruct01_collision3d_gate_ajar означает, что piece02 - это коллизия модели не разрушенных ворот (в открытом режиме).
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO collision3d_[optional] (_[optional] это особый случай для открытых ворот, в других случаях вы должны использовать collision3d)
      rigid_OBJECT
      Collision3d пример на картинке ниже
      Imp
      Collisions Коллизии создаются на каждый объект и при каждом разрушении этого объекта

      Animation Анимация
      Анимация - это набор видимой геометрии с собственным анимационным клипом. Чаще всего анимация воспроизводится, когда ваш объект меняет уровень разрушения из-за повреждения. Во время этого процесса ваши оригинальные геометрические модели скрываются, а вместо них становится видимой геометрия анимации, которая воспроизводится до тех пор, пока не закончится, после чего вся геометрия, связанная с анимацией, снова скрывается, а вместо нее в игре отображается геометрия следующего уровня разрушения. Короче говоря: piece01_destruct01_lod1 получает повреждения определенной степени и согласно значению db в какой-то момент piece01_destruct01_lod01 становится невидимым и в то же время все модели building_piece01_destruct01_anim становятся видимыми, все их анимационные треки проигрываются до самого конца, а затем все building_piece01_destruct01_anim снова скрываются и игра делает видимым piece01_destruct02_lod01.
      Вот цепь последовательности файлов с ключами /которые прописываются в Игре/ piece01_destruct01_lod01->building_piece01_destruct01_anim->piece01_destruct02_lod01 .
      Файлы анимации обычно являются наиболее трудоемкими элементами объекта для создания. В отличие от создания meshes меша объекта, я вкратце опишу, как создавать анимации нового объекта.
      Я использую плагин PhysX от NVIDIA для 3ds max. Я копирую свои геометрические модели, которые должны быть анимированы, вручную разбиваю их на различные части с тем же начальным положением, которое имела исходная mesh сетка, а затем определяю свойства rigid_body/kinematic_body/static_body плагина PhysX и моделирую сцену. Обычно мне приходится исправлять некоторые анимации, которые не выглядят законченными после разрушения.
      Naming standard стандарт именования building_pieceID_destructID_[optional]_anim
      Где building - это постоянный префикс, pieceID соответствует ключу объекта pieceID оригинальной геометрии, destructID соответствует оригинальному destructID (вы никогда не делаете анимацию для последнего уровня разрушения, потому что вы не можете разрушить самую разрушенную модель), а anim - это тег, который заставляет конструктор рассматривать этот ваш элемент как объект анимации. Тег [optional] определяет специальные анимации для различных состояний ворот (gate_closing, gate_opening, gate_closed_destruct, gate_open_destruct).
      Важно отметить, что каждый новый фрагмент вашей оригинальной части должен быть назван таким же образом. Другими словами, когда вы разбиваете вашу исходную mesh сетку на куски этой исходной сетки, каждый кусок этой конкретной сетки должен иметь точно такое же имя.
      Например, у нас был piece01_destruct01_lod01, и мы создали из него 10 кусков. Каждый фрагмент этой сетки должен быть назван как building_piece01_destruct01_anim
      rigid_TYPE STAND_RIGID
      class_TYPE DISPLAY
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION GRAPHICS_HIGH
      class_rigidINFO [optional]_anim (where [optional]_ это особый случай для ворот, в других случаях вы должны использовать anim)
      rigid_OBJECT
      Animation picture example – пример анимации
      Imp
      (обратите внимание, что последний кадр анимации полностью соответствует последнему уровню разрушения башни, за исключением частей, которые ушли под землю - именно такого результата вы должны добиться, чтобы сделать плавный переход) - поэтому сначала вы создаете неповрежденную геометрию -> создаете из нее анимацию, разбивая ее на независимые фрагменты и анимируя их с помощью NVIDIA's PhysX -> создаете поврежденную версию здания, копируя фрагменты анимации и объединяя эти объекты в один меш с именем pieceID_destruct02_lodID.

      Geometry reference Ссылка на референц объект
      Представьте, что вы сделали/нашли другой небольшой объект, такой как факел или дверь, или повторяющийся кусок стены и хотите использовать его в другом активе один или несколько раз. Иногда лучшим способом сделать это является ссылка на этот другой объект. Это именно то, чем является ссылка на geometry reference. Представление ссылки не является строгим. Это означает, что вы можете создать простой куб и использовать его как ссылку на другой объект. Что заставляет ссылку работать, так это правильное именование и атрибуты. Это не значит, что вы не можете использовать исходную модель в качестве ссылки. Иногда вы хотите увидеть, как она привязана к вашему объекту, поэтому лучшим способом будет использование исходной модели в качестве ссылки на саму себя.
      Naming standard стандарт именования pieceID_destructID_file:filename
      Где pieceID и destructID уникальны для самого референца, а не для модели, на которую вы ссылаетесь. тег file заставляет конвертер BOB рассматривать объект как ссылку на другой объект с именем filename, которое является точным именем актива, на который вы ссылаетесь.
      Пример именования: piece01_destruct01_file: torch_sconce
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO key
      rigid_OBJECT заданный путь к файлу (например, RigidModels\Buildings\torch_sconce\ where RigidModels\Buildings это местоположение ваших исходных и референц обьектов, а torch_sconce - имя на ссылающейся объект).
      Пример инстанцирования файлов ниже
      Imp

      Hard хард элемент
      Хард элемент - это примитивный объект, состоящий из замкнутого набора линий. Он приблизительно описывает границы видимого объекта на уровне земли. Харды используются для каждого уровня destruct /разрушения/. В большинстве случаев у вас есть только один хард для destructID, но в особых случаях, как в случае с воротами, вы создаете два харда на destructID объекта.
      Naming standard стандарт именования pieceID_destructID_[optional]_hardID
      Где pieceID и destructID - атрибуты именования прикрепленного геометрического файла. Тег tag [optional] используется для особых случаев, таких как ворота (например, piece02_destruct01_outlineID_hard). Как вы видите, при использовании опционального тега вы не указываете ID hard, а указываете ID optional. Тег hard является наиболее часто используемым, и если вы не указываете опциональный тег, вы также должны указать ID hard. В большинстве случаев это просто hard01. Хард создается на основе каждого разрушения (то есть вы должны создавать хард для каждого уровня разрушения destruction level).
      В отличие от всех предыдущих объектов, которые рассматриваются как meshes сетки, этот объект не является сеткой. Это набор линий. Таким образом, в 3ds max для создания хардов используется объект Line.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO [optional]_hardID (где [optional]_ используется для некоторых случаев, специфичных для ворот. В большинстве случаев необходимо использовать hardID. Однако если вы указываете необязательный тег, вы не должны указывать hard's ID)
      rigid_OBJECT
      Hard example picture пример площадки
      Imp

      Ground_ad поверхность земли
      Тип объекта ground_ad используется для определения AI Hint, насколько я понял. Он состоит строго из 2 вершин и является объектом Line в сцене 3ds max. Обычно вы располагаете его в начале на уровне земли (это означает, что Z(вверх) = 0) с позицией Y(вперед/назад), смещенной в зависимости от того, где находится центр вашего актива вдоль этой оси). X также определяется как 0.
      Naming standard стандарт именовани: pieceID_destructID_ground_ad
      Где pieceID и destructID обычно имеют ID = 01 (потому что ground ID является единичным для модели и поэтому прикреплен к основной части, и ни один из уровней destruct _разрушения, кроме 01, не имеет этого типа объекта).
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO ground_ad
      rigid_OBJECT
      пример координатной площадки/земли/
      Imp

      Platform платформа
      Объект платформы обычно представляет собой примитивную плоскую сетку, покрывающую область, которая позволит вашим юнитам стоять и передвигаться. Здесь важно упомянуть, что если вы создаете крепостные объекты, такие как стены, башни, ворота и т.д., вы должны убедиться, что платформы идеально соединяются и привязываются вершина к вершине в зонах соединения. В противном случае вы столкнетесь с тем, что юниты не смогут развернуться/переместиться на ваших объектах. Так же платформа создается на основании каждого destruct basis базисного разрушения объекта.
      Naming standard стандарт именования: pieceID_destructID_platformID
      Где pieceID и destructID - соответствующие ID "родительского" объекта видимой геометрии, т.е. если у вас есть стена, обозначенная как piece01_destructID_lodID, и вы создаете платформу для этой стены вы должны присвоить элементу ID идентификатор его видимой геометрии.
      platformID - это уникальный ID платформы для каждого отдельного разрушения. Как вы можете догадаться, вы можете иметь более одной платформы на один уровень разрушения.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO platformID
      rigid_OBJECT
      Platform пример на картинке ниже
      Imp

      Platform_Ground платформа_земли
      Тип объекта platform_ground используется для того, чтобы позволить юнитам проходить через разрушенную версию вашего актива. Как вы можете догадаться, он используется в основном для разрушенных частей стены, как последний уровень разрушения. Platform_ground имеет относительно простую форму, но в отличие от обычной платформы, эта не является идеальной прямой плоскостью. Она имеет несколько изогнутую форму, где середина - самая высокая точка, а стороны - самые низкие, поэтому, когда юниты ступают на эту платформу, это выглядит так, будто они забираются на кучу мусора/отбросов. Границы этой платформы должны совпадать с границами вашего разрушаемого объекта, чтобы не казалось, что юниты пролетают над объектом или проходят под ним. Эта платформа все еще сделана из плоского примитивного 3d объекта и не имеет задних граней, только грани над уровнем земли (отсюда и название). Обычно platform_ground - это один объект такого типа на весь объект.
      Naming standard стандарт именования: pieceID_destructID_platform_ground
      Где pieceID и destructID наследуются от вашего последнего уровня разрушения. platform_ground - это постоянный тег, помогающий инструменту конвертации рассматривать его как объект platform_ground (очевидно).
      rigid_TYPE STAND_RIGID
      class_TYPE
      TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO platform_ground
      rigid_OBJECT
      Platform_ground пример на картинке ниже
      Imp

      EFLines линии бойниц/амбразур/
      Уверен, что EFlines быстро станет самым ненавистным объектом в вашем наборе элементов для вашего объекта.
      Эти линии представляют собой небольшие линейные объекты, основанные строго на 2 вершинах (да, те же линии используются для хардов). У вас есть набор EFLines для каждой платформы, потому что в процессе конвертации все ваши eflines привязываются к платформам, и если хотя бы одна из них не совпадает, вы не сможете конвертировать свой объект. Именно это и может сделать его неприятным именно для вас, как для автора всего этого хозяйства, которое вы хотите ввести в конструктор Ted.
      Что же представляют собой эти элементы? Именно эти элементы/извиняюсь за тавтологию/ определяют поведение юнита, когда он стоит в пределах зоны efline. Вы когда-нибудь сталкивались с тем, как юниты поворачивают свои тела возле зубцов -бойниц на стенах, в то время как остальные юниты стоят позади них и ведут себя по-другому? Это именно то, для чего используются efline.
      Обычная практика - иметь около 200 eflines на сцену/объект. Что еще хуже, приходится прикреплять атрибуты и свойства для каждого из них. К счастью, я нашел способ создать скрипт для 3ds max (он будет представлен в последнем уроке), который облегчает работу и делает всю эту работу одним щелчком мыши. Однако перед использованием скрипта вы должны создать все свои eflines и убедиться, что результат окончательный, потому что процесс необратим.
      Naming standard стандарт именования: EFline_pieceID_destructID_lineID
      Где EFline - константный тег, определяющий объект как объект efline. pieceID и destructID соответствуют соответствующей платформе (чтобы понять "родительскую" платформу вашего efline, просто проверьте глазами, лежит ли он на платформе или нет.
      тег lineID обозначает уникальный идентификатор вашей линии. Важно отметить, что линии в пределах одного уровня разрушения не могут иметь одинаковый lineID, даже если они прикреплены к разным частям.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO EFLineID
      rigid_OBJECT
      Imp

      Docking_lines линии стыков при штурме
      В отличие от EFLines, стыковочные линии легко и быстро создаются. Очевидно, что, как и EFLines и Hards, DockingLines - это те же объекты "линии", состоящие из 2 вершин (возможно, вы можете использовать больше, но я почти уверен, что строго 2 вершины и одна линия на dockingLine).
      Эти линии служат точкой крепления осадных машин для десанта/осады вашего объекта (стена - осадная башня, ворота - таран и т.д.). Вы можете иметь несколько стыковочных линий на уровень разрушения, но у вас нет стыковочных линий на последний поврежденный уровень разрушения (очевидно, потому что он уже разрушен).
      Naming standard стандарт именования: DockingLine_pieceID_destructID_lineID
      Где DockingLine - константный тег, определяющий тип объекта. pieceID и destructID - соответствующие ID прикрепленной геометрии, а lineID - уникальный ID для каждой линии.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (такой же как в имени объекта)
      destruct_ID destructID (такой же как в имени объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO DockingLineID
      rigid_OBJECT
      Imp

      Region_zones зоны_регионов
      Region_zones не совсем понятны даже мне. По моему опыту, они определяют так называемую "зону поля боя" (да, похожую на ту, что есть в редакторе TEd), и эта зона позволяет вашим юнитам перемещаться/развертываться и делать остальные осадные действия на вашем объекте. Если EFLines и DockingLines определяют само действие/цель и определяют позиции для этого, то region_zones позволяют использовать эти линии в пределах области, определенной в region_zone. Область region_zone состоит из набора Lines линий и является объектом из Line в сцене 3ds max. Он создается так же, как и Hard элемент. Поэтому к region_zones применимо правило для Hard элементов: она должна быть заключена в набор линий, то есть первая и последняя вершины должны быть соединены общей линией.
      Naming standard стандарт именования: region_zoneID
      Где ID — это уникальный идентификатор объекта region_zone. Это означает, что вы можете иметь несколько региональных зон для одного объекта. Обычное количество region_zones в вашей сцене - 2 region_zones с 4 вершинами каждая (в случае, если ваш объект прямой). Мне неизвестно, почему вы должны определить как минимум две зоны региона, если вы покрываете одну и ту же область двумя зонами, а не одной.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (определяется 01 как ID для такого типа объекта)
      destruct_ID destructID (определяется 01 как ID для такого типа объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO region_zoneID
      rigid_OBJECT
      Imp

      Pipe_wall_door стеновой тоннель_дверь
      Тоннель — это "открытые - не замкнутые" наборы Линий (то есть вам не нужно соединять последнюю вершину с первой). Тип объекта в сцене - "Линия". Идея этого типа объекта - своего рода телепорт, и вот почему: когда вы приказываете юнитам забраться на стены, они идут к этим входу_тоннелю (невидимым в игре и обычно расположенным внутри дверей, соединяющих верхнюю и нижнюю двери), и как только они оказываются на определенном близком расстоянии от тоннеля_двери, они исчезают возле нижней двери и появляются у верхней двери на верху стены. Вот почему я называю это телепортацией.
      Этот набор линий выглядит как линия, входящая внутрь геометрии двери (напоминающая нормальный вектор, но не строго перпендикулярная), затем следующие линии меняют направление в сторону оси вверх, а затем еще раз меняют направление в сторону верхних дверей. Именно поэтому этот объект называется тонель или труба - потому что его архитектура напоминает обычные отопительные короба_тонели или водопроводные трубы, которые вы используете для обогрева дома (они находятся либо возле стены, либо встроены в стену).
      Naming standard стандарт именования: pieceID_destructID_pipe_wall_doorID
      Где pieceID и destructID наследуются от имени родительского объекта (обычно это piece01 и destruct01, потому что трубы в большинстве случаев используются на уровне разрушения без повреждений, а не на уровне разрушения с повреждениями (очевидно, потому что двери сломаны)). pipe_wall_doorID - уникальный идентификатор конкретного объекта трубы.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (определяется 01 как ID для такого типа объекта)
      destruct_ID destructID (определяется 01 как ID для такого типа объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO pipe_wall_doorID
      rigid_OBJECT

      Arrow_emitter метатель стрел
      Тип объекта arrow_emitter используется в основном для башен и предназначен для определения направления и положения (другими словами, вектора) стрелы, которая будет выпущена из вашей башни. Обычно в вашем объекте на башни есть небольшие окна в качестве бойницы_амбразуры, откуда будут метаться стрелы, и именно там вы должны разместить ваши метатели стрел. По моему опыту, метатели стрел могут быть любой формы, однако рекомендуется сделать их в виде плоскости с одной стороной, чтобы она определяла направление. Позже вы сопоставите положение и направление (и масштаб) объекта-плоскости с окном, из которого будет выпущена стрела, и сделаете это N раз (где N - количество окон в вашем объекте).
      Naming standard стандарт именования: pieceID_destructID_arrow_emitterID
      Где pieceID и destructID наследуются от имени родительского файла (геометрия со встроенными окнами для этой цели). Обычно ваши pieceID и destructID всегда = 01, потому что по очевидным причинам, когда ваша башня повреждена/разрушена, у вас больше нет доступа к бойницам для стрельбы (потому что первое, что будет повреждать игровой AI — это ваши башни).
      EmitterID — это уникальный идентификатор вашего объекта-эмиттера, заданный в числовом порядке (так же, как и для любых других идентификаторов объектов).
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO pieceID (определяется 01 как ID для такого типа объекта)
      destruct_ID destructID (определяется 01 как ID для такого типа объекта)
      graphics_OPTION NOT_GRAPHICS
      class_rigidINFO arrow_emitterID
      rigid_OBJECT

      Flag флаг
      Flag - самый неизвестный для меня тип объекта на данный момент. Я не пробовал проверить, для чего он используется, но если вы спросите меня, я бы поставил на то, что он используется как идентификатор для элемента пользовательского интерфейса, на котором он должен быть размещен. Представьте, что вы создаете башни разного масштаба, одни больше, другие меньше. Если вы программист, как вы убедитесь, что элемент пользовательского интерфейса (тип иконки актива, например, башня, ворота, стена и т.д.) находится только над объектом, а не внутри него (где-то посередине)?
      С моей точки зрения, у вас есть два варианта: либо найти максимальные положения вершин и поместить элемент пользовательского интерфейса над этими значениями с некоторым заданным смещением, либо использовать специальный идентификатор, такой как этот флаг (флаг UI?).
      В любом случае, это только мое предположение, и я не проверял, верно оно или нет, но то, что я могу сказать о процессе создания этого элемента объекта, выглядит следующим образом: Флаг — это любой вид геометрии, но обычно я использую бокс как место для объекта флага и определяю положение флага, указывая позицию для объекта бокса. Обычно флаг располагается на 2 или даже 3 метра выше самой высокой вершины объекта.
      Naming standard стандарт именования: flag
      Где flag — это постоянный тег. Как вы можете видеть, тег flag не имеет постфикса ID, и это означает, что вы можете иметь не более одного флага на ваш объект.
      rigid_TYPE STAND_RIGID
      class_TYPE TECH
      piece_INFO piece01
      destruct_ID destruct01
      graphics_OPTION NOT_GRAPHICS
      class_rigid INFO flag
      rigid_OBJECT
      Imp

      Object Creationc Pipeline Конвейер создания объекта.
      Для того чтобы правильно построить сцену в 3ds max наиболее быстрым и простым способом с минимальным количеством проб и ошибок, я обозначил так называемый конвейер создания объектов (OCP). Его цель - описать шаги, с чего начать, в каком порядке следовать и как собрать все воедино.
      Мы разобьем OCP на следующие шаги:
      1. Сначала создается атлас текстур. Это не очевидно, но для экономии памяти и повышения производительности вам необходимо сделать атлас текстур, который включает в себя все необходимые шаблоны текстур для всех случаев. Это означает, что вы используете одну текстуру для каждой модели определенной культуры. Вы можете посмотреть, как выглядят атласные текстуры в файлах ванили. Создание текстуры выходит за рамки данного руководства.
      2. Создайте все lod части mesh сетки вашей модели. Очень важно строго следовать концепции модели, которую вы делаете. Потому что, если вы не уверены в окончательной форме, которую хотите создать, вам придется переделывать все почти с нуля несколько раз. Небольшие изменения все же допустимы на более поздних этапах, но постарайтесь свести их к минимуму. Здесь также очень важно учитывать, будет ли ваша модель самостоятельной или станет частью другой, более крупной модели. Например, с одной стороны, вы можете сделать отдельную модель произвольного дома, которая требует буквально только mesh_сетки и коллизий, но с другой стороны, вы хотите создать модели, которая будет соединена с воротами, башнями и другими частями крепостных укреплений. Это означает, что вы должны где-то сохранить размеры и точно следовать этим размерам. В противном случае ваши части не будут совпадать и логика не будет работать (логика означает, что ваши юниты не смогут размещаться на стенах, перемещаться по ним и т.д.).
      Если вы просите совета, добавьте объект соединения в вашу сцену, только для ссылок на размеры. На этом конкретном этапе рекомендуется не создавать LODы, а только фрагменты и соответствующие им уровни разрушения. Важно: не создавайте поврежденные/разрушенные модели на этом этапе! Иначе вы рискуете не совместить их с анимацией.
      3. Настройте параметры материалов. На этом этапе мы предполагаем, что вы создали 3d-модели и развернули их в соответствии с атласом текстур. Здесь нужно знать то же самое, что вы делаете при создании пользовательских моделей для юнитов, например, шлемов. Вы помещаете различные текстуры в соответствующие слоты в параметрах шейдера материала и указываете rigid_material. Однако здесь важен еще один шаг. Обычно у вас есть не только одна атласная текстура. Например, иногда у вас есть специальный набор текстур только для ворот или дополнительный атлас текстур для дверей, окон, колонн и т.д. Вы просто устанавливаете два разных материала, а затем создаете третий материал с типом Multi/Sub-Object Material. Вы просто перетаскиваете свои отдельные материалы в каждый слот новейшего материала. Для ссылки на различные материалы внутри одного супер материала используется идентификатор полигона в меню геометрии (он находится рядом с группами сглаживания). Очень важно отметить, что building assets поддерживают 2 слоя (канала) UVs. Это означает, что вы можете иметь 2 разных канала с разным расположением UV для дополнительных эффектов, таких как tiled_dirtmap.
      4. Создавайте анимации. Для анимации вам понадобятся только meshes сетки деталей. Разделите их на фрагменты вручную и смоделируйте разрушение с помощью плагина NVIDIA PhysX для 3ds max. Этот шаг необязателен, поскольку у вас нет уровней разрушения для таких объектов, как дома или другие типовые "внутренние" здания, и даже если они у вас есть, вы, по понятным причинам, никогда не столкнетесь с тем, чтобы ИИ пытался повредить ваши внутренние здания. Важно: Только после завершения анимации вы должны скопировать все фрагменты анимации (за исключением фрагментов под землей по соображениям производительности) и объединить все фрагменты в отдельную mesh сетку.
      5. Создайте простую форму куба, чтобы при необходимости ссылаться на внешние модели. Мы называем это инстансированием или ссылкой на уже существующие референц активы объектов.
      6. Как только вы закончите с сетками и анимацией, можно приступать к созданию TECH-объектов. TECH относится к технике и обычно означает, что эти объекты не будут видны игроку, но играют огромную роль в логике игры.
      К Tech объектам относятся: collision3d, hard, platform, platform_ground, bridging_columns, region_zones, eflines, docking_lines и др. Порядок здесь не строгий, и у вас есть свобода действий, однако я предлагаю оставить eflines и region zones напоследок и начать с collison3d. Это потому, что eflines наиболее сложны в работе, и вы определенно не захотите их переделывать.
      7. Для этого шага предлагается создать оставшиеся элементы, такие как arrow emitters/метатель стрел/, pipes/тонели/ и т.д. Это также идеальное время для создания LODов в самой 3d_модели.
      8. Этот шаг довольно скучный. Он требует определения пользовательских атрибутов объекта и свойств объекта для каждого объекта. Да! В вашей сцене (если это форт-актив) в среднем около 200 объектов! И для каждого из этих объектов вы должны определить пользовательские атрибуты и свойства. К счастью, я сделал несколько скриптов для 3ds max, которые облегчают этот процесс, но они не идеальны, и вам часто придется работать вручную.
      9. Если все вышеперечисленные шаги были выполнены правильно, вы можете экспортировать сцену в файл .cs2 (не забудьте отметить "export all keys экспортировать все ключи", если у вас есть анимация в сцене). На этом шаге вы должны определить правила rules.bob и запустить BOB convert для обработки .cs2 файла и преобразования его в готовые для игры модельный активы.
      10. На этом шаге вы должны немного поработать с базой данных. BOB генерирует 2 файла db, один - battlefield_buildings, а другой - models_buildings. Первый — это тот, который вы должны редактировать с помощью PFM, а второй не должен редактироваться (и не может быть отредактирован из-за ограничений PFM - на данный момент его уже можно редактировать программой RPFM). Как только вы закончите с этим, вы можете скопировать. meta файлы ванилы (используемые для определения SFX для активов) и импортировать ваши только что преобразованные файлы активов, готовых к игре, в ваш PACK файл с помощью PFM. На этом этапе ваш модельный актив состоит из (опционально).anim, rigid_model_v2 (используется для геометрии и ссылок на текстуры), metas (используется для ссылок на SFX), cs2.parsed (состоит из логики актива, включая коллизии), текстур и файлов базы данных.
      11. Последний шаг зависит от того, как вы хотите использовать ваши активы. Если вы хотите использовать его в TEd для добавления на вашу пользовательскую карту, вам следует создать дополнительный файл пакета и импортировать ТОЛЬКО файлы базы данных вашего актива. Хитрость здесь в том, чтобы создать ваш pack_файл типом -> movie. Потому что другие типы паков не сделают ваш модельный актив видимым и доступным в TEd. Если вы больше не хотите, чтобы ваш актив был в TEd, но хотите, чтобы он появился в игре, вы должны иметь все файлы вашего актива в конечном файле pack и определить тип пака_pack-> mod. Не забудьте удалить тип movie pack, как только вы закончите с TEd, потому что movie packs заставляет вашу launcher лаучер игры крашится crash, когда вы пытаетесь включить/выключить моды в mod manager/менеджере модов//.

      Вот вкратце схема действий:
      Создание текстур -> создание мешей (за исключением damaged meshes - мешей повреждения) -> настройка материала -> создание анимации -> создание мешей повреждения на основе финального кадра анимации -> создание ссылок на референц мешей (экземпляров) -> создание логики -> создание специализированной логики для конкретного актива -> применение атрибутов и свойств -> экспорт, настройка правил и конвертация -> кодирование актива в DB -> добавление файлов в пакет.
      How to bring custom buildings in-game_RU word_format (Reveal)

      How to bring custom buildings in-game_EN word_format (Reveal)

      Плейлист на youtube всего процесса от автора (Reveal)
         vadim
        • Imp
        Imperial
         

        Date: 09 April 2023, 09:06

        Приветствую Камрадов
        Подготавливаю к публикации Главу №8 своего труда TerraModding
        Глава будет иметь название
        Ввод новой тактической карты в игру/в карту компании/
        Она посвящена пояснению механики и техническому, полному, поэтапному руководству вводом
        новой карты в компанию игры Total War Attila.
           vadim
          • Imp
          Imperial
           

          Date: 17 April 2023, 09:03

          Приветствую Камрадов.
          Поскольку имею новую информацию и свежие данные по работе над картами решил изменить первоначальный план публикации своего труда
          под названием TerraModding
          Хотел закончить на восьмой главе.
          Тем более что не резонанса, ни отзывов на данный труд, не наблюдается совершенно.
          Но всё таки изменил своё первоначальное решение и расширяю общий объём своих публикаций до 10 глав.
          Надеюсь что всё таки найдутся увлечённые люди, и всё что я выкладываю станет востребовано и необходимо.
             vadim
            • Imp
            Imperial
             

            Date: 21 April 2023, 20:50

            Глава восьмая
            Предисловие
            Глава №8 - это учебное пособие посвящённое извлечению из одной игры total war и введению в другую игру серии total war объектов ландшафта и архитектуры .

            Извлечение здания и корректный ввод в Ted конструктор
            Building extraction and correct input into Ted constructor
            Автор vadim
            Вступление.
            Данная глава написана на основе исследований по вводу зданий и иных объектов из игр серии Total War / Total War ROME II, Total War Saga Thrones of Britannia и тд./ в конструктор TEd.AssemblyKit, для последующего использования в создании новых тактических карт на базе инфы из TerraModding.
            Так же сведения и моддинг-шаги из моей новой главы можно применять для извлечения и использования объектов из сторонних модов/в которых имеются новые, интересные элементы билдинга/ а также для доставания элементов карты из игр total war выпущенных разработчиками позже Total War Attila /только для более поздних элементов нужно проводить дополнительные конверт - работы по вводу в игру Attila/

            Оглавление
            1. Информации о Pack_файлах - программных типах пакетных файлов
            2. Этапы извлечения модели
            3. Извлечение графических файлов модели
            4. Помещение новой модели в Pack_файл
            5. Сохранение нового Pack_файл и проверка корректности работы новой модели в Ted

            Информации о Pack_файлах
            Для чего нам нужна эта информация в рамках нашего учебного пособия? Именно при помощи изменённого Pack файла, в котором будет находится наша извлечённая модель, мы и будем вводить эту модель для использования в конструкторе Ted. Только при помощи изменённого пака игра сможет увидеть новую модель.
            Итак, начнём с первичной информации о программных типах пакетных файлов, которые используются в общих структурных папках игр на движках warscape – warscape+ - warscape++.
            Pack-файл - это что-то на подобии zip/rar-архивного файла, который содержит в своей сжатой структуре, рабочие файлы игры. И используется самой игрой прям из этого pack_архива без предварительной распаковки.
            Пак_архивы имеют свою градацию и своё различие по типам-свойствам/ данная градация связана с разными свойствами их применения и их читабельности самой игрой/:
            release (официальные тип от разработчиков CA)
            movie (тип пользовательского пакета, который загружается игрой автоматически, в первую очередь, без вашего выбора)
            mod (тип пользовательского пакета, который загружается игрой, только если вы лично включаете данный пак файл в команду загрузки)
            Для работы с данным типом файлов используется мод_софт RPFM автором этого инструментария является камрад Frodo.

            Из перевода мануала по инструменту RPFM /инфа о типах пак файлов и их сохранении/
            Change PackFile Type Изменить тип файла PackFile: Этот раздел позволяет изменить тип открытого PackFile и настроить некоторые параметры для него.
            Как правило для моддинга используется только тип пак файла "Mod".
            Так же в отдельных операциях необходимых для работы изменённых файлов, иногда поменяются, типы файлов "Movie". "Boot", "Release" и "Patch" — это типы пак файлов используемые разработчиками игры и они/эти типы пак файлов/ не подходят для моддинга.
            Тип пак файла "Other" вообще предназначен для специальных или особых пак файлов. Он не используется для моддинга никогда.
            Так же следует помнить, что по умолчанию RPFM не позволяет вам сохранить PackFile, если он "Boot", "Release" или "Patch".
            Если вы все же хотите это сделать, включите параметр "Allow Editing of CA PackFiles - Разрешить редактирование CA PackFiles".
            Напоминаю - параметр. "Other" PackFiles и свойство PackFiles с "Data Is Encrypted", "Index Is Encrypted" или "Header Is Extended" не могут быть сохранены ни коим образом.
            Imp

            Этапы извлечения модели
            1. Выбираем модель. Для визуальной оценки модели можно использовать так же Ted /конструктор из игры из которой мы и будем брать модель/ Мы выбрали для примера модель деревянной башни англосаксов из игры Saga Thrones of Britannia
            Imp
            Итак, наша модель vik_anglosaxon_watchtower
            2. Идём в главную директорию игры/где будем брать модель/ в папку data
            директория Steam\steamapps\common\Total War Saga Thrones of Britannia\data
            Далее открываем софтом RPFM пак файл models2.pack именно в нём находится весь билдинг и иные модели для тактик карт.
            Выбираем папку vik_anglosaxon_watchtower и копируем её в заранее подготовленную папку / например на рабочем столе/ для собирания всех элементов модели.
            Imp
            3. Теперь достаём файлы прописи новой модели.
            Это два файла battlefield_buildings и models_buildings /они лежат в паках battlefield_buildings_tables и models_buildings_tables/ они лежат в общей папке db в паке data.pack по той же директории
            Steam\steamapps\common\Total War Saga Thrones of Britannia\data\db
            Внимание. При извлечении battlefield_buildings переводим RPFM в разделе Game Selected в режим файловой системы игры Attila
            При извлечении models_buildings переводим RPFM в разделе Game Selected в режим файловой системы игры Troy
            battlefield_buildings
            Imp
            models_buildings
            Imp

            Извлечение графических файлов модели
            Теперь мы извлечём все необходимые текстурные файлы для нашей новой модели. Для этого нам необходимо открыть ригит_файл модели и найти приписанные в нём текстурные файлы.
            Ригит файл открывается либо при помощи при помощи специального софта, например RMEditor
            Imp
            RMEditor
            Imp
            Либо при помощи всё того же RPFMа открыв тот же пак models2.pack
            У нашей новой модели два основных ригит файла где и надо смотреть текстуры
            Первый ригит файл vik_anglosaxon_watchtower_piece01_destruct01.rigid_model_v2 это основной файл по модели билдинга
            И второй ригит файл vik_anglosaxon_watchtower_piece01_destruct02.rigid_model_v2 это файл по ландшафту на котором стоит данный билдинг
            Imp
            ------------
            Imp
            Из обоих этих файлов мы берём корни ключей /корни чтобы находить сразу блоки необходимых файлов/ названий текстурных файлов,
            копируем эти названия и в том же RPFM находим все эти текстурные файлы
            вот их корни
            barbarian_fort_walls set_generic barbarian_stonefloor
            Текстурные файлы моделей билдинга находятся в том же паке models2.pack в папке textures
            barbarian_fort_walls
            Imp
            set_generic
            Imp
            barbarian_stonefloor
            Imp
            Так же хотелось бы отметить, что в текстурных наборах файлов присутствуют /довольно часто/ рабочие тестовые файлы, которые нет смысла переносить из одной игры в другую поскольку они содержатся так же и в той игре, для которой мы всё это выбираем.

            Внесение всех файлов новой модели в Pack_файл
            Все наши файлы для новой модели собраны в отдельную папку. Следующим этапом нашей тестовой работы, мы должны поместить их в игру и главное ввести все эти файлы новой модели так чтобы игра увидела их и смогла ими оперировать.
            Imp
            Для этого мы будем использовать всё тот же RPFM
            Создаём новый, пустой пак файл в RPFM
            Imp
            По дефолту он называется unknown.pack в дальнейшем, после заполнения этого пака нашими подготовленными ранее элементами модели, мы при сохранении его в директорию игры изменим его название.
            Imp
            Далее мы вносим целые папки/подготовленные нами/ при помощи шаговой команды Add Folder
            Imp
            Структура внесённых папок и файлов при этом остаётся такой же дефолтной как при их первичном копировании. Это необходимо чтобы игра понимала и принимала структурность модельных элементов и файлов их описывающих /db/
            Imp
            Внимание. Перед внесением всего блока папок переводим RPFM в разделе Game Selected в режим файловой системы игры Thrones of Britannia
            Imp
            Далее идём в нашем новом пак архиве в battlefield_buildings и находим там графу с описанием нашей новой модели vik_anglosaxon_watchtower
            Графа battlefield_buildings имеет номер 692 – выделяем всё что выше данной графы – удаляем
            Imp
            выделяем всё что ниже данной графы – удаляем
            Imp
            Теперь меняем название самого файла battlefield_buildings при помощи функции RPFMa - Rename/Move
            Imp
            В итоге мы получаем новый программный, корректный файл battlefield_buildings_vik_models_01 прочитав который игра сможет увидеть и использовать описание нового внесённого билдинга.
            Внимание. Изменения ключей названий программных файлов — это очень важный момент моддинга – это необходимо делать чтобы игра смогла использовать и новые и дефолтные данные комплексно и корректно.
            Аналогичный процесс, по изменению структуры файла и его названию проведите и с файлом models_building на выходе вы должны получить новый программный, корректный файл models_building_vik_models_01
            Imp
            Следующая операция из нашего тестового действия будет изменение одной из граф нового файла models_building_vik_models_01 — это делается для удобства нахождения новой модели в библиотеки билдинг моделей уже в самом конструкторе Ted
            Меняем структуру графы Display Path – дефолтно в ней была надпись vik_anglo_saxon меняем её на более сложную vik_anglo_saxon/watchtower где мы при помощи этой записи усложняем градацию структуры папок в библиотеки билдинга. Мы несли отдельную под папку watchtower
            Вот пример библиотеки билдинг моделей конструкторе Ted /это до внесения нашей новой модели/
            Imp

            Сохранение нового Pack_файла с моделью
            1. Выделяем наш новый пак файл unknown.pack переводим RPFM в разделе Game Selected в режим файловой системы игры Attila
            2. Меняем тип нашего нового пак файла в разделе Change PackFile Type на тип Movie
            Imp
            3. Сохраняем наш новый пак с изменённым названием models4_vik_01.pack
            Директория сохранения пака Steam\steamapps\common\Total War Attila\data
            4. Ищем нашу новую модель в библиотеки билдинга Ted, смотрим изучаем и используем для применения в наших новых тактических картах.
            Imp

            Building extraction and correct input into Ted_RU word_format (Reveal)
               vadim
              • Imp
              Imperial
               

              Date: 25 April 2023, 07:30

              Приветствую Уважаемых Камрадов.
              Готовится к публикации Глава №9
              Новая глава TerraModdinga будет посвящена изменению глобальной карты и вводу в глобальную карту новых тактических карт.
              Надеюсь что правки новой главы закончу до майских праздников и выдам на гора /так сказать/
                 vadim
                • Imp
                Imperial
                 

                Date: 08 May 2023, 08:23

                До праздников не успел Камрады.
                Но Глава №9 проходит правки и будет выложена после точной проверки функционала
                всех Моддинг Механик описанных в новой главе.
                Несколько дней короче Камрады до публикации /если конечно кто то в этом заинтересован/
                   vadim
                  • Imp
                  Imperial
                   

                  Date: 09 May 2023, 20:25

                  скрин редактора карты Компании в районе вала Адриана /в Британии/
                  To view the link Register
                  скрин редактора Тактический тайлов карт на глобальной карте компании в районе вала Адриана /в Британии/
                  To view the link Register
                  ----------
                  To view the link Register
                  ----------
                  To view the link Register
                     vadim
                    • Imp
                    Imperial
                     

                    Date: 29 March 2024, 22:53

                    Две Главы осталось чтобы сей Труд был полностью завершён.
                    В принципе эти две главы уже лежат у меня что называется в столе.
                    Но в последнее время появилось довольно много очень интересной информации именно по Картостроительсту на игровом движке warscape.
                    Информация развёрнутая и она касается по новому довольно лаконичному/и по структуре более простому/ способу введению совершенно своих зданий - моделей в Акиту.
                    Для дальнейшего их использования как полноценных элементов билдинга в тактических картах компании.
                    И так же появилась считаю классная тузла /новая/ по введению своих карт/авторских/ в карту компании.
                    Безусловно эта софтина/сделанная энтузиастами/ нуждается в полном мануале - пояснении и даже наглядной презентации.
                    Всё это можно было бы сделать и выложить в данной теме - которая безусловно является уникальной на общих просторах Сommunity of the Total War series of games.
                    Но судя по активности в теме - делаю чёткий вывод что это не интересно и не нужно на данный момент.
                    Отдельные увлечённые моддингом Камрады и Творцы могут обращаться ком мне лично за консультациями и пояснениями.
                    С уважением vadim.
                    :046:
                      • 5 Pages
                      • « First
                      • 3
                      • 4
                      • 5
                       
                      Translate a Page
                      Community ImperialTotal War: Attila Моды Total War: Attila Глобальные моды Total War: Attila Bellum Civile Feedback
                      Style:Language: 
                      Conditions · Responsibility · Confid. · About · 03 Jul 2026, 02:02 · Mirrors: ImtwOrg, ImtwSite, ImtwRuImtwRu, ImtwOrg, ImtwSite