Моделирование в Blender
Это руководство охватывает создание модели в Blender и ее последующий экспорт в Source. Моделью, которую мы делаем, является банка газировки. Чтобы сделать ее, мы будем использовать имеющиеся в Blender инструменты редактирования объектов и наложения текстур.
Это руководство основано на Blender версии 2.48 для Windows, но оно вполне должно соответствовать версии 2.49. Скрипты и инструкции перечисленные в этом руководстве не были проверены на ранних версиях Blender.

Установка
Если вы этого еще не сделали, пожалуйста выполните инструкции изложенные в статье Installing Blender , чтобы убедиться в том, что все сделано должным для завершения этого руководства образом.
В этом руководстве был использован следующий Плагин экспорта dvondrake's Exporter.
Значения клавиш
Клавиши | |
---|---|
![]() |
Левая кнопка мыши |
![]() |
Средняя кнопка мыши |
![]() |
Правая кнопка мыши |
MW | Колесико мыши |
MWUp | Колесико мыши вверх |
MWDown | Колесико мыши вниз |
9 | 9 на основной клавиатуре |
Num9 | 9 на цифровой клавиатуре |
Начало работы
Теперь, если вы еще этого не сделали, загрузите Blender. У вас должен быть экран по умолчанию, показанный слева.
Для краткого обзора рабочая область Blender разделена на различные области, называемые окнами просмотра. Каждая область просмотра содержит свой «Тип окна», который можно изменить, щелкнув значок «Тип окна». Кроме того, каждый «Тип окна» имеет заголовок, который можно переместить в верхнюю или нижнюю часть окна или полностью удалить, щелкнув по нему с помощью . Blender запускается с тремя открытыми по умолчанию окнами просмотра:
- 1. Окно настроек пользователя
- 2. Окно 3D вида
- 3. Окно кнопок
Мы поговорим об этом позже, но пока это все.
Регулировка настроек
Окно пользовательских настроек по умолчанию скрыто, виден только заголовок. Чтобы упростить отслеживание, давайте включим опцию имени вида в окне настроек. Поместите курсор прямо под заголовком «File Add Timeline ...», он должен измениться с указателя на стрелку вверх / вниз. Поместив курсор в виде стрелки вверх / вниз, нажмите и перетащите курсор вниз примерно до середины трехмерного изображения и отпустите его. Если вкладка «Просмотр и элементы управления» неактивна, щелкните по ней, затем нажмите кнопку «Просмотр имени» (слева от области просмотра) с помощью
. Имя позиции теперь должно быть видно в верхней левой части 3D-вида. Когда вы закончите настройку параметров, снова поместите курсор под заголовком «Временная шкала добавления файла ...», а затем перетащите его обратно в верхнюю часть экрана с помощью
.
Создание модели
Для начала сохраните файл изображения ниже где-нибудь на вашем компьютере и запишите его местоположение. Мы будем использовать его позже в этом уроке, чтобы создать скин модели. Для этого урока я сохранил изображение в "c:\Modeling\Blender\SourceSDK\Guide\".
Затем давайте избавимся от света и камеры, а затем удалим куб. Чтобы выбрать и источник света, и камеру, сначала выберите один из двух с помощью , затем выберите другой, удерживая ⇧ Shift и щелкнув по нему с помощью
. Теперь нажмите H, чтобы скрыть их обоих из поля зрения. Вы можете отобразить их позже, нажав ALT H. Теперь выберите куб с помощью
и удалите его, нажав X и подтвердив удаление, нажав "Стереть выбранное" с
.
Добавьте цилиндр, нажав SPACEBAR, затем выбрав "Добавить"> "Сетка"> "Цилиндр" (если вы выбрали неправильный элемент, просто нажмите ESC, чтобы отменить операцию). Когда появится окно подтверждения «Добавить цилиндр», измените количество вершин на 12, затем нажмите «ОК», чтобы создать его. Цилиндр создается на месте "3D курсора" Blender.


