Alex

Гайд по конвертированию моделей

55 сообщений в этой теме

Итак, по многочисленным просьбам я решил всё-таки написать гайд по конвертированию моделей из 3DsMAX в CiM.

Сделаю это на примере вагона ТатрыТ3 от Eugene, но абсолютно те же самые действия нужно проделывать при конвертировании автобусов, зданий и других объектов.

Итак, предположим, что у нас есть уже готовая модель.

post-1-0-36851100-1341656506_thumb.jpg

Первым делом обратите внимание, что на модели должна быть одна текстура и один материал. Название материала должно быть таким же, как вы позже назовёте файл .material и, желательно, .object и текстуры.

post-1-0-78214500-1341656829_thumb.jpg

Если всё верно - самое время приступать к экспорту.

В окне Макса выбираем нашу модель, в верхнем левом углу окна жмём на значок Макса, выбираем Export -> Export Selected.

post-1-0-75540200-1341657339_thumb.jpg

При сохранении выбираем формат .obj и сохрнаняем файл в папку, которая должна находиться там же, где и gs_tool (на самом деле это не обязательно, просто так удобнее). Название файла лучше всего писать такое же, как и у материала. Однако я в данном случае конвертирую второй вагон СМЕ, поэтому название файла от материала отличается:

post-1-0-95130800-1341657668_thumb.jpg

Обратите внимание, что при сохранении настройки должны быть именно такими. В частности, обязательно отключите relative numbers:

post-1-0-47373000-1341657907_thumb.jpg

Если всё нормально - жмём кнопку Export. Через пару секунд появится вот такое окно, жмём Done:

post-1-0-75080900-1341658341_thumb.jpg

Работа с Максом закончена, переходим в командную строку. Жмём Win+R, набираем cmd, жмём OK:

post-1-0-42509400-1341658572_thumb.jpg

Появится командная строка, в ней пишем путь к gs_tool. У меня она располагается в папке F://Games/CIMaddons/gs_tool, поэтому команды выглядят так (после каждой строки - жмём Enter):

F:


cd Games\CIMaddons\gs_tool

post-1-0-18219300-1341658899_thumb.jpg

Далее - главный момент конвертации. В командной строке необходимо написать следующую команду:

gsobj_import [путь_к_.obj-файлу]

У меня она выглядит так:

post-1-0-27981300-1341659258_thumb.jpg

Жмём Enter. Через секунду .object-файл готов:

post-1-0-87782500-1341659596_thumb.jpg

Если при конвертации появляются какие-либо ошибки или командная строка "падает" - проверьте правильность материалов на модели и ещё раз экспортируйте её из Макса.

11

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Далее подготавливаем структуру папок для аддона. В качестве примера я сделаю этот вагон отдельным дополнением, а не вторым вагоном в СМЕ.

Лучше всего для создания структуры взять папку от уже готового аддона. Например, от МАЗ-103 или (что тут будет более логично) старой ТатрыТ3 от Hybrid87. Дублируем папку и переименовываем:

post-1-0-80498700-1341661080_thumb.jpg

Я назвал папку TatraT3SU-guide (выше можно видеть папку с недавно конвертированной Т3):

post-1-0-04573300-1341661082_thumb.jpg

Внутри - как и положено, три папки: .scripts (с файлом environment.script), strings (с языковыми файлами) и папка с файлами модели. Я обычно называю её так же, как и общую папку с аддоном:

post-1-0-35737900-1341661083_thumb.jpg

Заходим в папку с файлами модели и закидываем туда полученный недавно .object-файл, а старый - удаляем:

post-1-0-94591900-1341661084_thumb.jpg

Далее называем существующий .material-файл так же, как называется материал в максе. Таким же именем называем и текстуры. .script-файл необходимо назвать так же, как и .object (напомню, что в идеале все названия должны совпадать).

post-1-0-37606200-1341661086_thumb.jpg

Открываем .script-файл. В нём нас сейчас интересуют следующие строки:

7. this.displayName = MAIN.$strings.$tatra_t3_solo;


...

28. $icon = MAIN.$window.video.new_texture("addons/tatra-t3-cw-solo/cc/icon.dds");
29. $rendering = "addons/tatra-t3-cw-solo/cc/render.dds";

...

36. $infoText = MAIN.$strings.$tatra_t3_info;

