Создание и экспорт простого статик меша в UDK

Добавлен , опубликован
Раздел:
Unreal Development Kit

Что нам понадобится:

1.3d max 2012
2.UDK (естественно)
3.Photoshop
4.Текстуры дерева и рубероида.

Предисловие:

Так как мне в игру необходим обычный деревенский туалет, то покажу на примере этого сооружения.

Приступаем к моделированию:

Заходим в 3d max , выделяем окно 3д вида и разворачиваем на весь экран, нажатием на кнопку «Maximize viewport toggle»
На правой панели нажимаем кнопку «Box» для того что бы создать нашу первую доску.
И в окне 3D просмотра удерживая левую кнопку мыши рисуем основание нашей доски, потом отпускаем кнопку мыши и создаём высоту доски, когда нужные размеры подогнаны, то ещё раз жмём кнопку мыши и модель будет готова.
Теперь необходимо натянуть на доску текстуру, заранее скачанную из интернета, или отсюда.
Но перед текстурированием, необходимо задать ей разрешение например для дерева 512х512, а для рубероида 256х256; не знаю с чем это связано, но при экспорте нестандартного разрешения (529х346, и т.д) в УДК возникают проблемы. Теперь заходим в фотошоп, открываем там наши текстуры, нажимаем ALT+ctrl+I выставляем разрешение дерева 512х512, для рубероида 256х256, жмём ОК, и сохраняем наши текстуры в формате jpeg.
Снова переходим в 3d max, выделяем нашу доску, путём нажатия на неё левой кнопкой мыши, и жмём кнопку «Material Editor» (расположена справа вверху)
Откроется окно Material Editor
Если оно у вас выглядит по другому, то вверху окна нажмите Modes, там выберите Compact Material Editor.
И так приступим: 1. Выделяем любую сферу.
  1. Нажимаем на маленький квадратик возле надписи Diffuse
  2. В новом открывшемся окне нажимаем Bitmap и указываем путь к нашей текстуре Деревянной доски.
  3. Теперь мы видим что наша сфера стала обтянута текстурой дерева, эту сферу перетаскиваем на нашу доску, если у вас в окне 3D вида не видно текстуры на доске, то надо нажать кнопку в окне Material Editor указанную на рисунке под пунктом 4.
Так как наложение текстуры у нас кривое, то теперь пора её повернуть. Выделяем нашу доску и идём в меню Modifiers - UV Coordinates – и выбираем Unwrap UVW
Таким образом мы добавили модификатор к нашей доске, теперь справа нажимаем Polygon (что бы выделять сразу целую плоскость) и выделяем 2 большие плоскости нашей модели (для того что бы выделить вторую плоскость зажимаем ctrl) и там же справа жмём кнопку Open UV Editor
Откроется окно Edit UVWs, в котором необходимо выбрать нашу текстуру в правом верхнем углу, в контекстном меню. Для того что бы она отобразилась на фоне.
Далее с помощью инструментов манипулирования надо расположить текстуру (Клавиша «W» передвижение по осям, клавиша «E» поворот, клавиша «R» масштаб) смотрим в окне 3д вида, и подгоняем текстуру, у меня получилось так:
Далее закрываем окно Edit UVWs и строим далее стены нашего Туалета =) путём копирования и поворота наших досок. После недолгих манипуляций, у меня получилось вот такое чудо =) для крыши мы просто создали плоский Box и дали ему текстуру рубероила, таким же способом как и для доски, только всё на новой сфере.
Далее нам необходимо вырезать в полу дыру, для важного занятия, создаём Box и располагаем его так что бы он торчал снизу и сверху нашего пола, далее выделяем наш пол, и идём в Create – Compound – Boolean
Справа выбираем Pick Operant B и жмём на наш Box посередине пола, вуаля, и он исчез, оставив после себя дыру в поле для справления нужды.
Далее идём в Fiels – Export to – выбираем формат FBX и выставляем такие настройки
И так наш а модель готова , можно закрыть 3d max , теперь займёмся текстурами (так как УДК не принимает формат jpeg), мы заходим в Фотошоп, открываем наши текстуры и пересохраняем их в формате PCX.
После чего можно закрыть Фотошоп и открывать УДК, открываем вашу карту, и в окне Content Browser (ctrl+Shift+F) внизу видим кнопку Import, нажимаем на неё и находим наши файлы FBX и 2 текстуры в формате PCX (название не должно содержать русских букв), кстати, они должны быть в одной папке, и в пути к файлам не должно быть русских букв!
Выбираем их и жмём ОК, далее выставляем такие настройки для FBX файла:
Для текстур по умолчанию.
Теперь мы видим что в нашем Контент браузере появились 2 новых текстуры и модель Туалета. В левой части жмём на названии пакаджа правой кнопкой мыши, и в самом верху жмём сохранить.
Теперь жмём правой кнопкой мыши и выбираем пункт New Material
Называем его доска, жмём ОК.
Тут жмём правой кнопкой мыши, выбираем Textures – New Texture Sample
Далее: 1. Соединяем как на рисунке
  1. В окне контент браузера выделяем нашу текстуру Доски
  2. В окне редактирования материала выделяем окно Textures Sample
  3. Внизу нажимаем зелёную стрелку
  4. Далее жмём зелёную галочку в левом верхнем углу и закрываем редактор материала.
Так же можно поэкспериментировать с соединениями, и сделать карту Нормалей, что бы дерево не было плоским, а имело рельефные ямки и впадины. Но об этом я напишу другой туториал.
Те же действия производим для рубероида.
Далее ищем в контент браузере наш статик меш туалета и жмём на него два раза, открывается окно Unreal Static Mesh Editor. Мы видим что наша модель без текстуры, выделяем в контент браузере МАТЕРИАЛ доски (который мы создали) и в окне редактирования меша жмём во вкладке LOD info как показано на рисунке, зелёную стрелочку. Те же действия производим для материала чуть ниже, но выделяем в контент браузере МАТЕРИАЛ рубероида.
Всё, если сохранить наш пакадж, то можно смело ставить наш статик меш Туалет на карту, но есть маленький нюанс, сквозь него можно будет проходить, ему необходима коллизия. Это можно сделать двумя способами:
1. В окне редактирования статик меша вверху есть вкладка Collision – там Auto Convex Collision
И производим расчёт, но у этого способа есть маленький минус, внутрь туалет нельзя будет зайти. Только если выставить настройки Коллизии на максимальные значения.
2. Всё можно сделать в 3d max при создании модели: просто необходимо создать вокруг стен Box'ы немного толще самих стенок и дать им названия с приставкой UCX_ вначале.
Всё, ставим нашу модель на карту и проверяем.
Добавил дверь, с фирменным сердечком в ней =)
Благодарю за внимание.