Первое знакомство с TSM. Создаем домик

Материал из Trainsim FAQ
Версия от 23:49, 26 декабря 2010; Admin (обсуждение | вклад) (XML import)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

ЗНАКОМСТВО c Abacus TrainSim Modeler (TSM)

Что такое Abacus Train Sim Modeler и о чём рассказывает эта инструкция?

Abacus TrainSim Modeler (или, кратко, TSM) – это редактор 3D-объектов, созданный специально для создания и экспорта новых моделей в игру MSTS. Несмотря на то, что большинство разработчиков 3D-моделей используют различные версии 3D Studio Max, отличающиеся большим набором возможностей, TSM привлекает многих простотой и удобством в работе, а главное – возможностью сразу же увидеть результаты своей работы в игре (простите мне это маленькое рекламное замечание).

Здесь будет показано несколько основных приёмов работы в редакторе на примере создания своего объекта для маршрута – небольшого домика, которые позволят Вам оценить стиль работы в TSM, научат создавать свои объекты для маршрутов, послужат основой для дальнейшего изучения этого редактора. Моё описание во многом повторяет главы из встроенной справки. Справка является более полным и детальным описанием возможностей TSM, иллюстрированным неплохими примерами – упражнениями, и я рекомендую её пользователям, хорошо знакомым с английским языком.

Автор заранее приносит свои извинения за «шероховатости» языка и, может быть, чрезмерную перегруженность текста (хотя некоторые возможности ТСМ я сознательно оставил «на потом»). Однако я всё же полагаю, что, найдя в себе силы прочесть этот труд до конца, ну а при повторном прочтении, после некоторого опыта работы в TSM, увидев вещи, о которых шла речь, своими глазами, Вы сможете ответить на большинство возникших вопросов. А если нет, спрашивайте на форуме http://trainsim.ru !

Установка и запуск редактора.

Итак, поздравляю – Вы уже являетесь обладателем свежей копии TSM. Установка его проста и не имеет никаких принципиальных особенностей. При первом запуске, Вы увидите приветствие с примерно таким текстом: “Welcome to TrainSim Modeler! TrainSim Modeler will try to determine where Microsoft Train Simulator has been installed on your system…”, что означает: «Добро пожаловать в TrainSim Modeler! Сейчас TSM попробует определить, в какую папку Вы установили MSTS…». Это необходимо как для того, чтобы TSM мог использовать встроенные в МСТС конвертеры файлов, так и для того, чтобы автоматически задавать папку, в которой будут размещены готовые файлы. Нажав [OK], Вы увидите окошко «Application Preferences» - «настройки приложения». В первой строке указана корневая папка МСТС. Если у Вас установлена игра, ТСМ почти наверняка её обнаружит. Если нет – укажите папку вручную. Остальные настройки пока можно оставить «по умолчанию», они не являются принципиальными. Обратите внимание лишь на переключатель Units, он позволяет выбрать систему единиц. Разумеется (для русского человека), там должны стоять метры, а не футы (заметим между прочим, что 1 фут = 30,48 сантиметра, а 5 футов = 1524 мм., то есть ширина нашей железнодорожной колеи). Вот это окно. Вы всегда сможете вызвать его повторно, чтобы изменить настройки, выбрав пункт File>Program Preferences в главном меню:

TSM01.gif

Выбор нужного ракурса

Нажав [OK] в меню Application Preferences, Вы, наконец, увидите основное окно TSM. Основную его часть занимают 4 прямоугольника, в которых отображается Ваша трёхмерная модель в одном из ракурсов и 3 её проекции на главные плоскости. Тем, кто изучал черчение в школе или инженерную графику в ВУЗе, первое время будет казаться непривычным выбор осей. Продольная ось именуется Z, поперечная X. Они лежат в плоскости земли. Вертикальной осью является ось Y.

Таким образом (взгляните на «эпюры» в углу каждой из частей экрана) слева вверху расположен горизонтальный вид – вид сверху, слева внизу – фронтальный, справа внизу – профильный (здесь это вид справа, а не вид слева!). Заметьте, что на фронтальной проекции правая и левая стороны «перепутаны». Наконец, справа вверху расположено трёхмерное изображение.