В строке 7 указывается ссылка для языкового файла на название объекта. В строках 28 и 29 - пути к иконке и рендеру нашей модели, 36 - ссылка для языкового файла на описание модели. Соответственно в 7 строке нужно указать уникальное значение, в 28 и 29 - путь к нашим значкам, в 36 - также уникальное значение. У меня всё выглядит так:

post-1-0-57127200-1341661790_thumb.jpg

После этого (хотя можно и до) приходит время заняться текстурами. Текстуры, как известно, сохраняются в формате .dds при помощи этого плагина. У каждой модели должно быть как минимум три вида текстуры: основная, текстура высот (normal) и текстура для отражений (specular, как я понимаю). Основная текстура в моём случае выглядит так:

TatraT3SU.dds

post-1-0-82338000-1341662338_thumb.jpg

Текстура высот создаётся при помощи фильтра, который устанавливается вместе с .dds-плагином. Тёмные части текстуры становятся "ниже", светлые - "выше", и это необходимо правильно использовать при создании текстуры. Например, на окна необходимо делать чёрные накладки, на молдинги желательно делать белые или серые, чтобы в игре они выделялись, и так далее.

Кроме того, на альфа-канале этой текстуры создаются области для окрашивания в цвета компании. Чёрное - не окрашивается, белое - окрашивается. Лучше всего использовать не чисто белый, а немного серый цвет, чтобы перекрашивающиеся области были не слишком яркими.

Сохранять эту текстуру необходимо со значением Explicit Alpha.

TatraT3SU_n.dds

post-1-0-59277900-1341662790_thumb.jpg

Текстура для отражений создаётся просто. Если вы делали чёрныенакладки на окна для normal-текстуры - их можно использовать и здесь: наложите их на чёрный фон и сделайте светлыми (примерно 55-60%). Чтобы сделать кузов вагона (или автобуса и чего угодно) "металлическим" (с небольшими отражениями) основной фон текстуры нужно также сделать не чёрным, а немного более светлым. Но тут важно не перестараться.

TatraT3SU_s.dds

post-1-0-94463700-1341663220_thumb.jpg

В файлы render.dds и icon.dds необходимо закинуть свой рендер (или скрин из вьюпорта Макса) и иконку соответственно. С рендером всё просто, он должен быть размером 256х128 пикселей.

С иконкой немного сложнее, хотя тоже ничего особенного. Я обычно делаю её так: во вьюпорте Макса поворачиваю камеру так, чтобы она смотрела ровно на правый борт транспортного средства, скриню, открываю файл icon.dds и уменьшаю скриншот до нужных размеров. После этого на альфа-канале текстуры необходимо силует транспортного средства сделать белым, а всё остальное оставить чёрным. Да, для большей атмосферности иконку лучше сделать нецветной. Фон здесь не важен, так как при правильно нарисованном альфа-канале он будет не виден. Сохранять файл необходимо со значением Explicit Alpha.

post-1-0-99628300-1341666555_thumb.jpg

Последний этап в этой папке - редактирование .material-файла. Ещё раз напомню, что он должен называться точно так же, как и материал, наложенный на модель в Максе.

Файл .material открывается при помощи НЕХ-редактора. В нём нам необходимо найти названия файлов текстур и заменить их теми, которые нужны нам. Обратите внимание, что название текстуры необходимо писать ровно там же, где написано название старой. Первый символ нового названия должен совпадать с первым символом старого. Длина названия не важна, хотя хорошо бы не переусердствовать. :D В общем, открываем .material-файл при помощи НЕХ-редактора и видим там много разных символов, среди которых находим старые названия текстур:

post-1-0-83566500-1341664149_thumb.jpg

И меняем их на те, что нам нужны:

post-1-0-72833400-1341664292_thumb.jpg

Кстати, если длина прописанной там текстуры привышает длину вашей, точки на месте ненужных символов необходимо проставлять нулями в бинарной (на скрине - левой) части НЕХ-редактора! Иначе при загрузке игра будет падать, ругаясь на ошибки в environment.script.

Кроме того, очень желательно изменить и название, что указано вверху. Сохраняем. Всё, в этой папке наша работа закончена.

11

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Перемещаемся в папку strings. В ней должен быть как минимум файл en_US.strings, а для русской версии хорошо бы ещё и ru.strings. В этом файле необходимо написать название и описание нашего транспортного средства следующим образом:

post-1-0-21345500-1341664756_thumb.jpg

