Моделировение рельсового звена ж/д пути. Часть I

Материал из xrWiki
Перейти к: навигация, поиск

С самого начала

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

  1. поиск референсов
  2. моделинг рельса
  3. моделинг шпалы, накладок и насыпи
  4. компоновка секции из отдельных моделей

Статья будет разбита на несколько частей. От читателя потребуются начальные знания Maya и немного терпения.

Шаг 0: поиск референса

Моделирование реального предмета всегда начинается с поиска референса — эскиза, чертежа, фотографии. В случае с рельсами не стоит рыться в поисковиках, достаточно просто открыть ГОСТ Р 51685-2013 Рельсы железнодорожные. Общие технические условия. Ищем эскиз профиля рельса, делаем скриншот, сохраняем картинку в папку с проектом.

Примечание

Чтобы в дальнейшем не возиться с разверткой, сохраняйте картинку в удобном размере, напр. 1024х1024пиксела.

Делать рельс мы будем методом лофтинга, т.е. построением поверхности через профильные кривые.

Шаг 1: создание рефа

Первым делом нужно создать плоскость, на которой будет отображаться эскиз с профилем рельса: Create -> Polygon Primitives -> Plane. В настройках сразу указываем размер, пропорциональный размеру картинки (напр., 0.1х0.1м).
Затем назначим плоскости новый материал: RMB -> Assign New Material -> Lambert. Нажатием RMB -> Material Attributes открываем окно атрибутов материала. В этом окне в свитке Common Material Attributes щелкаем по шахматке напротив атрибута Color.

rail-loft-ae.PNG rail-loft-channel-editor.PNG

В открывшемся окне выбираем File. Затем в окне атрибутов в поле Image Name указываем путь к изображению. Нажатием клавиши 6 включаем отображение текстур во вьюпорте (если еще не включено). Если изображение легло криво, то открываем редактор текстурной развертки (Edit UVs -> UV Editor) и выбираем Polygons -> Normalize. Картинка должна отображаться без искажений.
Открываем окно Channel Box / Layer Editor, поворачиваем плоскость по оси X на 90 градусов, создаем новый слой и сразу отправляем в него нашу плоскость. Режим отображения слоя переключаем в R (Reference), после этого плоскость будет невозможно выделить случайным нажатием.


Шаг 2: создание кривой

Переходим во фронтальную проекцию (нажмите пробел и переключитесь вручную или, удерживая клавишу, воспользуйтесь Hotbox'ом). Выбираем инструмент создания кривых Безье: Create -> Bezier Curve Tool, и аккуратно расставляем точки вдоль одной половины профиля рельса. При необходимости выравниваем их относительно друг друга, используя привязку к точкам (для этого удерживайте клавишу v).

rail-loft-curve-01.png

Половинка профиля готова. Теперь можно отзеркалить его, но перед этим необходимо отредактировать положение опорной точки (pivot'а).
Нажимаем Freeze Transform. Удерживая зажатыми клавиши d и c, кликаем средней кнопкой мыши по кривой и перетаскиваем pivot на начальную точку кривой. Дублируем кривую нажатием Ctrl+d и в Channel Box'е в поле Scale X указываем значение -1.
Кривые-половинки стоят друг напротив друга, и их можно сшить в одну замкнутую кривую. Для этого переходим в режим работы с NURBS-поверхностями (F4) и в меню Curves нажимаем Attach Curves. Если кривые сшились некорректно, то отменяем произведенное действие нажатием Ctrl+z, выделяем одну из кривых и нажимаем Shift+RMB -> Reverce Curve, после чего повторяем попытку.

rail-loft-attach-curve-error.png rail-loft-rebuild-curve.png

Шаг 3: лофтинг

Дублируем кривую и перемещаем ее на некоторое расстояние по оси Z. Между этими двумя кривыми будет создана поверхность, которая станет телом рельса.

rail-loft-two-duplicated-curves.png

Выбираем в меню Surfaces операцию Loft. Здесь нужно кое-что настроить:

  • Выходная геометрия — полигоны
  • Тип — квадратные полигоны
  • Тесселяция — по контрольным точкам

rail-loft-loft-settings.png

И нажимаем кнопку Loft.

rail-loft-bad-mesh.png

Полученный меш далек от идеала. Нужно подогнать каркас под кривую-шаблон и подчистить от ненужных вершин и ребер.
Для начала сольем воедино вершины, расположенные в одних и тех же точках: Shift+RMB -> Merge Vertices. В параметрах устанавливаем пороговое значение 0.0001 и нажимаем Merge. Это нужно для того, чтобы получить цельную оболочку, а не две половинки.
Затем переходим во фронтальную проекцию, включаем режим работы с вершинами (F9).
Подгоняем вершины по кривой, используя операции масштабирования и перемещения сразу для двух противоположных вершин. Заодно удаляем ненужные вершины и ребра по Ctrl+Del (хотя особо увлекаться не стоит, на дворе 2014 год и исходники движка... просто убираем лишнее). Удобнее начать с шейки рельса.

rail-loft-edit-mest.png

В итоге получился такой вот рельс:

rail-loft-final-mesh.png

Было бы неплохо сразу подогнать его по высоте под реальный размер. Открываем ГОСТ, смотрим в таблицу: высота рельса типа Р65 равна 180мм. Ок, создаем кубик со стороной 0.18м и масштабируем рельс по высоте, используя кубик как шаблон.