Пока что поля, естественно, пусты, в них видны лишь тоненькие серые ниточки сетки координат. По умолчанию шаг сетки – 5 метров, но она отображается черными линиями и не почти не видна. Откройте ещё раз окошко настроек File>Program Preferences (запомнили ;) ?) и кликните по надписи Grid (третья снизу строка в рамке Colors), выберите какой-нибудь неяркий цвет (отличный от тёмно-серого Grid Axes, которым показаны оси!) и примените выбранные настройки, чтобы увидеть линии сетки.

Увидев сетку, Вы легко заметите изменение масштаба. Нажмите на одну из кнопок с изображением лупы (Zoom In/Zoom Out) TSM02.gif на панели инструментов, чтобы увеличить/уменьшить масштаб (набор масштабов в ТСМ фиксирован). Это же можно сделать при помощи кнопок I [In] и O [Out] на клавиатуре.

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

TSM03.gif

Команды Zoom In и Zoom Out нам уже известны. Выбрав пункт Center, вы сделаете ту точку, в которой произведён щелчок, центральной для выбранной плоскости (за один щелчок можно изменить только 2 принадлежащие ей координаты точки обзора). При этом будут перерисованы и все остальные виды. Пункт Reset Views возвратит Вас к исходным масштабу и точке обзора, а выбрав Expanded View, Вы развернёте выбранную плоскость (та, в которой сделан последний щелчок; внутри обведена жёлтой рамкой) на весь экран.

Часть этих команд продублирована в верхних 3 строках в разделе главного меню View.

Снизу там расположены пункты View>Set Grid Size, позволяющий задать шаг линий сетки (в метрах – мы ведь работаем в метрах), и View>Grid On/Off, позволяющий по желанию вообще убирать координатную сетку. Это же можно сделать и кнопкой TSM04.gif (западающей при нажатии).

Это почти всё, что необходимо знать про отображение проекций. Добавлю, что над полем трёхмерного вида имеется панель с 4 движками. Маленькие нижние движки регулируют яркость освещения с 3 разный сторон, а широкий верхний задаёт масштаб отображения (все они никак не влияют на изображение проекций нашей модели, а только на её трехмерный образ!)

Из чего сделаны 3D – модели?

Этот раздел – примерный перевод главы “The Jargon” справки.

Создав (открыв) проект (то, что сохраняется во внутренний файл ТСМ с расширением *.dst), мы в общем случае будем иметь дело не с одной, а с несколькими моделями одного и того же объекта, как правило, отличающимися детализацией. В TSM каждая такая модель называется Object, однако гораздо чаще их называют LOD (от Distance Object Loading или чего-то вроде этого). На различных расстояниях до объекта, будут отображаться разные его модели, а значит, расположенные далеко и плохо различимые части пейзажа будут проще устроены и быстрее обсчитываться.

По умолчанию проект содержит только 1 Object. Вы можете добавить/удалить другие ЛОДы используя раздел Object главного меню. Однако, в большинстве случаев, не рекомендуется создавать новые Object’ы, поскольку при конвертации модели в игру либо при просмотре её в игре могут возникать ошибки (например, аварийное завершение работы МСТС в некоторых точках маршрута), и практически все созданные в ТСМ реальные модели содержат только 1 ЛОД с максимальной дальностью отображения – 2 000 метров. Это является основным неудобством, отличающим TSM от других трёхмерных редакторов.

В пределах каждого ЛОДа модель подразделяется на детали. Каждая деталь, как правило, является относительно простым геометрическим телом (куб, призма, пирамида) или их объединением. Все детали состоят из граней. В ТСМ гранью может быть многоугольник с любым числом вершин от 3 до 64, а при экспорте в МСТС (а также при отрисовке трехмерного изображения в ТСМ) он разбивается на треугольники, каждый из которых обрабатывается отдельно:

TSM05.gif

Поэтому в редакторе не все вершины многоугольника могут лежать в одной плоскости (!), а в симуляторе эта грань будет изображена с изломами. Если многоугольник невыпуклый, то возможно «неудачное» разбиение, при котором вогнутая часть будет перекрыта, поэтому такие случаи лучше избегать.