Обратите внимание, что здесь указываются те же значения, что мы вписывали в .script-файле модели в строках 7 и 36, после чего идёт название и описание в кавычках. Внимательно проверяйте правильность ссылок и названий. В описании не должно быть кавычек, кроме тех, которые окружают само описание! Не забывайте точку с запятой в конце строки.

То же самое нужно сделать в файле ru.strings, написать описание на русском и обязательно выбрать кодировку UCS-2 Little Endian.

Осталось самое важное. Заходим в папку scripts и открываем файл environment.script. Сейчас у меня он выглядит так:

$grid = MAIN.$grid;
$level = MAIN.$level;

$level.loadPlayerVehicle("tatra_t3_cw", "/addons/tatra-t3-cw-solo/cc/tatra3", mkdate(10,05,1960), mkdate(31,12,1989));

Первые две строки не трогаем, а с третьей предстоит повозиться. В ней есть следующие значения:

$level.loadPlayerVehicle("id модели", "путь к файлу .object", дата появления модели в игру(10,05,1960), дата исчезновения модели из продажи(31,12,1989));[/code[b]][/b]

[b]ID [u]обязательно[/u] должен быть уникальным[/b] и не пересекаться с другими моделями. Путь к файлу должен быть верным, даты начала и окончания производства лучше всего указывать из таблицы стандартизации. Таким образом у меня файл [b]environment.script[/b] получился таким:

post-1-0-63633800-1341665497_thumb.jpg

Вот и всё. После этого - запускаем игру, включаем любую карту на той дате, где т\с уже точно продаётся, и любуемся им в игре.

post-1-0-84973700-1341665916_thumb.jpg

7

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Далее - главный момент конвертации. В командной строке необходимо написать следующую команду:

прямо перед этим пунктом надо ещё открыть obj-файл блокнотом и написать имя обьекта

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Это не обязательно, при отсутствии названия в файле .object gs_tool берёт его из названия самого файла. Это видно на скриншоте: строка, начинающаяся с [warn].

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это не обязательно, при отсутствии названия в файле .object gs_tool берёт его из названия самого файла. Это видно на скриншоте: строка, начинающаяся с [warn].

впринципе да

у меня возникли вопросы:

1)по поводу карты отражений, точнее, как её сделать, не совсем я понял что откуда... (развёртку прикрепил)

FC.bmp

2)что за HEX-редактор?

3)environment.script в strings, или всё-таки в scripts?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1) Текстура отражений должна быть только в серых тонах. Чем светлее - тем интенсивнее отражение. Для стекол лучше ставить примерно 50% серого, для металлических поверхностей - 5-7%, для зеркальных поверхностей - от 85% и выше.

2) Редактор шестнадцатиричных и бинарных файлов - например, этот.

3) В scripts, исправил.

2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо вам Алекс за тему!!!

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Start map editor "Medisseon 01"

Loading editor...

Error: Runtime error in "metro/scripts/environment.script" at line 91: Internal error!

Error: Called from "addons/FCP/scripts/environment.script" at line 3

Error: Runtime error in "metro/scripts/environment.script" at line 212: Internal error!

Closed log in "userdata/log_metro.txt".

вот третья строка

$level.loadBuilding("Workplace", "First_Canadian_Place", "/addons/FCP/FCP/FCP", 8, 8);

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Алекс, а в материал файле первое название разве не надо менять?

post-4128-0-23823000-1341834742_thumb.jpg

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

^BeeR^MegaTroll, проверяй правильность наложения материала и его самого. При конвертации попробуй взять материал от другой модели.

denisdo, да, точно, ещё оно. Честно говоря, оно и без изменения нормально работает, но в гайд добавил.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я начал делать всё как надо и вот что получилось:

90fae6ab32ect.jpg

И материал фаил не сощдаётся...

Что делать?

Хм странно а прицеп получился....

Всё получилось после нескольких попыток странно конечно....

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну что за издевательсто такое у меня алекс такой же как у тебя конвертор использовал и всёравно одна и таже ошибка!

Loading main menu...

[done]

Start scenario "metro/scenarios/sandbox.scenario"

Loading game...

Error: Runtime error in "metro/scripts/environment.script" at line 136: Internal error!

Error: Called from "addons/Ziu683boo/scripts/environment.script" at line 3

Error: Runtime error in "metro/scripts/environment.script" at line 212: Internal error!

Closed log in "userdata/log_metro.txt".

