Привет!
Как все знают, недавно вышел Серьезный Редактор 3 и всем хочется что то сделать в нем. По просьбе Tenshi я написал этот урок. Сперва немного теории.
Итак, во 2 СЕДе были убраны кисти и средство для их создания. Вместо них используются модели, так как они быстрее, надежнее и во многом превосходят браши. СЕД 3 работает по тем же принципам.
Откройте СЕД 3 и создайте новый уровень File --> New --> Document World
Далее наведите свою мышь приблизительно на центр мира (точка пересекания 2 осей (полосок, которые темнее, чем остальные) ) и нажмите Insert на клавиатуре. Таким образом мы создали пустую модель. Чтобы она была в центре мира наверняка, нажмите Q и слева выделится закладка Tools, где вы можете отредактировать местоположение выделеного обьекта, его пропорции и его ориентацию.
Выставьте все параметры для вашей модельки так, как показано на картинке выше. Далее, с еще выделенной пустой моделькой, кликните на надписи World Editor слева под окном перспективы и из выпадающего списка выберите Mesh Editor (редактор геометрии).
Теперь нажмите Shift+P на окне перспективы и из выпавшего списка выберите Cylinder (цилиндр).
Далее кликните где-нибудь на карте и, удерживая ЛКМ, проведите ее в другую сторону. Появился цилиндр!!! Ох ты ж блин!! Но еще рано радоваться))) Отпустите ЛКМ и слева, в закладке Tools, разверните древо Box Guide, далее Box Center и Box Size. Поставьте галочку в параметре Flip polygons (вывернуть поверхность), а то не комната выйдет, а пупырышек какой то). Потом в Box center (центр модели) поставьте параметрам x и z значение 0, а y 5. В Box size (размер модели) параметрам Width и Length (ширина и длинна) присвойте значение 20, а параметру Height (высота) 10.
Когда все это сделаете, нажмите D на окне перспективы. Готово! Вы создали первую комнату.
Убедитесь, что вы в режиме выделения полигонов, а не точек (Vertex), посмотрев, какая кнопка выделена возле окна выбора редактора (окна, где мы выбрали Mesh Editor. Скриншот последнего был в обучалке о создании комнаты). Если выделена кнопка Vertex, нажмите на Polygon. Далее выделите полигоны пола и потолка. Нажмите Shift+Ctrl+F. Появится окошко создания новой поверхности. В поле Map Name (название поверхности) впишите Floor_And_Ceiling и нажмите OK.
Далее повторите процедуру со стенами, только в поле Map Name впишите Walls.
Потом слева в окне перейдите на закладку Layer (слой), разверните древо Polygon Maps. Там уже наши поверхности. Выделите поверхность потолка и пола (Floor_And_Ceiling) и из выпадающего списка, где по умолчанию было указано (none), выберите New --> Shader Preset.
Далее раскройте вашу поверхность. В поле Material attributes (материал) выберите Browse и в папке Content/SeriousSamHD/Databases/Materiasl найдите и выберите Stone_HighFriction (камень). Потом, напротив поля Configurations, нажмите на желтый плюсик, появится поле Shader. Из выпадающего списка этого поля выберите Browse и 2 раза кликните на шейдер Standard.
Далее нам надо сделать карту текстур для пола и потолка. На окне перспективы нажмите цифру 8 слева на клавиатуре (на цифровой панели или же Num Pad'е). Окно перспективи теперь расделено на 2 части. Левая - то же окно перспективы, а правое - окно вашей карты текстуры.
Выделите вашу карту текстур по умолчанию, как на картинке ниже
Мы можем ее использовать, но моя задача - научить вас, как делать свою. Значит так, выделите полигоны пола и потолка и нажмите Shift+S, появится окно маппинга. Из доступных типов маппинга, выберите Planar (самый простой тип маппинга с выбранной проекции). В параметре Project alnog axis выберите y, поскольку ось у это ось вертикали, тоесть она ведет вверх, а сверху наши полигоны пола и потолка полностью видны, когда с осей х и z они будут видны как линии. Почему полигон должен быть полностью виден? да потому что на него будет с такой проекции ложиться текстура. Вы же скатерть накладываете сверху на стол, а не сбоку . Ну и в параметре Fit mapping выберите Fit both UV (выровнять по обеим осям). Вы можете конечно же после урока поиграться с этими параметрами и посмотреть, что будет при определенной комбинации. В поле Target UVMap введите Texture2 (тоесть мы создаем новую карту текстур под даным названием) и жмите ОК.
Далее в левом окне вы увидите нашу новую карту текстур, которая сама выделилась, и полигоны пола и потолка, которые подсвечены желтым цветом. Все вроде бы ок, но вы спросите: "Ну а как же сделать карту текстур для стен?" На самом деле все просто. Выделите полигоны стен, шифт+S и выберите тип маппинга Cylindrical (тоесть вы как бы будете наматывать текстуру (представьте, что это лента) на карандаш например ( ну а карандаш - наша модель, тоесть полигоны стен) ). Сразу понятно, что на карандаш вы бы наматывали ленту, смотря на него сверху так, что его стены были бы вам не видны. Ну как то так:
Тоесть лента (текстура) покроет все стороны карандаша (полигоны стен модели) равномерно. Настройте опции мапинга, как на картинке ниже
Теперь мы можем смело накладывать текстуру!
В шейдере, который мы развернули перед началом создания карты текстур, в поле Base texture (основная текстура) выберите какую нить текстурку. В поле base uvmap выберите нашу карту текстур Texture2. Вуаля! Заметьте, что, поскольку мы обьеденили пол и потолок в одну поверхность, то их, как я и говорил, обьединяет одна текстура. Параметры normal map, detail normalmap и их поля для указания карты текстур, служат для наложение карт высот, которые делают ваши полигоны обьемными. У текстур, которые указывают в полях для карт высот, есть префикс _NM. Например, есть текстура Rock01.tex, и есть карта высот для этой текстуры - Rock01_NM.tex. Все просто. Параметры со словами stretch U и stretch V (например base stretch U) служат для растягивания текстур по разным осям. Когда вы будите накладывать текстуры на полигоны стен, вам понадобится растянуть текстуру по ширине, поскольку текстуры будут растянуты по высоте.
Кстате процедура накладывания текстур для стен такая же как и для потолка.
Вот и все!! Вы успешно наложили текстуры на вашу модель!
Distant light - направленный свет. Используется в качестве солнца.
Fast light - свет, который накладывается поверх уже имеющегося освещения. Хорошо видно, как оно работает, если в комнату без освещения поставить этот тип лайта. Тогда дополнительное освещение редактора не будет перекрыто, вместо этого к нему добавится освещение от Fast light'а.
Omni light - самое простое рассеивающееся освещение. Освещает все, что попадает в его радиус действия (fall off). Аналог Point light'а из СЕДа 1.
Probe light - ну это даже не освещение, а эффект. Этой ентите указывается текстура окружения и этот Probe light в радиусе своего действия, накладывает эту текстуру на оружие например. Тоесть металические и отражающие поверхности якобы отражают окружающую среду. Аналог параметра Reflection в моделхолдере (ModelHolder2) 1го СЕДа.
Spot light - точечное освещение, тоесть светит в определенную точку. Что то типо фонарика.
С их параметрами, я думаю, вы сами как нибудь разберетесь. :)
Удачи в мапперстве!
Комментарии
Номер два
Объемная и познавательная статья.
Ведь можно-же было оставить принцип создания уровней как в первом SE, просто немного доработав код и увеличив количество редактируемых опций.
Я вот сам,по видео учился текстурировать комнату)Когда учишься сам - понятнее много становиться)А особенно с этими поверхностями)3 раза ролик перематывал,чтобы понять сочетание клавиш)
Заслужил +