Вершины составляющих деталь граней (иначе - многоугольников, полигонов) называют точками (Point, или Vertex). Любой полигон всегда опирается своими вершинами на точки, однако после удаления некоторых полигонов в детали могут остаться и «лишние» точки, не выполняющие никаких функций. В больших количествах они замедляют работу компьютера, однако, как правило, не вызывают ошибок (и, насколько я понимаю, не конвертятся в МСТС). Переместив точку, мы изменим форму детали - за счет формы прилегающих к выбранной вершине треугольников.

Кроме того, для удобства работы, некоторые детали (являющиеся призмами или пирамидами, возможно неправильными, деформированными; такие детали называют структурированными – structured parts) могут делиться на так называемые кросс-секции (от английского cross-section – «поперечное сечение»). «Кросс-секцией» называют множество точек, на которые опирается одно из оснований детали. Конечно, у многих деталей можно выделить несколько кросс-секций. Например, вот такая деталь, объединяющая в себе две пятиугольные призмы и одну пятигранную усеченную пирамиду, имеет 4 кросс-секции из 5 точек каждая (конечно, число точек в кросс-секции постоянно для каждой из деталей):

TSM06.gif

Работа с ними позволяет изменять сразу всё сечение, что ускоряет и упрощает работу. Однако, я не буду детально описывать здесь этот метод – для первого упражнения он не понадобится.

Попутно замечу, что в этой «детали», скорее всего, 5*4=20 точек и 5*4 боковых (четырёхугольники) + 2 торцевых (пятиугольники) полигона. Впрочем, часть из них могли быть удалены, а на произвольно выбранные точки могли быть «натянуты» новые, например, в одном из промежуточных сечений.

Создаём детали

В TSM существует 8 основных типов деталей, деформацией которых можно создать объект любой, сколь угодно сложной формы. Все они перечислены в «палитре» деталей. Итак, сверху вниз:

TSM07.gif

  1. Box (параллелепипед);
  2. Tube (цилиндр). Вообще говоря, создавать тела, не разделяющиеся на отдельные многоугольники, в ТСМ нельзя. Поэтому цилиндры заменяются призмами, приближенно повторяющими их контуры, конусы – пирамидами и т.п. Далее, говоря «цилиндр», я буду подразумевать именно деталь, созданную как призма с числом граней от 3 до 64.
  3. Disk (многогранник). По сути дела, это пирамида (или конус, см. п.8) нулевой высоты (вершина которой находится в плоскости основания).
  4. Oval (овал). Две «половинки» диска, между которыми помещается прямоугольная вставка. Эта деталь может быть создана из диска, причём в последнем случае будет сэкономлено несколько полигонов, а значит – модель будет требовать меньше ресурсов.
  5. Polygon (многоугольник). Просто торец от цилиндра  .
  6. Conventional sphere (сфера, полученная из нескольких поставленных друг на друга усечённых пирамид).
  7. Geodesic sphere (сфера, приближенная как симметричный многогранник с числом граней: либо 20 – икосаэдр, либо 80, либо 320, причём последний многогранник невыпуклый! Выглядит забавно, но применяется в исключительных случаях. Например, я за три года работы в ТСМ 2-3 раза использовал икосаэдр и ни разу – 320-гранник)
  8. Cone (конус). Пирамида, состоящая из n треугольных граней с общей вершиной и n-угольника в основании.

Основными и наиболее часто используемыми на практике типами деталей являются Box и Tube, а все остальные легко можно заменить комбинацией этих частей.

Кроме того, в ТСМ имеется очень мощная и удобная возможность получать деталь в виде призмы, состоящей из произвольного числа кросс-секций, задав произвольную форму её сечения, однако её рассмотрение выходит за рамки вводного курса.

Щелкнув по любой из кнопок, вы увидите диалоговое окошко, в котором нужно задать параметры, определяющие форму и размеры будущей детали. Нажав ОК, Вы увидите деталь добавленной в модель. Если этого не произошло, попробуйте изменить масштаб или переместить точку обзора – возможно, деталь слишком мала или велика, либо находится где-то сбоку, за границами экрана.

Я предлагаю для начала создать простую избушку, чтобы побыстрее посмотреть её в МСТС.

Что нам стоит дом построить?..

Для начла «возведём» стены в виде обыкновенного параллелепипеда - box. Нажмите кнопку с изображением кубика (создание любой детали можно выполнить и без «палитры», из главного меню, выбрав подраздел Part>Add>…). У нас откроется вот такое диалоговое окно:

TSM08.gif

В нём можно заполнить поля, определяющие его ширину (Width), высоту (Height), длину (Depth) – в них по умолчанию стоят числа 20 (метров). Последовательность указания размеров соответствует последовательности осей: X, Y, Z. Поля с нулями “Origin * Position” определяют координаты точки, в которой будет находиться центр параллелепипеда.

Кнопка Color задаёт цвет детали, которым она будет отрисована в редакторе (по умолчанию – серый). Однако, поскольку этот цвет никак не связан с цветом детали в МСТС, он бывает обычно неважен.

Попробуйте-ка навскидку назвать координаты центра среднестатистической избушки и её габаритные размеры! Поэтому мы не станем задаваться сложными стереометрическими расчётами (а если такая задача Вам показалась простой, назовите, не задумываясь, параметры для её дымовой трубы ;-) ). Впрочем, иногда эта особенность оказывается чрезвычайно полезной. А сейчас безо всяких вычислений смело соглашайтесь на предложенные ТСМ условия, и вот – наконец! – Вы увидели 3 одинаковых проекции кубика 20х20х20 метров и его 3D-изображение:

TSM09.gif

Серо-зеленым цветом на проекциях обозначена система координат выбранной детали. Она находится в центре куба, сейчас он совпадает с точкой (0,0,0).

Чтобы сделать из этого куба стены избушки, надо уменьшить его размеры. Для этого перейдем в режим масштабирования (scale mode), зажав соответствующую кнопку: TSM10.gif . Иначе это можно сделать, нажав S (Scale) на клавиатуре. Курсор над проекциями примет вид белого перекрестия с буквой S в углу. Попробуйте переместить курсор, нажав кнопку мыши (в горизонтальном направлении, вертикальное перемещение, как правило, не имеет эффекта при масштабировании). Кубик изменит свои размеры! Сделаем его поменьше, со стороной около 5 метров. Но высота стен должна быть примерно дважды меньше их длины (всего 2-3 метра). Для этого растянем кубик только вдоль вертикальной оси Y, запретив изменение по X и по Z, нажав вот эти кнопки с красными кружками: TSM11.gif (а можно нажимать на клавиатуре клавиши X, Y, Z). Теперь он будет изменять только свою высоту. Уменьшите её до приблизительно одного этажа. Затем, запретив растяжение по X и по Y, сделаем дом прямоугольным, а не квадратным, и в плане. Итак, мы имеем заготовку размером 5х2,5х7 метров:

TSM12.gif

Теперь удалим лишние части – днище и верхнюю грань. В МСТС они всё равно не будут видны, а модель станет проще. Для этого перейдём в Polygon Mode (режим редактирования полигонов – граней).По умолчанию мы находились в режиме редактирования деталей (Part Mode).

Переключение между ними осуществляется кнопками TSM13.gif (режимы редактирования деталей, полигонов, точек, кросс-секций – в неструктурированных деталях вроде нашего параллелепипеда он недоступен, и шаблонов кросс-секций), которым соответствуют клавиши F5, F7, F8, F9, F10 или соответствующие пункты главного меню Mode>Part, Mode>Poly и т. д. Выбрав этот режим, Вы увидите, что одна из граней параллелепипеда выделена белым цветом. Кроме того, из её центра проведена нормаль – небольшой перпендикулярный отрезок, показывающий, какая сторона полигона будет отображаться (в отличие от реального мира, в компьютерном моделировании все полигоны имеют только одну сторону. При взгляде изнутри они оказываются прозрачны!).

Итак, сейчас основание нашего домика имеет 6 граней. Нажимая кнопки N или P (Next, Previous – следующая, предыдущая), Вы можете поочередно выбирать любую. Это же можно сделать, выбрав соответствующий пункт во всплывающем меню, либо нажав стрелки , на клавиатуре, либо выбрав пункты главного меню Edit>Next, Edit>Previous. Выберите верхнюю грань, нажмите Del, затем сделайте то же с нижней. Останутся только 4 стены (заметьте, изнутри их не видно! Отображаются только внешние стороны):