Теперь переименуем цилиндр. Выбрав цилиндр, переключитесь на панель кнопок редактирования, нажав F9 (или щелкнув квадрат из четырех точек), а затем замените «Цилиндр» на «BlenderSoda» в полях ME: и OB.
Перемещение объекта и «исходной точки» (центра объекта)
Хотя «центр» цилиндра (маленькая точка выбора) уже должен быть в координатах «0 0 0», он также находится в центре самой геометрии, что нам не нужно. Вместо этого нам нужно, чтобы он находился внизу объекта, для этого нам нужно будет изменить положение меша. Переключитесь на "вид спереди", нажав Num1 (или нажав "View" и выбрав "Front"), и, если цилиндр еще не выбран, сделайте это, щелкнув по нему с помощью . Чтобы переместить геометрию и оставить центр на месте, перейдите в режим редактирования, нажав Tab ⇆. Убедитесь, что выбран весь цилиндр, нажав A (удалить все / выбрать все), пока все не будет выделено, затем нажмите G, чтобы перейти в режим захвата, Z чтобы ограничить перемещение по оси Z, и 1, чтобы переместить геометрию на 1 единицу вверх.
Редактирование меша
Теперь, все еще находясь в режиме редактирования сетки, спуститесь на панель инструментов 3D Views и включите окклюзию, нажав кнопку «Окклюзия геометрии фона» (значок куба), затем перейдите в «Режим редактирования лица», нажав кнопку «Грань». (треугольник рядом со значком куба).
Поверните 3D-вид так, чтобы вы могли видеть верхнюю часть цилиндра, нажав ⇧ Shift и перетащив вниз с помощью , вы также можете повернуть вид с помощью Num8. Затем активируйте выбор кистью, дважды нажав B, а затем выделите верхние грани, щелкнув по ним
(в режиме выбора кистью
выбирает,
снимает выделение). Если кисть слишком большая, вы можете уменьшить ее размер, вращая MWDown. Теперь выйдите из режима выбора кистью, нажав
или нажав Esc. Переместите выбранные грани вверх, нажав G для захвата, затем нажмите Z, затем 1, чтобы переместить выбранные грани на 1 единицу вверх по оси Z, а затем
для подтверждения.
Открытие редактора UV/Изображения
Теперь нам нужно развернуть модель, для этого нам нужно сначала открыть "UV/Image Editor" в новом окне просмотра. Для этого нам нужно "разделить" 3D-вид пополам; переместите курсор вниз, чтобы он оказался в нижней части панели инструментов 3D-видов, и он должен измениться на стрелки "Вверх/Вниз", когда это произойдет, нажмите и выберите "Split Area" с помощью
. При перемещении курсора вокруг вертикальной полосы теперь должна следовать за ним, поместите вертикальную полосу в центр 3D-вида с помощью курсора и подтвердите положение разделения, нажав
. Теперь 3D-окно просмотра должно быть разделено на две части.
Откройте редактор UV/Изображений в правом окне просмотра, щелкнув значок «Тип окна» с помощью , затем снова нажмите
, чтобы выбрать «Редактор UV/Изображений».
Разметка швов
Теперь мы могли бы выбрать все грани цилиндра и нажать U, чтобы развернуть модель прямо сейчас, но если мы это сделаем, то можем получить странно выглядящие UV. Это потому, что Blender не знает, где разделить текстуру. Чтобы исправить это, нам нужно «отметить вид» на модели. Переместите курсор обратно в 3D-вид и, если вы все еще не в режиме редактирования сетки для цилиндра, повторно активируйте его, выбрав цилиндр и нажав Tab ⇆. Измените на «Режим выбора кромок», удерживая Ctrl и нажав Tab ⇆, когда появится меню «Режим выбора», отпустите Ctrl и Tab ⇆, затем нажмите «Края» с помощью .
Чтобы выбрать первый шов, мы будем использовать то, что известно как "Edge Loop Section". Убедитесь, что ничего еще не выбрано, снова нажав A, затем поместите курсор так, чтобы он находился около центра одного из ребер, идущих вокруг верхней части модели. Теперь, удерживая Alt, нажмите , чтобы выбрать "кольцо" ребер, идущих вокруг верхней части модели. После выбора ребер, удерживайте Ctrl и нажмите E, чтобы вызвать меню "Edge Specials", и нажмите "Mark Seem" с помощью
. Верхнее кольцо ребер теперь должно иметь оранжевый цвет, указывающий на seem. Теперь выберите только одно из ребер, идущих вниз по стороне цилиндра, и снова используйте меню "Edge Specials", чтобы отметить другое seem. Поверните вид, удерживая Ctrl и
, пока курсор находится в 3D-виде, и перетаскивая курсор вверх, пока не увидите нижнюю часть цилиндра. Теперь повторите процесс, который вы использовали для выбора и отметки первой точки в верхней части цилиндра.
Развёртка нашей модели
Теперь мы должны иметь возможность развернуть цилиндр. Вернитесь в режим «Выбор граней» (Ctrl Tab ⇆) и нажимайте A, пока не будут выбраны все грани цилиндра. Затем нажмите U, чтобы открыть меню «Расчет UV», и выберите «Развернуть» с помощью . Теперь UV-развертки модели должны отображаться в окне просмотра редактора UV/Изображений.
Теперь давайте откроем текстуру, чтобы наложить на нее UV. В окне просмотра "UV/Image Editor" перейдите в меню "Image" и, удерживая Ctrl, нажмите "Open" с помощью , это откроет обозреватель файлов в "режиме предварительного просмотра", что позволит вам увидеть миниатюры изображений перед их открытием. Перейдите в папку, в которую вы сохранили файл "RedSoda.png", и используйте
, чтобы выбрать его. Имя файла теперь должно отображаться прямо под расположением каталога в верхней части окна просмотра файлов, нажмите "Open Image", чтобы загрузить изображение в окно просмотра "UV/Image Editor".
Mapping the UVs
Теперь пришло время сопоставить UV цилиндра с изображением. Выберите правую круглую грань, переместив курсор над частью ее геометрии, и нажмите L, чтобы выбрать «связанную геометрию». Теперь вся круглая текстура должна быть выделена, активируйте режим захвата, нажав G, и перетащите объект на правый круг на изображении. Повторите этот процесс для левой круговой текстуры, перетащив ее на левое круговое изображение. Попробуйте расположить круговые текстуры в центре изображения, под которым они находятся, затем масштабируйте их, пока они не будут в основном покрывать круглые части изображения под ними, не выходя за пределы круговых частей. Масштабируйте их, сначала выбрав координаты с помощью L, затем нажмите S, чтобы войти в «Режим масштабирования». Перетаскивая курсор от объекта, размер должен увеличиваться, перетаскивая курсор к объекту, размер должен уменьшаться, удерживайте ⇧ Shift, чтобы уменьшить изменение масштаба при перемещении курсора. (примечание: совет: чем ближе курсор находится к центру объекта при активации преобразования, такого как «Масштаб» или «Захват», тем большее влияние перемещение курсора окажет на преобразование).
После того, как вы закончите с перемещением двух круглых UV-карт на место, нажмите A, пока ничего не будет выбрано, затем нажмите B один раз, чтобы войти в "Режим выбора рамки". Перетащите рамку выбора только на верхний набор координат в форме рамки UV с помощью , чтобы выбрать их. Затем нажмите G и Y, чтобы ограничить их перемещение осью Y. Так же, как вы делали с круглыми координатами, попытайтесь расположить этот верхний ряд координат как можно ближе к верхней части красной рамки на изображении, не выходя за ее пределы.
Когда вы будете довольны тем, как расположены координаты, выберите «Изображения», затем «Сохранить как» на панели инструментов редактора UV/Image. Измените имя файла на «BlenderSoda.png» (то же имя, что мы используем для модели), нажмите ↵ Enter для подтверждения и нажмите «Сохранить изображение» с помощью .
Теперь вы можете предварительно просмотреть, как изображение накладывается на вашу модель в 3D-виде, щелкнув значок «Тип рисования» в заголовке и выбрав «Текстурированный».
Добавление материала
Перейдите в меню «Shading» в окне кнопок и щелкните значок «Materials». Используйте , чтобы щелкнуть значок стрелок вверх/вниз рядом с «Add new» и выберите «0 Material» (если «0 Material» отсутствует в списке, просто щелкните саму кнопку «Добавить новый», чтобы создать его). Измените имя с «Material» на «BlenderSoda».
Справа от панели должна быть вкладка с надписью "Texture", щелкните на вкладку рядом с ней с надписью "Map Input" и щелкните на кнопку UV. Это сообщит Blender использовать UV-координаты модели для выравнивания материала, а не настройки материала.
Добавление текстуры
Теперь нажмите на значок "Texture Buttons" с помощью , чтобы открыть панель кнопок текстуры. Как вы делали с материалом, измените имя "TE:" с "Tex" на "BlenderSoda". Нажмите на панель под "Texture Type" и выберите "Image", должны появиться две новые панели кнопок.
Под панелью справа с надписью "Image" нажмите на значок вверх/вниз рядом с "Load" и выберите изображение, которое мы сохранили из UV/Image Editor ранее, "BlenderSoda.png". Обратите внимание, откуда загружается текстура (вы можете увидеть местоположение, щелкнув значок папки), нам понадобится перейти сюда позже. Если все прошло хорошо, мы должны быть готовы экспортировать модель.
Экспорт модели
- Чтобы экспортировать анимированную модель, смотрите Animation in Blender .
Чтобы модель работала внутри Source Engine, нам необходимо преобразовать ее и используемую ею текстуру в форматы, используемые движком Source. Для продолжения вам потребуется установить скрипт экспорта.

Верните курсор в 3D-окно просмотра и перейдите в режим объекта, нажав Tab ⇆. Убедитесь, что выбран только цилиндр, затем перейдите в файл, выберите «Экспорт», затем выберите Half-Life 2 (.smd).
Должно появиться окно экспорта, выберите "Static Mesh" и измените имя файла экспорта на "BlenderSoda.smd". Перед тем, как нажать "Export", обратите внимание, куда Blender выводит файл (в этом примере папка "c:\Modeling\Blender\SourceSDK\Guide\").
После экспорта файла перейдите в каталог, который Blender использовал для экспорта, и скопируйте файл "BlenderSoda.smd" в каталог "modelsrc" игры. Для этого примера я копирую в папку Half-Life 2 Death Match SDK:
- C:\Program Files\Steam\steamapps\USERNAME\sourcesdk_content\hl2mp\modelsrc
Компиляция QC файла
- Главная тема: Compiling a model .
В том же направлении выше, куда был скопирован файл SMD ("BlenderSoda.smd"), создайте новый текстовый документ и сохраните его с помощью блокнота. Скопируйте и вставьте все внутри:
$modelname BlenderSoda.mdl $cdmaterials "models" $scale 2 $surfaceprop metal $staticprop $body mybody "BlenderSoda.smd" $sequence idle "BlenderSoda" fps 1

$scale 2
это преобразование между единицами Blender и единицами Source unit . Например, если ваша модель была высотой 3 единицы Blender, масштаб 4 приведет к модели высотой 12 единиц Hammer.
$surfaceprop metal
придает модели металлический звук столкновения при попадании снаряда или прыжке. Это не сработает, если модели не назначена сетка столкновения. Подробнее о свойствах поверхности смотритев этой теме .После проверки значений, используемых в QC файле, сохраните его в той же папке, где находится SMD, под именем «BlenderSoda.qc».

Чтобы скомпилировать модель, откройте командную строку (в Windows XP «Пуск > Выполнить... > cmd»). Скопируйте и вставьте приведенные ниже команды в строку, обязательно замените USERNAME на ваше фактическое имя входа в Steam перед запуском команды:
"%sourcesdk%\bin\ep1\bin\studiomdl.exe" -game "c:\program files\steam\steamapps\USERNAME\half-life 2 deathmatch\hl2mp" -notxbox "C:\Program Files\Steam\steamapps\USERNAME\sourcesdk_content\hl2mp\modelsrc\BlenderSoda.qc"
Скомпилированные выходные данные QC файлов должны быть отправлены в папку:
"C:\Program Files\Steam\steamapps\USERNAME\half-life 2 deathmatch\hl2mp\models"
Конвертация UV/Изображений в VTF
- Главная тема: Creating a Material .
Теперь нам нужно преобразовать файл "BlenderSoda.png", который мы использовали для текстурирования нашей модели, в формат текстуры Valve. Чтобы сделать это, обратитесь к руководству Creating a Material .
Здесь следует отметить четыре важных момента:
- Файл текстуры имеет то же имя, что и модель.
- Конвертированный файл текстуры находится в соответствующей папке:
"C:\Program Files\Steam\steamapps\USERNAME\half-life 2 deathmatch\hl2mp\materials\models"
- Файл текстуры имеет файл VMT («texturename.vmt») с тем же именем, что и у модели материала в Blender («BlenderSoda.vmt»), и с тем же расположением папки («hl2mp\materials\models»), что и файл текстуры.
- Файлу VMT присвоены соответствующие значения:
VertexLitGeneric { $basetexture models/BlenderSoda }
Проверка скомпилированной модели
Наконец, после того как вы преобразовали модель и текстуру в нужный формат, пришло время проверить, все ли прошло по плану.
- Откройте Steam, перейдите на вкладку «Инструменты» и откройте Source SDK.
- Убедитесь, что в окне Source SDK выбраны правильный игровой движок и игра.
- Откройте средство просмотра моделей и с помощью
нажмите «Файл», а затем «Загрузить модель».
- Используя браузер моделей, найдите файл «BlenderSoda» и откройте его.
Надеюсь, теперь вы увидите полностью скомпилированную и текстурированную модель.
Additional Notes
Файлы изображений:
- Source Engine требует, чтобы все файлы изображений имели ширину и высоту, являющиеся степенью числа 2 (16, 32, 64, 128, 256, 512 и т. д.). Изображение, использованное в этом уроке "BlenderSoda.png", имело размеры 256 x 256. Если вы хотите создать собственную текстуру модели, убедитесь, что ее размеры соответствуют этому соглашению.
Другие Source игры
В этом уроке модель была создана для Half-Life 2: Deathmatch, но ее можно легко заменить другой игрой Source. Для последних шагов просто используйте исходные каталоги модели и текстуры этой игры вместо HL2DM.
Например: для Team Fortress 2 вы бы использовали: |
"C:\Program Files\Steam\steamapps\USERNAME\sourcesdk_content\tf\modelsrc
"%sourcesdk%\bin\orangebox\bin\studiomdl.exe" -game "c:\program files\steam\steamapps\USERNAME\team fortress 2\tf" -notxbox "C:\Program Files\Steam\steamapps\USERNAME\sourcesdk_content\tf\modelsrc\BlenderSoda.qc"
"C:\Program Files\Steam\steamapps\USERNAME\team fortress 2\tf\models
"C:\Program Files\Steam\steamapps\USERNAME\team fortress 2\tf\materials\models
Например: для Left 4 Dead вы бы использовали: |
C:\Program Files\Steam\steamapps\common\left 4 dead\sdk_content\modelsrc
"C:\Program Files\Steam\steamapps\common\left 4 dead\bin\studiomdl.exe" -game "C:\Program Files\Steam\steamapps\common\left 4 dead\left4dead" -notxbox "C:\Program Files\Steam\steamapps\common\left 4 dead\sdk_content\modelsrc\BlenderSoda.qc"
C:\Program Files\Steam\steamapps\common\left 4 dead\left4dead\models
C:\Program Files\Steam\steamapps\common\left 4 dead\left4dead\materials\models
Смотрите также
- Blender
- Modeling props with Blender
- Is Blender 3D Good for Source? - How to Start
- Model Creation Overview