Пришло время заняться световой сигнализацией на панели приборов. Сделаем стеклянные колпачки сигнальных ламп и заставим лампы светиться.
В этом месте я приготовил маленькую хитрость - мы не будем моделировать стекло для колпачков разного цвета. В качестве цвета лампы будет использован участок текстуры пульта. Переключаем окно проекции в режим просмотра "Smooth+Highlight" (быстро эту операцию можно выполнить нажав F3) и прямо над пультом создаем "Sphere Object" с панели "Objects". Размещаем эту сферу так, чтобы она наполовину "утонула" в поверхности пульта.
Остальное за материалом стекла. Открыв редактор материалов, создаем новый материал. На этот раз мы загрузим его из стандартной библиотеки. В стандартной поставке 3ds max есть библиотека материалов под именем "RayTraced_01", а в ней материал с названием "GlassClear". Это именно то, что нам потребуется. Присвоим материал нашей сфере и раскопируем её на все сигнальные лампы.
Чтобы получить свечение лампы внутри сферы, посредине между плоскостью пульта и вершиной сферы помещаем точечный источник света с начальным и конечным радиусами зоны затухания 0.007 и 0.015 соответственно. Далее следует регулируя множитель источника и его оттенок добиться максимально реалистичного результата. Вот примерно как получается - в верхнем ряду крайние лампы "включены"
Аналогичным способом можно делать и сигнальные огни на блоке индикации БИЛ2М или на локомотивном светофоре АЛСН с той лишь разницей, что в последних используются плоские стекла, за которыми располагаются источники освещения.
Если на текстуре сигнальная лампа изображена достаточно реалистично и четко, то можно обойтись и без моделирования стеклянного колпачка. Кстати именно таким образом мною сделаны лампы ПСС и боксования в модели кабины тепловоза 2ТЭ10Л.
Теперь нам предстоит сделать панель кнопочных переключателей, которая находится в нижней части корпуса пульта. Также предстоит научиться делать элементы, которые впоследствии будут анимированы.
Панель представляет собой почти прямоугольную коробку в которой установлено 12 однотипных переключателя. Для её изготовления берем всё тот же "ChamferBox Object". Правда его придется малость модифицировать. У меня получились такие размеры (при создании на виде спереди): длина - 0.136 м, ширина - 0.731 м, высота - 0.074 м, закругление - 0.005 м. Сегментов ширины - 3, длины и высоты - по одному.
Перейдя к редактированию вершин прямоугольника я раздвинул на виде сверху средние группы точек к краям (как показано ниже).
Теперь перейдем на уровень редактирования полигонов и выделим средний блок полигонов примерно так:
Теперь если просмотреть все параметры используемого нами модификатора "Edit Mesh" в разделе "Edit Geometry" найдется кнопка "Extrude". Смело нажимаем её и оттаскиваем выделенные полигоны вниз от коробки.
Для окончания операции потребуется вернуть нижнюю группу точек на своё первоначальное место (показана проекция слева)
Получилось почти то, что нужно.
Для моделирования цилиндрического выступа на торце коробки просто сделать цилиндр длиной чуть большей чем сама коробка. Для текстурирования я применил фрагмент фронтального снимка блока переключателей.
Сам переключатель - это объединенные в один объект "ChamferBox" (он белый) и "Chamfer Cylinder" (он голубой). Для того, чтобы из этих двух деталей сделать одну - нужно выделить их обе, выбрать закладку "Utilities" на вертикальной панели справа (она помечена молоточком) и последовательно нажать кнопки "Collapse", затем "Collapse selected".
Для материала переключателя можно взять "GlossBrown" из стандартной библиотеки "RayTraced_01". Чтобы при анимации переключатель вращался вокруг оси своей цилиндрической части нужно перенести туда так называемый "Pivot Point", своеобразную точку привязки любого объекта. Это делается с панели "Hierarchy". В блоке "Adjust Pivot" в секции "Move/Rotate/Scale" давим на кнопку "Affect Pivot Only" и на проекции сбоку перемещаем его точно в центр цилиндрической части переключателя. Теперь при операции вращения переключатель будет вращаться как нам необходимо.
Осталось из одного сделать дюжину переключателей. На панели кнопок "Axis Constraints" есть кнопка "Array". Нажимаем её, выставляем "1D Count" = 12, экспериментально подбирая значение "Incremental X" и нажимая ОК добиваемся того, чтобы переключатели были придвинуты друг к другу вплотную.
Я не буду в мельчайших подробностях описывать моделирование остальных устройств - это достаточно обширная тема. В своих разработках я использовал модели кранов №254 и №394 любезно предоставленные мне Сергеем Ермоленко. Они изготавливались им по заводским чертежам, поэтому достаточно сложны и максимально приближены к реальным. Вы можете попробовать самостоятельно потренироваться над их изготовлением. Это же отностится и к АЛСН, КЛУБ, САУТ и прочим приборам, применяемым в кабинах наших локомотивов. Для текстурирования кранов можно применять как фотографии, так и стандартные материалы, например "GlossRed" из стандартной библиотеки 3ds max.
Абсолютно все детали в моделях я делаю одним из вышеперечисленных способов. На данном этапе нужно набраться усидчивости и отмодлить всё необходимое в кабине самостоятельно. В следующих разделах я буду предполагать, что модель уже в целом готова. Заодно с написанием урока и кабину к ВЛ11-185 сделаем. :)
Для получения хорошего качества изображения кабины в игре нам необходимо правильно настроить освещение внутри и снаружи кабины и расположить камеры обзора.
Начнем с камеры. С панели "Lights & Cameras" выбираем "Target Camera" и на виде сбоку располагаем её как показано ниже. Чтобы включить переключить обзор на эту камеру также в окне просмотра перспективы перейдем на вновь созданную камеру.
По продольной оси камеру и точку её прицела сдвигаем вправо так, чтобы ось камеры проходила чуть правее середины панели приборов. Положение камеры нужно отрегулировать так, чтобы в поле её обзора попадали: справа - переднее боковое окно, слева - центральная стойка целиком и немного левое лобовое стекло, вверху - резиновое уплотнение по верхнему краю лобового стекла, внизу - панель кнопочных переключателей целиком. Для вида вперед я использую камеру с фокусным расстоянием 50 мм (угол обзора - 39.598 град). Получается достаточно реалистичная картинка без излишних угловых искажений. Конечно можно использовать камеру и с большим углом обзора, но тогда вид из кабины будет больше напоминать панорамный снимок и выглядеть неестественно. Фокусное расстояние меняется в разделе "Parameters" в режиме редактирования камеры. Достаточно просто нажать кнопку "50мм" в группе "Stock Lenses". Так как в игре используется три статических вида из кабины (вперед, направо и налево) - я рекомендую создать три отдельные камеры для каждого из них.
Освещение также немаловажно правильно настроить. Мне не понравилось первоначальное положение, поэтому я сместил оба источника немного ниже и отодвинул назад (на рисунке выше это уже заметно), изменил границы зоны затухания на 0.5 и 3.5 метра, а также сделал более плавным переход на тень. Это регулируется параметром "Size" блока настроек "Shadow Map Parameters". Чем выше его значение - тем более четкими будут границы теней. Нам пока достаточно значения 128.
Освещение, а особенно искусственное никогда не бывает абсолютно белым, поэтому необходимо сменить цвет источника света с белого на чуть желтоватое. Нажмите на белый прямоугольник справа от поля "Multiplier" и выставьте значение 255-245-220 (RGB).
Игровой движок MS TrainSimulator-a достаточно примитивен, поэтому для анимации кабин применяется кадровый метод. Все что нам потребуется - это получить серию последовательных кадров движения определенного органа управления, расположить их в одной текстуре и прописать последовательность отображения в скрипте.
Сделаем для примера "свояк". Переключаемся на виж сверху, выделяем ручку крана и разворачиваем её в первое положение (отпуск и зарядка). Для пущей точности я ориентируюсь по выступам в корпусе крана.
Нажимаем F10 (настройки рендеринга), выбираем любимый режим 640х480 и делаем первый рендер нажатием F9 (алтернативный вариант Shift+Q работает немного быстрее, но его качество нужно настраивать). Полученную картинку записываем в файлик типа 254_1.BMP. Здесь и в дальнейшем мне потребуется вывод именно в формате .ВМР. Поворачиваем ручку крана до следующего выступа и снова рендерим. И так 5 раз. В результате на выходе у нас получилось 5 ВМР-шников. Можно сразу повторить подобную операцию и для реверса и для крана машиниста.
Закрываем 3dmax, открываем Photoshop. Из диалога "Open" враз окрываем все пять файлов и размещаем их разными слоями в первом. Получиться должно примерно так:
Теперь необходимо определить область, в которой собственно и поворачивается ручка крана, точнее область в которой происходят изменения. Делается это путем включения/выключения отображения слоев при просмотре картинки в большом увеличении. Необходимо прямоугольным выделением ограничить эту область. Вот так:
Прежде чем сделать снимок экрана я поставил указатель мышки точно в верхний левый угол выделения. Поясню зачем. На панели "Navigator/Info" Photoshop выводит информацию, которая пригодится нам при размещении анимации в кабине, а именно это положение кадра по горизонтали и вертикали и его размер. Взгляните, у нас уже в руках четыре цифры 490 190 121 73!!! Запишем их.
Теперь нужно обрезать многослойную картинку по выделению. Меню "Image" пнкт "Crop". Затем приготовить место для размещения всех слоев в одной плоскости. На заголовке окна нжимаем правую кнопку мыши и выбираем "Canvas size" в параметрах которого вводим тройную ширину и двойную высоту имеющегося фрагмента.
Осталось растащить слои так, чтобы кадры располагались последовательно справа налево снизу вверх.
Для того, чтобы анимация крана, сделанная в достаточо низком разрешении не портила нам впоследствии общий вид кабины сделанный в большом разрешении я беру обычный ластик и стираю всё вокруг самой движущейся ручки крана и её тени. В результате должен получиться примерно такой файл:
Его мы сохраним в формате .TGA (чтобы сохранилась прозрачность) и преобразуем в формат .АСЕ либо конвертером из командной строки, либо программой AceIt или TGATool2. Я не останавлюваюсь на подробностях конвертации, об этом вы сами найдете много советов на нашем сайте или на форуме.
Подобным способом я анимирую ВСЕ движущиеся детали кабины, включая АЛСН или КЛУБ, контроллер, реверс и оба тормозных крана. Разница только в количестве необходимых кадров.
Покажу на примере всё того же "свояка", как сделать его фотореалистичным. Берем фотку из кабины любой машины и необтекстуренную модель крана усл.№254. Если не удалось найти в интернете или сфотографировать самим - напишите, пришлю парочку.
В модели кран состоит из трех частей: ручки, основания и дополнительной камеры 0.3 л внизу. Наносить текстуры будем на каждый элемент по отдельности. В принципе если исходная фотография не нуждается в обработке для коррекции трапецивидных искажений её можно сразу использовать как карту Diffuse для материала крана. Так и сделаем. В редакторе материалов в новом слоте создадим стандартный материал с нашей фоткой в качестве карты рассеяния.
Выделим кран и присвоим ему этот материал. Из набора модификаторов выберем последовательно "Edit Mesh", затем "UVW map". В последнем поставим метод наложения "Planar" и укажем размеры габаритного контейнера (Gizmo) немного больше самого крана. Плоскость наложения должна быть параллельна корпусу крана.
Теперь выбираем модификатор "Unwrap UVW" и давим в нем кнопку "Edit...", Откроется окно, в котором будет видна наша фотография и "каркас" модели крана с точками коорднат маппинга.
Необходимо тщательно подогнать положение этих точек по фотографии:
.. и насладиться результатами работы. Аналогичным способом наложена фотография на ручку и основание крана.
Совсем несложным способом у нас получился вполне реалистично выглядящий тормозной кран.
С уважением, Цельмер Евгений aka Joden