TSM14.gif

Осталось поднять стены вверх, чтобы домик ровно стоял на земле. Для этого вернитесь в Part Mode ( TSM15.gif ) и выберите режим перемещения ( TSM16.gif ) – Move, клавиша M. Около курсора появится буква М, и Вы сможете перетаскивать деталь в плоскости проекции. Чтобы поднять её вверх, запретите перемещения по X и по Z, так же, как делали это при растяжении. Теперь перетащите деталь вверх, чтобы её нижняя грань совпадала с главной осью, находясь в плоскости основания. Стены домика готовы, можно переходить к крыше.

Крышу мы для разнообразия сделаем из… цилиндра. Откроем меню «Tube Parameters», нажав на соответствующую кнопку палитры или выбрав в главном меню пункт Part>Add>Tube:

TSM17.gif

Это меню похоже на меню создания параллелепипеда. Вы так же можете задать координаты центра и размеры цилиндра. Размеры определяются в окошках Radius (радиус, по умолчанию – 2 метра, наберите 4) и длина (по умолчанию – 20 метров, введите 2). При добавлении в редактор цилиндр может быть ориентирован вдоль любой из 3 главных осей, она выбирается переключателем Structure Long Axis, мы согласимся на предложенный вариант – вдоль оси Y. Параметр Points/Section (число точек в секции) означает число граней в призме, которой будет приближен цилиндр (от 3 до 64). Выберите 4 грани. Параметр Sections означает, из скольких призм будет составлен цилиндр, сейчас нам достаточно одной. Наконец, важно упомянуть галочки “Close Left/Bottom/Front” и “Close Right/Top/Back”. Они указывают, будут ли у цилиндра грани в основаниях (левом, нижнем или переднем и правом, верхнем или заднем, в зависимости от ориентации призмы вдоль той или иной оси). Поставьте верхнюю галочку и снимите нижнюю, а затем нажмите ОК. Вы увидите, что появилась четырёхгранная призма с квадратным основанием, очень похожая на наши стены, только повернутая на 45 градусов относительно них. Теперь наш проект состоит уже из двух деталей. В режиме Part Mode (F5) можно переходить от одной детали к другой так же, как и между полигонами одной и той же детали в режиме Poly Mode – клавишами N, P, или стрелками влево и вправо. Сейчас активна новая деталь, она выделена более светлым оттенком синего:

TSM18.gif

Замечу, что получить точно такую же деталь можно было, создав вместо цилиндра параллелепипед и удалив у него верхнюю грань (конечно, он не был бы повернут относительно «стен»). Это было бы даже немногим проще, но я хочу показать этим, что многие типы деталей зачастую оказываются взаимозаменяемы, и их выбор иногда определяется лишь Вашим желанием. Однако, заменить параллелепипедом пятигранную призму уже было бы нельзя.

Теперь поднимите будущую крышу, чтобы её нижняя грань совпадала с верхом стен – Вы уже умеете это делать. Затем, выбрав режим вращения ( TSM19.gif , или клавиша R), поверните деталь на 45 градусов в любую сторону, чтобы её боковые грани стали параллельны «стенам», двигая мышью с нажатой левой кнопкой в пределах горизонтальной проекции. «Запрещающие» кнопки TSM20.gif в этом режиме не действуют, а вращение всегда производится около оси, перпендикулярной выбранной Вами (по клику мыши) плоскости проекции. Не забывайте, что для большей точности движений можно увеличить масштаб. Затем растяните заготовку крыши вдоль оси Z, так, чтобы она слегка выступала за края стен. У Вас должны получиться два поставленных друг на друга параллелепипеда, причем верхний оказался немного больше нижнего:

TSM21.gif