Что делать???

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну что за издевательсто такое у меня алекс такой же как у тебя конвертор использовал и всёравно одна и таже ошибка!

Loading main menu...

[done]

Start scenario "metro/scenarios/sandbox.scenario"

Loading game...

Error: Runtime error in "metro/scripts/environment.script" at line 136: Internal error!

Error: Called from "addons/Ziu683boo/scripts/environment.script" at line 3

Error: Runtime error in "metro/scripts/environment.script" at line 212: Internal error!

Closed log in "userdata/log_metro.txt".

Что делать???

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

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Slavatrainz, возьми .material от другой модели.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я уже много раз брал другой материал от разных троллейбусов и нечего не помогает(

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Одно очень важное дополнение: при редактировании .material-файла в НЕХ-редакторе, если длина прописанной там текстуры привышает длину вашей, точки на месте ненужных символов необходимо проставлять нулями в бинарной части НЕХ-редактора! Иначе при загрузке игра будет падать, ругаясь на ошибки в environment.script.

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тогда ещё такой вапросик вот я переправляю материал фаиил notepad++ это может служить ошибкой?

Нужно ли использовать только НЕХ?

И ещё я не особо панисаю как им пользоватся у меня сушествующие названия я стираю а когда начинаю писать новые они заменяютсь и ставятся на те что остались....

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поскольку никто не ответил на мой вапрос сегодня во время конвертации очередного транспорта для длс я провёл небольшой эксперимент и вот что я выяснил материал фаил (по крайней мере мне) Нужно испровлять только НЕХ другие текстовые редакторы не дают результатов! Я написал это с мыслью о том что кому-то будет важно.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А что не так?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Opened log in "userdata/log_metro.txt".

Version: 1.0.22

initializing FMOD...

[done]

initializing OpenGL-window...

[done]

Loaded console

Loaded language "en_US"

Engine initialization finished

Loading ui...

[done]

Loading addon "addons/600"...

[done]

Loading addon "addons/APLights"...

[done]

Loading addon "addons/BiggerMaps"...

[done]

Loading addon "addons/EJ5101"...

[done]

Loading addon "addons/Flagscol2"...

[done]

Loading addon "addons/Hybrid Buildings"...

[done]

Loading addon "addons/bridge_pieces"...

[done]

Loading addon "addons/build_addon"...

[done]

Loading addon "addons/bus"...

[done]

Loading addon "addons/caravan"...

[done]

Loading addon "addons/cis_regions"...

[done]

Loading addon "addons/fakelake"...

[done]

Loading addon "addons/germany"...

[done]

Loading addon "addons/mappack01"...

[done]

Loading addon "addons/mdvepack"...

[done]

Loading addon "addons/munich"...

[done]

Loading addon "addons/paris"...

[done]

Loading addon "addons/real_trees"...

[done]

Loading addon "addons/sav"...

[done]

Loading addon "addons/smsportsfield"...

Loading addons/smsportsfield/strings/en_US.strings

[done]

Loading addon "addons/stationpack01"...

[done]

Loading addon "addons/stettin"...

[done]

Loading addon "addons/stpetersburg"...

[done]

Loading addon "addons/tokyo"...

[done]

Loading addon "addons/ulm"...

[done]

Loading addon "addons/uniteddayworld"...

[done]

Loading addon "addons/unitednightworld"...

[done]

Loading addon "addons/usa"...

[done]

Loading addon "addons/ussr-buildings"...

[done]

Loading addon "addons/vehiclepack01"...

[done]

Loading addon "addons/vehiclepack02"...

[done]

Loading addon "addons/vehiclepack03"...

[done]

Loading addon "addons/vehiclepack04"...

[done]

Loading addon "addons/vehiclepack05"...

[done]

Loading achievements...

[done]

Loading main menu...

[done]

Steam initialized

Start map editor

Loading editor...

Loading addons/APLights/scripts/environment.script

Error: File "addons/Flagcol2/Flagcol2.object" not found!

Error: Runtime error in "metro/scripts/environment.script" at line 91: Internal error!

Error: Called from "addons/Flagscol2/scripts/environment.script" at line 2

Error: Runtime error in "metro/scripts/environment.script" at line 212: Internal error!

Closed log in "userdata/log_metro.txt".

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Где ты взял файл .material?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Где ты взял файл .material?

из мода caravan

отредактировал в hex

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возьми другой, лучше дефолтный какой-нибудь.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу