Alex

Администратор
  • Публикации

    11 968
  • Зарегистрирован

  • Посещение

Все публикации пользователя Alex

  1. @cursantus если продуманно делать линии и размещать станции, то мод и не нужен будет.
  2. Более того: можно выделить необходимый кусок и над ним тут же появится кнопка "Цитировать". Нажимаете - и цитата в форме сообщения.
  3. В этой игре нам предстоит строить свою железнодорожную империю (то есть, корпорацию) в Америке XIX века - золотой век железных дорог. Railway Corporation уже обзавелась страницей в Steam, и описание её таково: Постройте карьеру амбициозного руководителя железнодорожной компании XIX-го века, выполняйте поручения инвесторов. Прокладывайте железные дороги в старые и новые города. Решайте, как использовать проложенные пути, чтобы получить максимальную выгоду для компании. Наслаждайтесь красотой природы - вскоре она будет пронизана извилистыми линиями железных дорог, тоннелями и мостами. Индустриальный прогресс не остановить! Проявите должное упорство, чтобы учредить собственную железнодорожную корпорацию, развить местную экономику и сколотить состояние в Новом свете. Чтобы стать лучшим, вам нужно уделять внимание всем аспектам своей империи, заботиться о новых инвестициях, лоббировать свои интересы, управлять всеми ресурсами компании и постоянно приглядывать за конкурентами. Особенности: Создайте собственную железнодорожную корпорацию XIX-го века и управляйте ею прокладывая пути, тоннели, мосты для движения поездов. Выбирайте настоящие исторические локомотивы и формируйте поезда — изобретайте и улучшайте свой железнодорожный состав по мере развития бизнеса. Планируйте, стройте, пронизывайте тоннелями прекрасный пейзаж, простирающийся от города к городу. Влияйте на города, покупайте недвижимость, управляйте огромной бизнес империей. Играйте в одиночку, против одного или нескольких соперников. Лоббируйте свои интересы у политиков, торгуйте на фондовой бирже и защищайте свою огромную империю от врагов. Исходя из вышенаписанного, нас ожидает интересная экономическая стратегия с конкуренцией, продуманной экономикой и, конечно, поездами. Что же из этого выйдет мы узнаем уже в 2019 году.
  4. Интервью в голосе от NGC и RIMPAC вы можете увидеть здесь, а ниже - его текстовый вариант. Вопрос: Удивительно, но с момента выхода игры прошло почти 2 года, а никаких платных / бесплатных дополнений игроки так и не увидели. Планируете ли вы выпустить какие-нибудь DLC к Transport Fever в дальнейшем, и что в них может попасть? Ответ: Сейчас нет планов релизить бесплатные или платные DLC к игре. Мы хотели сфокусировать наши усилия на базовой игре. Таким образом, мы множество раз патчили игру, исправляя ошибки, улучшая геймплей, повышая комфорт игры и расширяя возможности моддинга. В: Transport Fever - довольно популярная игра, в том числе и для моддеров. Нет ли у вас желания вновь запустить какой-нибудь конкурс моделей транспорта с призовым фондом? О: Мы думаем об этом, хотя и не имеем конкретных планов. Однако, мы с удовольствием выслушаем предложения сообщества о теме конкурса. В: Почему в игре нет транспортных самолётов (грузовой авиации), и есть ли шанс когда-нибудь их увидеть? О: Игра сбалансирована таким образом, что грузы предпочитают более медленные и дешевые маршруты. Самолёты предназначены для пассажиров, которые хотят путешествовать быстро, тогда как корабли для людей и грузов, которые хотят путешествовать дешево. В: Transport Fever - игра как про грузы, так и про пассажиров. Хотели бы вы ввести в игру какие-нибудь новые виды общественного транспорта, например, троллейбусы или метро? Или что-нибудь кардинально новое как трубопроводы для жидкостей или энергосистемы. О: Это звучит интригующе, и мы очень рады тому, что моддеры создают новые средства транспорта, такие как канатные дороги и метро, при существующих возможностях. Вероятно, мы не добавим новые виды транспорта, но мы пытаемся сделать моддинг более доступными. Например, мы недавно расширили содержимое раздела о моддинге в Wiki. В: Есть ли уже сейчас планы на будущее? Сколько вы планируете продолжать поддерживать Transport Fever и есть ли задумки по поводу новых игр? (Вопрос, очевидно, слегка устаревший - прим. адм.) О: Мы планируем продолжать оказывать поддержку, пока это будет необходимо для устойчивой жизни игры, и мы постараемся сделать все возможное, чтобы Transport Fever продолжала функционировать на будущих операционных системах и оборудовании. Разумеется, после последнего патча мы также сохраним открытым адрес электронной почты поддержки для любых вопросов относительно игры. В: Игроки утверждают, что с одним из обновлений из игры была удалена часть музыкальных композиций. Если это действительно так, то какова этому причина? О: Саундтрек к игре не был изменен с момента выпуска игры и по-прежнему состоит из 32 треков. Но только часть композиций воспроизводится в зависимости от игрового года. Если игрок начинает играть в 1850 году, со временем набор музыки меняется, а старые композиции больше не будут воспроизводиться. Это может создать впечатление, что что-то было удалено. Обратите внимание, что влияние времени на музыку, может быть отключено в главном меню. В: Хотели бы вы добавить в Transport Fever или вашу следующую игру (если она так же будет в жанре стратегии) ИИ-конкурентов? О: Интеграция конкуренции с ИИ, а также многопользовательской игры, сложна. Хотя с технической точки зрения это возможно, но для этого потребуется приложить огромные усилия из-за того, что в игре нет привязки к сетке, т.е. вы можете свободно размещать здания. Кроме того, самым сложным будет сделать это веселым и интересным одновременно. Конкуренция должна не только мешать, но и представить новые возможности для игры и способы подумать о стратегии, поэтому игра изначально должна быть разработана с учетом этих особенностей. Для Transport Fever мы решили, что лучше потратить время на создание отличного опыта одиночной игры, где игрок может выбрать свои собственные цели в песочнице и выполнять задания кампании. Тем не менее, мы все равно хотели бы когда-нибудь сделать игру, которая включает в себя мультиплеер или ИИ. В: Планируются ли какие-нибудь глобальные бесплатные обновления для Transport Fever в ближайшем будущем? О: В списке пожеланий по-прежнему много вещей, которые хотелось бы сделать. Хотя мы, конечно, не можем реализовать все предложения игроков, мы рассматриваем самые популярные запросы. В: Почему вы отказались от вида от первого лица в транспорте со стороны пассажира? Не хотели бы вы вернуть его в игру? О: Он ощущался неполноценным и в некоторых случаях выглядел плохо. Например, на железнодорожном вокзале есть подземные переходы, которые не смоделированы, для интерьеров автомобилей потребуется больше деталей, а некоторые транспортные средства, такие как самолеты, вообще не имеют интерьеров. Таким образом, понадобилось бы много дополнительной работы, чтобы сделать его функцией с приемлемым качеством. В: Сейчас в вашей команде, судя по информации на сайте, находится всего лишь 12 человек. Собираетесь ли вы серьёзно пополнить штат перед созданием следующей игры? О: В настоящее время команда полна, но мы не откажемся от возможности использовать дополнительный персонал или отдать на аутсорсинг определенные задачи, если возникнет такая необходимость. В: В каком направлении вы хотели бы развиваться? Может ли следующая игра кардинально отличаться от Train и Transport Fever? О: В нашей команде много творческих людей с глубоким знанием игр в разных жанрах. Тем не менее, наибольший опыт мы накопили в жанре игр Train и Transport Fever. И еще многое можно улучшить и добавить в концепцию. Поэтому большие отличия в следующей игре маловероятны. В: Транспорт каких стран может появиться в игре в будущем? Если будут добавлены новые страны, появятся ли для них новые отдельные кампании? О: Transport Fever имеет международную базу игроков, поэтому почти все возможно. Однако, благодаря активному сообществу моддеров и очень высокому качеству их работы, в настоящее время нет планов по добавлению новых транспортных средств в игру. В: Почему в игре нет случайных заданий? Хотели бы вы добавить их? О: Хотя это никогда не планировалось для игры в песочнице, случайные задачи и квесты в некоторой степени могли бы быть реализованы с помощью модифицированного сценария миссии. Создания кампании это непростая задача, поэтому мы предоставили некоторую информацию в Wiki, включая пример. В: До выхода игры вы говорили, что когда-то могут появиться такие особенности, как суточный цикл и погодные эффекты. Есть у вас в планах добавить что-то из этого в игру в скором времени? О: Хотя нам бы хотелось увидеть визуально улучшенную игру, это не входит в ближайшие планы. В настоящее время у нас есть другие приоритеты. В: Похожий вопрос, планируется ли смена времён года? Я помню очень красивый осенний мод для Train Fever. Также зима в моде для Transport Fever выглядит очаровательно О: Сезонный цикл - хоть он и выглядит очень круто - не добавит геймплею ничего нового без изменения некоторых фундаментальных правил. Таким образом, полученный эффект по сравнению с потраченными усилиями будет слабым. И, как вы сказали, есть несколько отличных модов, которые позволяют игроку изменить игру до желаемого сезона. В: Собираетесь ли вы в ближайшее время посещать крупные игровые выставки и конференции, такие как Gamescom или Игромир, EGX или XDS? О: Не в ближайшем будущем, но если в какой-то момент новый проект будет готов к публичному показу, то мы вероятно покажем его на такой выставке как Gamescom, E3 или PAX. Такие дела! Обязательно оставляйте ваши комментарии здесь и в нашем паблике ВКонтакте и следите за новостями! За помощь с переводом спасибо @Devilhunter
  5. Ну ты можешь сделать заказ и моддеры сделают любой троллейбус. Как говорится, любой каприз за ваши деньги!
  6. @Fraikor на transportfever.net есть такой мод: с трамвайным проводом и без рельс - наслаждайтесь. Сделать из одного провода два в данный момент технически невозможно.
  7. @Fraikor троллейбус невозможно сделать на базе трамвайных линий. Ну или это будет троллейбус с одним проводом. Такое нам не нужно
  8. Стрим начнётся на канале NGC в 18:00 по Москве. Вместе с Андреем ждать вас и ваших вопросов будут Vitaro - главный автор и разработчик дополнения "Новая Индустрия", а также - Alex_BY - один из моддеров сообщества. До встречи на стриме!
  9. Исходя из названия мод уравнивает игровую вместимость с количеством сидячих мест? Или что-то вроде того? Это никак не связано с делением на 4. Если он сидячий - почему нет? Можно просто взять и посчитать количество сидений, салон-то проработан. Вряд ли. Да, на начальных этапах это действительно обходится, так как играть с транспортом вместимостью 1-2 человека уж точно будет не реально. На поздних этапах нет смысла для этого. Почему бы не принимать данные характеристики как челлендж? Если поезд не справляется - очевидно, нужен более вместительный поезд. Благо у электричек, например, вместимость указана с учётом стоячих мест, а для того, чтобы утянуть 15-17 вагонов тепловозом можно использовать 2ТЭП60, который для таких целей использовался и в реальности.
  10. @lds57 скорость пассвагонов указывалась с заделом под то, что будут смоделены и соответствующие локомотивы - курьерские паровозы, например. Но сейчас это вряд ли произойдёт. Ещё об этом, кстати. В игре реальная вместимость, указываемая в скрипте, делится на 4. Если нужна бОльшая вместимость - используйте сидячие вагоны или моторвагонный подвижной состав. В игре, увы, нет такого понятия как комфорт, но начиная с середины 60-х выбор вагонов довольно широкий.
  11. Мы решили, что наилучший пусть отблагодарить игроков - сделать ещё один игровой патч. Мы получили огромное количество фидбэка за последние два года и с предстоящим патчем мы попробуем реализовать множество небольших улучшений и починить различные баги. Кроме того, моторвагонный подвижной состав наконец сможет ездить вперёд и назад без разворота на станции! Мы планируем выпустить патч уже до конца этого года. А также, воспользовавшись случаем, сообщим, что мы уже работаем над новым большим проектом, подробности о котором вы узнаете в 2019 году. Как всегда, не стесняйтесь делиться своими мыслями и всего наилучшего от Urban Games!
  12. @Sherkhan тут можно только принять как факт то, что советские вагоны тяжелее западных, а игровой скрипт рассчёта стоимости и обслуживания массу не учитывает.
  13. @Artem99 это нужно делать текстуру _i, т.к. сейчас у тебя вся модель моргает поворотником. Насколько я помню, в _i текстуре цвета располагаются так: 128 - нейтральный, 256 (белый) - фары и стоп-сигналы, 0 (чёрный) - поворотники. Но может и не так Помню что были какие-то нюансы...
  14. С этим дополнением промышленность в Cities: Skylines станет куда более значимой частью игры! Теперь вы сможете строить огромные промышленные зоны с различными цепочками поставок для четырёх типов ресурсов, а также возводить уникальные заводы. Из особенностей нового дополнения: 1. Следите за полной цепочкой производства от сырья и обработки до хранения и производства. Организуйте развоз товаров в промышленные зоны и экспортируйте в соседние города! 2. Определите область при помощи инструмента отраслей и разместите там специализированные промышленные здания для создания и управления промышленной цепочкой от добычи до конечного продукта. Отрасли промышленности делятся на четыре типа, основанных на природных ресурсах: сельское хозяйство, лес, руда и нефть. 3. Новые промышленные здания: экстракторы, склады, перерабатывающие предприятия, новый реквизит и дороги. Уникальные заводы по производству продуктов питания, игрушек, мебели, автомобилей и электроники, выпускают много новых товаров и требуют большого количества рабочих, воды и электричества. 4. Управляйте трафиком и логистикой на промышленных предприятиях и используйте новые грузовые терминалы, а главное - грузовой аэропорт! 5. Повысьте благосостояние ваших граждан, доставляя им почту! Почтовые сортировочные устройства обрабатывают входящую и исходящую почту, а новые почтовые грузовички будут перевозить её вашим горожанам или в другие города. 6. Три новые районные и четыре городские политики включают профсоюз рабочих, сортировку, новые тарифы, Wi-Fi, опции логистики, охрану безопасности труда и автоматизацию. 7. Пять новых карт, богатых природными ресурсами, транспортными и промышленными возможностями. Они имеют всё необходимое для игры! 8. И, конечно, 4 новых шапки для Чирпера! Увидимся 23 октября!
  15. config editor

    Я уже заменил линк, кнопка "Скачать" перекидывает на немецкий сайт.
  16. config editor

    А есть разрешение автора на загрузку файла сюда?
  17. eis_os создал две наиболее важные программы для моддеров: gs_tools - для экспорта и импорта объектов в\из игры, gs_compress - для запаковывания аддонов в .gs-архив. Скачать обе программы можно здесь: http://www.bytetrans...ects/cim/tools/ Как ими пользоваться. gs_tools: Описание будет немного позже. gs_compress: 1. exe-файл программы скопируйте в произвольную папку (например, F:\CIMtools\gs_compress). Туда же скопируйте папку с аддоном (например, bkm60102); 2. Откройте командную строку (Win+R => cmd => Выполнить); 3. Впишите следующие команды (пример показан исходя из указанного выше пути): F: cd CIMtools\gs_compress 4. Вы окажетесь в папке gs_compress. Дальше необходимо указать запаковываемый мод так: gs_compress.exe bkm60102 Через несколько секунд в папке с программой появится .gs-архив, который можно копировать в ../Cities in Motion/addons, и мод будет работать. Замечу, что размер мода уменьшается очень значительно (build_addon был ужат с 126 мегабайт до 35, то есть в 3,6 раз), а размер модификаций, как выяснилось, может очень сильно влиять на стабильность работы игры.
  18. В Лотус планируешь его?
  19. @Vitaro не, это совсем разные трамваи.
  20. И хотя LOTUS-Simulator пока что является лишь перспективной альфа-версией для моддеров, уже сейчас все интересующиеся очень активно занимаются изучением его "внутренностей". Так, команде ОЗМТ уже удалось конвертировать в игру трамвай, который там даже ездит. Основной же нивой работы команды является Trainz Railroad Simulator, где уже катается много разных трамваев, троллейбусов и автобусов ОЗМТ. Кроме того, теперь у нас на форуме есть два соответствующих раздела: Trainz Railroad Simulator и LOTUS-Simulator. Присоединяйтесь!
  21. Версия 1.0.0

    128 скачиваний

    АКСМ 62103 — усовершенствованная модель трамвая АКСМ-60102 с транзисторной системой управления, тяговыми двигателями переменного тока, позволяющие экономить до 50 % потребления электроэнергии, по сравнению с реостатно-контакторной системой управления, с измененной светотехникой, бамперами и остеклением около центральной двери. Представляет собой односекционный вагон, с двумя моторными тележками производства Белкоммунмаш, трёхдверный, с переменным уровнем пола (в середине салона пол низкий) и асинхронными тяговыми электродвигателями. Предназначен для эксплуатации на трамвайных линиях с шириной колеи 1524 мм.
  22. Итак, пришло время! Здесь я начну писать гайд по конвертации 3D модели транспортного средства Transport Fever. Для примера я возьму автомотрису РА1, автором которой является Old. Это позволит мне описать все основные процессы конвертации модели, которые понадобятся вам при конвертации любого типа транспортного средства. В первую очередь я крайне рекомендую прочитать гайд по конвертации моделей в Train Fever от Omich'а. В своём гайде Omich подробно описывает структуру папок, можно найти пример скриптов с комментариями и ещё много всего полезного. По большей части по этому гайду можно и научиться конвертировать модели, исключение составляют только текстуры, так как именно они в Transport Fever отличаются. Но так как вопросы по конвертации возникают уже довольно часто (и это хорошо, ведь я один не могу конвертить весь транспорт) в этом гайде я опишу те действия, которые делаю я. Так как я ленивая жопа, я расскажу в первую очередь о том, как конвертировать модель максимально быстро (но это всё равно займёт много времени). Ещё скачайте вот этот архив. В нём 3 необходимые для конвертации программы: TFID показывает ID элементов готовой модели, TFMV - вьювер, в котором можно просматривать модель и её детали, TFMC - конвертер, который пригодится нам в первую очередь. TF2_convert_guide_programs.zip А ещё установите Notepad++ и при редактировании файлов игры включайте синтаксис Lua. Это позволит проще разбираться в коде, а ещё в Notepad++ есть подсветка открывающих и закрывающих скобок\кавычек, что КРАЙНЕ важно. Итак поехали. Часть 1: О модели Здесь я не буду рассказывать о том, как создавать модели: для этого существуют соответствующие специализированные гайды и уроки по работе с 3D-редакторами. Я же скажу о главных требованиях к моделям: 1. В игре используются low-poly (низкополигональные) модели. Само понятие "низкополигональная модель" в последние годы ооочень сильно растянулось, но в нашем случае "лоу поли" означает до 25-30 тысяч треугольников (не полигонов, обратите внимание) в сложных детализированных моделях (как паровозы). В более простых моделях желательно не выходить за рамки 10-15 тысяч треугольников. В любом случае помимо основной модели нам потребуются лоды (LOD - Level of Details), то есть упрощённые варианты модели. Обычно их два, дальность подгрузки лодов определяется в скрипте модели. 2. Желательно чтобы вся модель (за исключением салона, если такой есть) имела одну текстуру и один материал. Это очень упростит жизнь в будущем. 3. Исходя из п.2, очень желательно, чтобы салон транспортного средства имел отдельную текстуру. 4. Все подвижные части модели должны быть отделены друг от друга. Все неподвижные части должны быть объединены (саттачены, от англ. Attach) в один меш. 5. Крайне желательно, чтобы на развёртке было как можно меньше перекрытий. Это нужно для последующей качественной генерации текстур грязи и ржавчины, а также для рендера качественной текстуры Ambient Occlusion. Кстати, если вы уже умеете рендерить AO - сделайте это сейчас, пригодится. Если нет - почитайте, как это делается. Жить без этого можно, но лишним оно тут не будет. 6. Также крайне желательно, чтобы у модели были PBR-текстуры. На этом моменте я посоветовал бы всем, кто интересуется моддингом Transport Fever пойти и изучить, что такое PBR, а также программы Quixel Suite и\или Substance Painter. Это очень пригодится вам в будущем, особенно если вы в принципе занимаетесь 3D-моделированием. В этом гайде я буду рассказывать о модели без PBR-текстур, но именно за такими текстурами будущее и именно их Transport Fever "ест" лучше всего. 7. Если вы ни разу не слышали о PBR-текстурах и ваша текстурка нарисована в фш при помощи фототекстур - ничего страшного, именно такую модель я буду конвертить в гайде. Если текстуру вы рисовали в пейнте - будем считать, что это только для теста, окей? 8. Убедитесь, что настройки сцены в 3DsMAX выглядят таким образом: В игре используются реальные размеры модели. 9. Все детали модели, которые будут конвертироваться, для удобства должны быть названы соответствующим образом. Учитывайте, что если элементы модели дублируются, то скорее всего можно будет сконвертить только одну копию (одну тележку, одну колёсную пару и т.д.). Об этом ещё напишу. Для удобства я предлагаю следующий формат названия деталей модели: model_body_lod0 - основной лод кузова модели model_interior_lod0 - основной лод салона модели model_bogie_lod0 - основной лод тележки model_w_lod0 - основной лод колёсной пары И так далее. Обратите внимание, что чтобы избежать проблем с регистрозависимыми платформами (например, Linux), названия всех мешей, файлов и папок в модели следует писать маленькими буквами. 10. Анимация дверей (и других элементов при необходимости) делается при помощи обычных ключей. От этой анимации нам потом пригодятся только координаты положения пивота в определённые моменты времени (в миллисекундах), обычно достаточно 3-4 ключей. 11. Разрешение текстур. Текстуры должны быть квадратными (со сторонами, кратными 512) или прямоугольными с соотношением сторон 1:2. Для транспорта допустимо и вполне оптимально разрешение текстур 2048х2048, однако если у вас небольшая модель и текстуры будут качественно смотреться при меньшем разрешении - можно делать и меньше. Ну, и познакомьтесь с нашим сегодняшним поциентом: РА1 от Old'а Часть 2: Структура модели в игре Почитать о всех файлах и папках, из которых состоят модели в Transport Fever, можно в гайде от Omich'а. Здесь же я опишу только то, что пригодится мне при конверте РА1 и других транспортных средств. Содержимое папки res таково: models group/vehicle/train - здесь лежат группы мешей (обычно в группы объединяются, например, тележки) material/vehicle/train - здесь лежат .mtl-файлы материала, в которых есть ссылки на файлы текстур mesh/vehicle/train - здесь лежат .msh-файлы модели, в которых есть ссылка на .mtl-файл, а также .msh.blob - сам файл модели model/vehicle/train - здесь лежит .mdl-файл, в котором собирается вся модель textures models/vehicle/train - здесь лежат .dds-файлы текстур, на которые ссылаются .mtl-файлы ui models_20/vehicle/train - здесь лежат .tga-файлы иконок транспорта на линии models_small/vehicle/train - а здесь - .tga-файлы иконок транспорта в депо Ещё тут может быть папка audio со звуковыми эффектами и config, в которой настраиваются эти звуковые эффекты и собирается моторвагонный п\с или составы, но о них - позже. Обратите внимание, что вместо /train, которое означает "поезд" здесь может быть: truck (грузовики), bus (автобусы), tram (трамваи), waggon (вагоны), plane (самолёты), ship (корабли). Теперь же можно приступить непосредственно к конвертации модели. Часть 3: Подготовка модели к конвертации Первым делом смотрим, из чего состоит наша модель. В данном случае это кузов, салон, 4 створки двери, 2 телеги и 4 колёсные пары. Сразу думаем, где можно схитрить с анимированными частями (дверьми). Про саму анимацию я расскажу позже, на данном этапе нам просто нужно иметь в виду, какие элементы будут анимироваться. Так вот, конвертить их по одной и прописывать каждой анимацию - это очень муторно и долго. От этого никуда не деться, если у вашей модели ширмовые двери, расположенные под разными углами (например, как у Татры Т3), однако в данном случае всё проще. Двери здесь выхоят из проёма наружу и затем раздвигаются в стороны. Попарно анимация идентична. И это значит, что мы можем объединить в один меш (саттачить) "передние" и "задние" створки обеих дверей с каждой стороны: Теперь, как я писал в п.1, все меши нужно назвать так, чтобы с ними было удобно работать далее. Мы будем конвертировать 4 меша дверей, 1 меш кузова, 1 меш салона, 1 меш телеги и 1 меш колёсной пары. У меня список получается вот такой: Дальше на очереди - пивот (Pivot point). Именно координаты пивотов после будут указывается в .mdl-файле модели (а также в .grp), когда мы будем собирать её. Но сейчас нам нужно перевести модель в игровой формат. Если что, кнопки для управления пивотом находятся вот здесь: У кузова и салона пивот должен быть в 0 координате. Для тележки жмём "Center to object", затем убираем "Affect Pivot Only" и передвигаем телегу в центр сцены (но не трогаем её высоту). Для колеса включаем управление пивотом, затем тоже "Center to object" и отключаем "Affect Pivot Only". После этого переносим колёсную пару в 0 координату. В итоге у нас получается как-то так: Для дверей всё зависит от типа их анимации. Если двери просто перемещаются вдоль кузова, их пивот можно не трогать (или установить его в 0 координату, если это не так). В данном случае я оставляю так. Если анимация дверей более сложная и пивот находится внутри меша - дверь, не трогая пивот, необходимо расположить в 0 координате по продольной и поперечной оси, но оставить на той же высоте, где она есть (как телегу). Всё, здесь всё готово к конвертации модели в игровой формат. Часть 4: скрипт-конвертер Когда-то давно всё это делалось вручную, но сейчас у нас есть замечательный скрипт, который написал MrIgr. Вот код скрипта с комментариями: --export selection2 obj_folder = "F:\\Games\\Train Fever\\TFMM\\povozka\\obj\\" -- папка для экспортируемых obj-файлов (любая, но она должна существовать) tfmc_folder = "F:\\Games\\Train Fever\\TFMM\\" -- папка с TFMC project_name = "povozka.bat" -- имя проекта (любое) project_folder = "D:\\Games\\SteamLibrary\\steamapps\\common\\Transport Fever\\mods\\P36\\res\\models\\mesh\\vehicle\\train\\p36\\" -- папка, куда следует поместить msh-файлы. Она должна существовать! path_to_material = "vehicle/train/p36int.mtl" -- расположение материала out_file = createfile (tfmc_folder + project_name) for i in selection do ( format "\"%TFMC\" -i \"%%.obj\" -o \"%%.msh\"\n" tfmc_folder obj_folder i.name project_folder i.name to: out_file ) for i in selection do ( format "\"%replace.cmd\" /from:\"(materials = \{ \u0022)[^\u0022]*\" /to:\"$1%\" \"%%.msh\" " tfmc_folder path_to_material project_folder i.name to: out_file ) close out_file for obj in geometry do ( select obj exportFile (obj_folder + (obj.name as string) + ".obj") #noPrompt selectedOnly: true ) shellLaunch (tfmc_folder + project_name)"" Как видите, до этого гайда я конвертил П36 Соответственно, вам необходимо заменить пути в первых строчках на свои. В строке tfmc_folder нужно указать папку, где у вас лежит TFMC, который вы можете найти в архиве в начале гайда. Готовые .msh-файлы можно положить в абсолютно любую папку, чтобы скопировать в папку модели позже. В строке path_to_material указывается путь к .mtl-файлу в таком виде, каким он будет в .msh-файлах. Так как у нас салон использует другую текстуру и, соответственно, другой .mtl-файл, это нужно будет потом вручную исправить (об этом я напомню ниже). Пока же правим пути в скрипте, затем идём в 3Ds MAX, выделяем все конвертируемые детали модели и жмём там F11. В появившееся окно копируем скрипт, выделяем его (Ctrl+A) и жмём Enter на доп. клавиатуре. После этого, если все пути написаны верно, начнётся конвертация. В процессе появится окно командной строки (это TFMC), где после [Done] нужно будет нажимать Enter на доп.клавиатуре (столько раз, сколько деталей конвертируется). Если вдруг появятся какие-то проблемы - внимательно читайте, что написано в командной строке. Скорее всего, проблема из-за неверного написания пути. Когда всё будет готово, можно зайти в папку, указанную в скрипте, и увидеть набор файлов .msh и .msh.blob. Файлы .msh открываются при помощи текстового редактора (лучше всего использовать Notepad++). Здесь нужно открыть пару файлов и убедиться в том, что путь к материалу на месте. Если это не так (иногда почему-то скрипт его не прописывает) - его нужно указать вручную. Кроме того, здесь нужно изменить путь к материалу у тех файлов, которые используют отличную от других деталей текстуру (в нашем случае это салон): Аналогично нужно будет поступить с лодами и этот этап завершён. Часть 5: Копировать\переименовать\исправить Пришло время собирать всё это в игровую модификацию. Здесь можно создавать папки с нуля и писать все скрипты, но я, естественно, таким не занимаюсь. Я просто беру уже существующую модель того же типа (train для локомотива, waggon для вагона, bus для автобуса и т.д.), копирую её в Transport Fever\mods и переименовываю. В данном случае "донором" у нас станет ЧМЭ3. Вы можете взять любую подходящую модель даже из Train Fever. Итак: копировать\вставить\переименовать: 5.1. Тележки Если тележек в вашей модели нет (например, у вас двухосный вагон) - этот пункт можно пропустить. Заходим в папку, проходим в \res\models\group\vehicle\train (на папки audio и config, если они есть, пока не обращаем внимания). Здесь мы сразу 3 файла с тележками от чмухи. Лоды я пока что уберу, т.к. их вы можете и сами сконвертировать по аналогии. Пока что займёмся основной моделью. На эти .grp-файлы позже будет ссылаться .mdl-файл модели. В них содержится ссылка на меши тележки и колёс, но об этом ниже. Итак, переименовываем файл из chme3_lod_0_bogie.grp в ra1_lod_0_bogie.grp (чтобы упростить себе жизнь в дальнейшем я настоятельно рекомендую при переименовании файлов менять только название транспортного средства). Открываем файл в Notepad++. Здесь мы видим, как я написал выше, ссылки на меши тележки и колёс, а также их координаты. Для начала переименуем всё (обратите внимание на названия мешей, они должны быть такими же, как у ваших .msh файлов, которые были получены после конвертации). Если в вашей тележке меньше осей, удалите один из блоков, но осторожно! Не растеряйте запятые. В итоге у меня получилось так: Дальше - координаты, я выделил их выше. Эти три числа - координаты колёсной пары в Максе при учёте, что сама тележка находится в 0. Здесь первая - продольная координата (Y), вторая - поперечная (X), и третяя - вертикальная (Z). Идём в Макс, выставляем колёса на места и смотрим: Аналогично со вторым колесом (не забудьте пивоту колёсных пар сделать Center to Object), и вписываем эти координаты в наш .grp-файл. Тут готово. 5.2. Материалы Переходим в \res\models\material\vehicle\train. Здесь у меня лежат два .mtl-файла: один отвечает за текстуры основной модели, второй - за текстуры салона. Это уже материалы именно от Transport Fever, поэтому если вы в качестве "донора" выбрали модель из Train Fever, тут вам стоит сходить в папку Transport Fever и стащить оттуда пару .mtl-файлов. Переименуйте их соответственно тому, что указывали при конвертации .msh-файлов и внутри них. Открываем первый при помощи всё того же Notepad++: Видим здесь много настроек, с которыми я, увы, не разбирался. Меня тут больше всего интересуют ссылки на текстуры модели. Как и в случае с тележками, просто заменяем все "chme3" на "ra1". Если вы пропустили пункт про тележки, я повторю здесь: Чтобы упростить себе жизнь в дальнейшем я настоятельно рекомендую при переименовании файлов менять только название транспортного средства. Здесь у нас будет 4 ссылки на текстуры. Повторяем то же с файлом для салона - там будет только одна ссылка. Идём дальше. 5.3. Меши Наш следующий пункт назначения - папка \res\models\mesh\vehicle\train\chme3, которую необходимо переименовать в то, что нужно нам (помните, что все переименования должны быть аналогичны: в данном примере я переименовываю все chme3 в ra1 - поступайте аналогично) и полностью очистить от содержимого. Сюда копируем наши .msh-файлы, которые мы получили на 4 этапе конвертации. Здесь всё довольно быстро. На самом деле, на этом этапе в меши нужно вписать анимацию, но блок об этом я добавлю сюда позже. 5.4. Собираем модель Наконец, переходим в папку \res\models\model\vehicle\train. Удаляем всё лишнее (если есть), оставляем только один .msh-файл и переименовываем его. В моём случае остался файл chme3a.mdl, но я его переименую просто в ra1.mdl. На этот файл ничего не ссылается, однако точно так же должны будут называться иконки. Открываем .mdl-файл. Это основной файл модели, где содержится вся информация о ней, а также ссылка на меши и группы. Почитать о структуре этого файла вы можете в п2. гайда от Omich'а. Я же пройдусь по самому необходимому. Алгоритм действий здесь таков: Переименовываем все файлы и папки (в моём случае это всё то же: все chme3 переименовать в ra1). ВНИМАТЕЛЬНО! Внимательно проследите соответствие всех ссылок на меши и группы и их названий в папках! Изменяем координаты в строках 5 и 8. Здесь указываются крайние точки модели: продольная, поперечная и вертикальная координаты. В разделе children находятся блоки со ссылками на меши и группы. Удаляем лишнее (если есть) и добавляем нужное (если нету). В моём случае этот блок выглядит так: children = { { id = "vehicle/train/ra1/ra1_body_lod0.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/ra1/ra1_door1l_lod0.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/ra1/ra1_door2l_lod0.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/ra1/ra1_door1r_lod0.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/train/ra1/ra1_door1r_lod0.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", },{ id = "vehicle/train/ra1_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4.26445, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/ra1_lod_0_bogie.grp", transf = { -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -4.26535, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/driver_static/lod_0_driver_static.msh", transf = { 1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, 0.00, -1.7, 1.727, 1, }, type = "MESH", },{ id = "vehicle/train/ra1/ra1a_interior_lod0.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, }, Обратите внимание: в массиве чисел, который есть в каждом блоке, три последних числа до единицы - это координаты пивота меша. Здесь всё аналогично редактированию .grp-файлов тележек, за одним исключением: сначала в сцене нужно расставить все меши так, как они должны быть в игре, а затем тут указывать координаты их пивотов. В моём случае это необходимо только для тележек. Если, как я и писал, вы не изменяли высоту тележки перед импортом, то вам необходимо вписать здесь только продольную координату (при конвертации все пивоты сбрасываются в 0 сцены). Если в вашей модели нет тележек, то здесь просто указываются ссылки на .msh-файлы колёсных пар и их координаты (а вот чтобы увидеть инфу про координаты колёс вам придётся вернуться на пункт 5.1. про тележки ) Здесь же указывается положение машиниста (его вы можете увидеть на скриншоте под блоками с тележками). Однако тут есть 2 варианта: либо писать координаты на глаз, так как у этого меша машиниста они смещены, либо просто удалить его отсюда и прописать машиниста в разделе для пассажиров, о котором я расскажу позже. В первом случае машинистом будет дедок, во втором - странного вида молодой (или не очень) человек, поэтому тут уж кому как больше нравится. В любом случае, пока что на это можно просто забить. Здесь же, кстати, нужно добавить блок с мешем салона. Для удобства просто копируем блок с вызовом меша кузова и меняем там название меша: Далее у нас идёт блок events. Здесь всё как-то так: events = { drive = { [2] = { -- порядковый номер анимируемого меша (можно посчитать вверху) forward = false, -- направление анимации name = "ventanim", -- имя анимации }, [3] = { forward = false, name = "ventanim", } }, }, Однако так как про анимации мы будем разговаривать позже, пока что всё содержимое блока events можно просто удалить (не удалите лишнюю скобку или запятую!). Далее указывается расстояние, на котором подгружается лод. Это основной лод, поэтому он должен показываться с 0 метров до 100-200. Однако так как пока что это единственный наш лод, я укажу здесь 2000. Блоки с остальными лодами пока что удалим. И ещё раз: БУДЬТЕ ВНИМАТЕЛЬНЫ при удалении или добавлении новых блоков. Если вы используете Notepad++, включите подсветку синтаксиса Lua (в верхнем меню выберите Синтаксисы - Lua) и внимательно следите за подсветкой скобок. Далее - название, описание и характеристики. Обратите внимание, что в качестве цены и стоимости обслуживания необходимо указывать "-1", чтобы игра могла сама сбалансировать их. Внимательно следите за синтаксисом и правильностью растановки скобок и запятых! Чтобы закомментировать какую-нибудь строку (например, год выпуска, чтобы для теста транспорт выпускался бесконечно), нужно поставить перед ней два минуса: В общем и целом, тут у нас всё. Теперь можно запустить TFMV из архива, чтобы проверить, правильно ли собрана наша модель. Жмём Файл -> Открыть модель, ищем там .mdl-файл, открываем. Если модель не открывается и программа выдаёт ошибку - внимательно читаем её и идём править. Скорее всего, проблема в ссылке на несуществующий файл (ошибка в ссылке или названии файла) или в потерявшейся кавычке или скобке. Если открывается - оцениваем обстановку. Если все части модели (телеги\двери\салон\всётакое) на месте - отлично! Можем переходить к текстурам. Часть 6: Текстуры Про текстуры более подробно я написал в этом небольшом гайде. Теперь пройдёмся более предметно. Итак, переходим в папку \res\textures\models\vehicle\train. Если за шаблон вы взяли транспортное средство из Transport Fever, здесь вы увидите как минимум 4 файла текстур: model_albedo_opacity.dds, model_cblend_dirt_rust.dds, model_metal_gloss_ao.dds, model_nrml.dds, где model обычно - название модели транспортного средства. Кроме того, в случае наличия салона тут будет лежать файл model_interior_albedo_opacity.dds. Переименовываем эти файлы таким образом, чтобы они совпадали с тем, что мы писали в .mtl-файлах в пункте 5.2. У меня в итоге получилось так: Открываем файлы! Первый у нас - model_albedo_opacity.dds. А, кстати: чтобы окрыть .dds-файл вам потребуется dds-плагин для Фотошоп от nVidia. При открытии файла появится диалоговое окно. Настройки в нём должны быть такие: Файл model_albedo_opacity.dds, (а также аналогичная текстура салона - model_interior_albedo_opacity.dds)как следует из названия, содержит текстуры альбедо и прозрачности. Соответственно, если вы используете PBR-текстуры, сюда в основной канал нужно кинуть альбедо-текстуру, а в альфа-канал - прозрачность. Там белое непрозрачно, чёрное - прозрачно. Соответственно для эффекта стекла окна здесь должны быть нарисованы серым цветом. Сохраняем этот файл с вот такими настройками: Следующий на очереди - файл model_cblend_dirt_dust.dds. В нём содержится: Красный канал - ч\б текстура перекраски: чёрное перекрашивается в игре, белое - нет; Зелёный канал - ч\б текстура грязи: белое - грязно, чёрное - нет; Синий канал - ч\б текстура ржавчины: белое - ржавчина, чёрное - нет. Так как в данный момент у нас нет текстур грязи и ржавчины (о том, как их делать при помощи программы Quixel Suite, я постараюсь рассказать в ближайшее врем), зелёный и синий канал просто закрашиваем чёрным. Текстуру перекраски мне подготовил Old, поэтому её я и положу в красный канал. Итого получается такая картина: Обратите внимание на список каналов справа. Сохраняем эту текстуру с такими настройками: Переходим к текстуре model_metall_gloss_ao.dds. Красный канал: если вы используете PBR-текстуры - положите сюда текстуру Metalness. Если нет - просто закрасьте чёрным. Зелёный канал: если вы используете PBR текстуры - положите сюда текстуру Gloss. Если нет - придётся помучаться, о этом ниже. Синий канал: сюда положите отрендеренную карту Ambient Occlusion. Если её нет - закрасьте канал белым. Перейдём подробно к зелёному каналу и, соответственно, gloss-текстуре. Это текстура глянцевости, то есть белый цвет здесь будет означать абсолютно глянцевый и отражающий материал, чёрный - абсолютно матовый и неотражающий. Раз у вас нет отдельной Gloss-PBR-текстуры - мы просто положим в этот канал нашу альбедо (основную) текстуру. Только перед этим обязательно осветлите в неё окна, чтобы в игре стёкла получили отражения. Моно поиграться с яркостью и контрастностью. В итоге получается что-то вроде того: Эту текстуру вполне можно использовать в игре, но обратите внимание, что это неправильный вариант. Нужно либо всё-таки учиться делать PBR-текстуры, либо подольше посидеть с переделкой альбедо в глосс. Например, по борту у нас идёт флаг России и при переводе в ч\б у всех полос разный оттенок серого. Это значит, что в игре белая полоса будет более глянцевой и отражающей, чем красная и синяя, но на самом деле это не так (если, конечно, они сделаны из одного материала или покрашены одной краской). В любом случае, пока что нам этого достаточно. Сохраняем текстуру с теми же настройками, что и у предыдущей: Переходим к Normal-текстуре. Открываем model_nrml.dds. Видим примерно такую картину: Сразу скажу, что эта текстура нам уже не годится. Даже если сейчас просто сохранить её с правильными настройками - в игре получится что-то очень плохое. А всё потому, что при сохранении текстура осветляется. Поэтому я рекомендую всегда где-то рядом держать оригинал своей normal-текстуры, чтобы её можно было править и сохранять в .dds при необходимости. Итак. Получить Normal-текстуру (а это текстура рельефа) можно несколькими способами. 1. Запечь в 3DsMAX. Этот вариант можно использовать в том случае, если у вас есть высокополигональная модель, аналогичная той низкополигональной, которую вы конвертируете в игру. 2. Нарисовать в Quixel Suite. Этот вариант можно использовать, если вы умеете работать в Quixel Suite. Наверное, в Substance Painter есть аналогичный инструмент для создания normal-текстур. 3. Сгенерировать при помощи Quixel Suite из основной текстуры. Этот вариант можно использовать в том случае, если у вас установлена QS, а плагин от nVidia работать нормально не хочет. Этим вариантом пользуюсь я, но рекомендую всё-таки в первую очередь попробовать следующий пункт. 4. Сгенерировать при помощи .dds-плагина nVidia из основной текстуры. Вне зависимости от того, какой из двух последних вариантов вы выберите, в первую очередь нам нужно подготовить основную текстуру. Основные постулаты здесь таковы: 1. Текстуру желатльно обесцветить; 2. Все светлые элементы на рельефе будут выше, все тёмные - ниже; 3. Исходя из вышенаписанного, крайне желательно убрать с текстуры все лишние перепады цветов (надписи, наклейки и т.д.), иначе всё это станет рельефом. 4. Выступающие части кузова, такие как, например, гофры, стоит дополнительно выделить белым цветом (помните, что тень на текстуре также превратится в рельеф). 5. На стёкла крайне желательно делать чёрные накладки. Итого, более-менее подготовленная к созданию Normal текстура выглядит как-то так: 6.1. Создание NormalMap при помощи NVIDIA tools Cохраняемся. Потом идём в Фильтр - NVIDIA tools и жмём NormalMapFilter. Далее два варианта: 1. Фотошоп падает. В этом случае вам нужна более старая версия фотошопа или Quixel Suite (см п.6.2). Или кто-то с более старой версией фотошопа, кто сможет нажать одну кнопку в плагине, чтобы сгенерировать вам Normal-текстуру. 2. Появляется вот такое окошко: Настройки в нём, насколько я помню, должны быть именно такими. Можно поиграться со Scale: я обычно ставил там 2,2 и было норм. Жмём ОК и крутим ниже до скриншота с готовой Normal-текстурой. 6.2. Создание NormalMap при помощи Quixel Suite Тут всё вообще просто. Запускаем Quixel Suite, жмём на кнопочку NDO, а затем на самую большую кнопку. И ждём. После того, как текстура будет готова, нужно будет немного покрутить настройки. Обычно достаточно только уменьшить Size до 1 или 0. Итак, готовая Normal-текстура выглядит примерно так: Сохраняем её куда-нибудь себе в рабочие материалы в любом формате. Для игры же сохраняем её в .dds с вот такими настройками: Всё, основные текстуры готовы! Часть 7: Иконки В Transport Fever модели используют два набора иконок: \res\textures\ui\models_small\vehicle\train - иконки моделей в депо \res\textures\ui\models_20\vehicle\train - иконки моделей на линии Сначала идём в первую папку и находим там иконку модели-донора. Ширина её может быть любой, а вот высота фиксирована: 56px для железной дороги и 48px для трамваев, автобусов и грузовиков. Формат иконок - .tga (32bit). Пожалуйста, при создании иконки старайтесь сохранять единый масштаб! Чтобы создать иконку нужно открыть модель 3DsMAX и сделать простейший рендер левого борта модели. Затем сохраняем его в .tga 32bit, чтобы сохранить и альфа-канал. После этого подгоняем размер отрендеренной иконки так, чтобы по масштабу наша модель подходила к модели-донору и копируем основной и альфа-канал иконки. Итоговый результат получается примерно таким (обратите внимание на альфа-канал). Теперь уменьшаем высоту картинки до 20px (с пропорциональным уменьшением ширины) и сохраняем результат в \res\textures\ui\models_20\vehicle\train. И кстати, удалите пока что папки /res/audio/ и /res/config/, если они есть. Пока что они нам не нужны, о них я расскажу немного позже. Всё готово! Идём проверять модель в игре. Часть 8: Проблемы и решения Очень велика вероятность того, что если тестовая игра загрузится, при покупке транспорта она всё-таки вылетит. Здесь спасает то, что Transport Fever обычно довольно детально сообщает об ошибках в модах, которые приводят к вылету. Например: Здесь написано о том, что в файле ra1.mdl есть ссылка на файл ra1a_interior_lod0.msh, который не найден. И конечно он не будет найден, ведь я налажал в названии: файл называется ra1_interior_lod0.msh. Идём в .mdl, правим, снова идём в игру. Вуа-ля! В следующих частях гайда я расскажу об анимации, звуках, пассажирах и составах. Ну и спрашивайте свои вопросы, конечно. Информация для тех, кто любит покопаться в файлах: 1. Анимации прописываются в .msh-файлах, вскройте какой-нибудь файл двери от дефолтной или кастомной модели, чтобы понять, что к чему. 2. Понять, как прописываются пассажиры, также можно, изучив .mdl-файлы моделей транспорта с пассажирами. 3. ID, которые могут понадобиться при рассаживании пассажиров, можно посмотреть при помощи TFID из архива (откройте в нём .mdl-файл).
  23. @Max87 номерные есть в воркшопе: https://steamcommunity.com/id/alex_polyak/myworkshopfiles/?appid=446800&p=1&numperpage=30 Остальные делать пока не планируем, увы.