Обратите внимание, что оси детали перемещаются и поворачиваются вместе с ней (но не масштабируются – система единиц должна оставаться постоянной). Впрочем, ничего удивительного в этом и не должно быть. Теперь сделаем крышу сужающейся к верху, как это всегда бывает у настоящих домов. Для этого необходимо перейти в режим редактирования точек (Point Mode, F8 или кнопка с изображением точки TSM22.gif ). По углам детали будут нарисованы жирные красные точки, а одна из них – активная, та, которую можно перетаскивать или масштабировать, будет нарисована белым цветом. Переключаться между точками можно тем же способом, что и между деталями, и между полигонами – кнопками N, P, стрелками, или через всплывающее меню. Вам будет удобнее редактировать несколько точек сразу. Чтобы сделать активными несколько точек, выбирая каждую из них, нажимайте пробел. Они будут изображаться желтым и зелёным (выделенная, текущая выбранная точки) цветами. Выделите так все 4 верхние точки:

TSM23.gif

Теперь, оставаясь в Point Mode, выберите режим растяжения (масштабирования – Scale Mode), и запретите изменения по осям Y и Z. Затем сближайте точки до тех пор, пока они не сольются в две:

TSM24.gif

При этом надо заметить, что две точки, находящиеся в одном месте, воспринимаются ТСМ раздельно, и возможно даже растянуть их назад. Теперь сожмите точки по оси Z, но не до конца, оставив между ними расстояние метра в два (при этом наклон торцевых линий на профильной проекции составит приблизительно 45 градусов). Итак, крыша вроде бы готова!

TSM25.gif

Но что же произошло с торцевыми её частями, которые из четырёхугольных превратились в треугольные? Вспомните, что точек, их образующих, на самом деле осталось четыре, а многоугольник, который мы редактировали как единое целое, на самом деле разбит на треугольники. Дело в том, что сейчас мы видим лишь один из этих треугольников, а у другого совпали две вершины, он приобрел нулевую площадь и не отрисовывается. Условно, расположив совпавшие вершины близко друг к другу, это можно изобразить так:

TSM26.gif

Поэтому лучше было бы заменить эти четырёхугольные грани на треугольные. Это и упростит модель, и гарантирует, что все ребра будут одинаково аккуратно смотреться в игре. Для этого перейдите в режим редактирования полигонов и удалите треугольные части крыши. Затем вернитесь в режим редактирования точек (Point Mode) и снимите выделение с выбранных вершин, нажав Shift+U (Unselect), или выбрав в главном меню пункт Edit>Unselect. Затем выделите 3 точки, образующие треугольный скат крыши (из 2 совпадающих верхних точек можете выбрать любую, но только одну!). После этого нажмите Ctrl+P или выберите пункт меню Polygon>Make Poly From Selected Points («натянуть» полигон на выбранные точки). По этой команде редактор создаст новый, треугольный (мы ведь выбрали только 3 точки) полигон, снимет выделение с этих точек, переключится в Poly Mode – режим редактирования полигонов – и сделает новый полигон текущим.

В зависимости от того, в каком порядке Вы выбирали эти три точки, возможно два исхода этой операции: Вы увидели вновь созданную грань на трехмерном изображении домика, а нормаль на проекциях смотрит наружу, либо Вы не видите этой грани (полигона), а нормаль обращена внутрь. В первом случае всё прошло успешно, а во втором нажмите клавишу F (Flip), либо выберите в главном меню операцию Polygon>Flip. Теперь он окажется «вывернутым наизнанку» и установленным в правильное положение.

Наконец, создайте таким же способом противоположный скат крыши. Домик полностью готов!

В заключение отмечу, что три основные операции (Move, Scale, Rotate - ) можно выполнять другим способом, без подгонки «на глазок» подтягиванием мышкой. В главном меню есть пункты Transform>Move, Transform>Scale, Transform>Rotate, которые позволяют двигать, вращать, масштабировать выбранную деталь или точку на заранее известное число метров, градусов или в заданное число раз. При выборе этих пунктов Вам предложат ввести число метров, градусов или соответствующий масштабный коэффициент для каждой из осей в небольшом диалоговом окне. Этот способ гораздо более точен и иногда бывает весьма удобен, однако он требует точного знания координат. По умолчанию, параметры настроены таким образом, чтобы не изменить объект (т. е. сместить на 0 метров, или увеличить в 1 раз).

Экспорт домика в MSTS

ТСМ имеет встроенную возможность переноса (конвертации, экспорта) созданных Вами моделей в игру. Чтобы сделать это, выберите пункт главного меню File>Create TS Object File или просто нажмите клавишу С, и Вы увидите окно с параметрами экспорта:

TSM27.gif

Выберите в верхнем выпадающем меню любой маршрут, например, Hisatsu Line (он есть во всех версиях МСТС, и это самый простой маршрут).

Если Вы уже немного работали в редакторе маршрутов (если нет, прочитайте соответствующий раздел справки в МСТС или на нашем сайте), то Вы знаете, что все объекты, которые можно установить в маршруте, разбиты по тематическим группам. Введите в поле Object Class название любой группы (можно ещё не существующее, например My_Objects – TSM не воспринимает пробелы, оставляя только первое слово). В поле Object Name введите описание домика, в поле Object Filename – имя .s – файла, в который будет сохранена геометрия модели. Наконец, отметьте 4 галочки справа (Convert textures – экспорт текстур вместе с объектом; о текстурах мы поговорим позже; Convert to binary – сжатие .s – файла, это просто уменьшит место, занимаемое им на диске, Replace existing files – замещать уже существующие файлы, но мы-то создаём новый, эта функция не важна, наконец, Update Ref File – добавить в .ref-файл маршрута, в котором будут прописаны все объекты, доступные для установки в маршрут, ссылку на наш домик). Нажмите кнопку Continue – продолжить – и подождите немного, пока ТСМ добавит нужные файлы в папки симулятора, и закончит работу DOS’овское окно приложения ffeditc_Unicode, которое сжимает .s-файлы. Если не ставить галочку Convert to binary, то это окно не появилось бы. Затем, получив отчет о конвертации (как правило, успешной ;-) ), закройте его, сохраните проект в TSM и выйдите из него.

Теперь запустите Hisatsu Line в редакторе маршрутов МСТС. Не рекомендуется запускать МСТС одновременно с ТСМ, они могут обращаться к одним и тем же участкам оперативной памяти, что вызывает проблемы с визуализацией объектов.

Найдите вкладку My_Objects и Ваш домик на ней:

TSM28.gif

Установите его в маршруте. Вот эта избушка на конечной станции Яцусиро:

TSM29.jpg

Точно так же он будет выглядеть и в игре, если Вы сохраните изменения и запустите МСТС.

У вас, наверное, возник вопрос – а почему домик именно синего цвета? И как сделать его, например, кирпичным с шиферной крышей? Тогда переходим к следующей главе.

…Нарисуем – будем жить !

Все модели, которые есть в МСТС, устроены схожим образом. Их геометрия складывается из полигонов, а когда Вы запускаете игру, на месте каждого треугольника в нужном ракурсе отображается соответствующим образом деформированный фрагмент графического файла, который и определяет цвет поверхности, а иногда и намекает на её форму. Этот рисунок называется текстурой и сохраняется в файле особого графического формата .ace, используемого в МСТС, в папке Textures маршрута. Однако не существует редакторов, позволяющих непосредственно изменять .ace-файлы, поэтому текстуры, как и модели, приходится экспортировать из графических файлов привычных форматов .bmp либо .tga (другие графические форматы ТСМ не читает). Размер таких файлов строго определён: они обязательно должны быть квадратами со стороной 2n пикселей. В МСТС используются текстуры формата от 2х2 до 2048х2048 пикселей, однако ТСМ корректно работает только с исходными файлами текстур (.bmp, .tga) форматов 128х128, 256х256 или 512х512. По умолчанию, ТСМ использует тек4стуру blank.bmp (в МСТС она превращается в blank.ace), имеющую синий цвет. В редакторе все полигоны сначала являются окрашенными именно в неё, но это единственная текстура, которая не отображается в ТСМ, позволяя деталям сохранять свою серую окраску.

Я же предлагаю использовать вот такой файл:

TSM30.jpg

Обратите внимание, что пропорции отдельных фрагментов могут быть искажены – когда мы будем «раскрашивать» нашу модель, они будут растянуты нужным образом. Поместите этот файл (House.bmp, он прилагается к инструкции) в папку …\TSModeler\Textures.

Откройте в TSM домик и выберите в нём сначала деталь, являющуюся стеной. Нажмите F4 или выберите пункт в главном меню Part>Textures. Появится вот такое окно, задающее параметры текстур детали (каждая деталь окрашивается отдельно):

TSM31.gif

В нем можно задать 6 прямоугольных фрагментов текстуры, которые будут «проецированы» на деталь с каждой из 6 сторон. Нам понадобятся только 4 фрагмента, которые окрасят стены спереди (front), сзади (back), слева (left) и справа (right). Выбрать файл можно, нажав кнопку Browse справа от строки с нужным направлением (а можно ввести путь к файлу с клавиатуры). Открыв файл, Вы попадёте в окно выбора фрагмента:

TSM32.jpg

В нём Вы можете, проведя мышью с прижатой кнопкой по картинке, выделить любой её фрагмент. Справа можно ввести с клавиатуры координаты левого верхнего угла фрагмента (в пикселях), а также ширину и высоту. Наконец, если точно выделить фрагмент мышью не удалось, можно уточнить координаты кнопками прокрутки. Обратите внимание, что «уточнять» их надо всегда, так как рамка, которой Вы обводите фрагмент мышью, оказывается на 1 пиксель шире и выше выделенного фрагмента, а при установке параметров с клавиатуры или кнопками этого не происходит. Наконец, заметьте, что по умолчанию оказывается выбрано всё изображение целиком.

Для передней и задней (малых) стен домика отметьте фрагмент примерно такого же размера, как показанный на рисунке, включающий в себя 2 окна, а для больших боковых стен – фрагмент такой же высоты, но во всю ширину текстуры. Нажмите ОК, и стены станут кирпичными.

Выбирая фрагменты текстур, можете отметить галочку Invert X, она зеркально отразит выбранный фрагмент, но не нажимайте Invert Y – иначе он встанет с ног на голову. Вот что получится, когда Вы назначите все 4 фрагмента текстуры:

TSM33.gif

Теперь сделайте то же с крышей, взяв для неё узор шифера вверху листа, назначая для торцов более узкие фрагменты, чем для боков. Не забудьте назначить пятую текстуру для её днища (Bottom), взяв любой фрагмент потемнее – оно почти не заметно. А верхнюю (Top) текстуру не назначайте. Дело в том, что ТСМ присваивает полигонам текстуры, идя по списку сверху вниз. Поэтому наклонные плоскости, которые могут быть окрашены как сбоку, так и сверху, оказались бы покрыты все разом только «верхней» текстурой, вот так:

TSM34.jpg

вместо вот такого, правильного расположения:

TSM35.jpg

Теперь домик готов полностью. Напоследок предлагаю небольшое упражнение: создайте небольшой параллелепипед (Box), удалите у него нижнюю грань и поставьте его торчащим из крыши вместо дымохода, а затем отекстурьте его красным кирпичом, взятым в правом верхнем углу листа текстуры, например, вот так:

TSM36.jpg

Теперь проверьте, все ли полигоны в получившейся модели домика получили свою текстуру? Для этого используйте пункт Главного меню Polygon>Find Untextured Polygons (найти неотекстуренные полигоны). Вы получите сообщение: «0 polygons in 0 parts are untextured…», что означает: для 0 полигонов в 0 деталей не назначены текстуры. А если цифры не равны нулю, значит, Вы что-то забыли и некоторые детали содержат «чистые» грани. Эти детали окажутся выделенными (как и точки, они будут изображены желтым или зеленым цветом, а снять выделение можно пробелом с одной детали или Shift+U – со всех), а выбрав такую деталь и перейдя в Poly Mode, Вы обнаружите, что пустые полигоны так же показаны выделенными. Не забудьте снять с них выделение и попробуйте наложить текстуры снова.

Теперь опять экспортируйте модель в МСТС, тем же способом. Текстура House.ace будет добавлена в папку Japan2\Textures, а в МСТС домик приобретёт вот такой долгожданный вид. Согласитесь, что шифер издали действительно покажется волнистым, а фундамент – слегка выступающим из стен:

TSM37.jpg

Вот и всё. Домик готов, на этом я останавливаюсь, а Вы можете продолжать создание своих объектов для МСТС примерно так, как это только что было показано. В следующих томах инструкции возможности ТСМ будут показаны более широко и детально.

Желаю удачи!

E69, 3-5 февраля 2006 года.