КДПВ 2.
Продолжение рассказа о том, что Blender — это несложно, написанный непрофессионалом. Вот начало рассказа.
Техники моделирования
Вообще, лично я (человек, для которого моделлинг — эпизодическое хобби) знаю 4 техники моделлинга, которые используются в различных ситуациях:
- Обработка примитива модификаторами.
Делаем плоскость с большим количеством полигонов, накладываем на нее Noise/Displase (шум) и Smooth (сглаживание) — получаем ландшафт. - Работа на уровне геометрии.
Мое любимое. При желании можно сделать что угодно. В пределе выглядит так: ставим точку. Потом еще одну, и еще одну, и еще, и еще, и еще. Проводим ребра и получаем каркас. Выбираем набор ребер и натягиваем на него грань. По итогу — готовый объект. Техника хардкорная и не всегда уместная (проще и быстрее сделать другим способом). - Построение поверхностей по кривым сечений.
Если нужно тело вращения — делаем кривую и просто накладываем на нее модификатор вращения — Lathe (макс) или Spin (Blender). Так делают рюмки, пули и пр. Если это, например, лодка или фюзеляж вертолета, то рисуются кривые сечений и для каждой рядом стоящей пары делается “скиннинг” — указание программе сделать поверхность, облегающую эти кривые. - Скульптинг.
Берем и вытягиваем/вдавливаем участки поверхности высокополигональной сферы, например. Как видно из названия, это уже скорее творчество, чем четкий процесс.
Естественно, что в чистом виде какая-то одна техника используется редко, обычно используется смесь. В этом посте я расскажу как в Blender использовать первую технику. В следующем — вторую.
Итак, примитивы и модификаторы. Но сначала — еще немного про UI.
Работа с программой
Upd. По рекомендации Leopotam: нажатия горячих клавиш идут в активную область Blender. В непонятных ситуациях — попробуйте переместить мышку в интересующую вас область и повторить.
Область 3D
Вся работа с геометрией ведется в этой области. Еще раз скрин:
Рисунок 1. Область 3D.
Про панели
Если вам нужно создать объект, повернуть его, сгруппировать с другим, физику назначить (есть и такое, да), не используя меню/горячие клавиши — это налево, в панель работы с объектами. Частью этой панели является панель детальной настройки операции. Там же назначаются точные стартовые параметры примитивов, например. Если хочется что-нибудь потюнить и непонятно где смотреть — загляните сюда.
Если нужно картинку на фон подложить (разную в зависимости от проекции — очень удобно), нормали отобразить, настроить длину отрезка обрезки вьюпорта (вряд ли вам понадобится это сходу) — это направо, и на горячие клавиши это вроде не завязано.
3D курсор
Как я уже упоминал ранее, у Blender есть такая вещь, как 3D курсор. Им можно указать на любую точку в пространстве сцены. Эта точка будет использоваться как origin point для вновь созданных примитивов. Можно передвигать кликами, можно — заданием значения (панель, вызываемая по N):
Рисунок 2. Поля для ввода численных значений требуемых координат 3D курсора.
Аналог в маске отсутствует — там ориджин указывается в момент OnMouseDown и исчезает при OnMouseUp.
Фича не плохая и не хорошая — просто не так, как в максе.
Shift-S. Выдает следующее меню:
Здесь selection — выделенный объект, center — центр координат.
Ctrl-Alt-Shift-C. Самое пальцеломное комбо из активно мной используемых:
Origin — это аналог pivot-point в максе, точка объекта, вокруг которой он вращается.
Сочетания этих команд позволяют хоть как-то костылить поведение “align to”. BF, проснись, пальцы бастуют.
Я активно пользуюсь этой возможностью — кликать курсором в интересующую меня точку с мгновенным переносом камеры области. К сожалению для меня, начиная с версии 2.74 мгновенного переноса уже нет — нужно каждый раз подтверждать переход клавишей Home. Поэтому я сижу на 2.73. Но это дело привычки. И могли бы и в настройки засунуть.
Создание примитивов
Вот мы и добрались до собственно моделлинга.
Создать примитив можно 2 способами:
- Для новичков — через панель по T (я упоминал этот способ в предыдущей части). Перейдите там на вкладку “Create” и нажмите что вам нужно:
Рисунок 3. Вкладка создания примитивов. Здесь перечислены все доступные в программе примитивы.
- Для познавших хоткеи — по Shift-A:
Рисунок 4. Тот же список, что и на предыдущем рисунке, только переведенный в выпадающие меню.
В меню работают курсорные клавиши и автопереход на подчеркнутую букву (т.е. нажатие M, P приведет к переходу Mesh->Plane и созданию плоскости).
В любом случае, сразу после создания примитив будет автоматически выделен и в панели детальной настройки операции появится интерфейс для ввода стартовых параметров:
Рисунок 5. Панель детальной настройки операции сразу после создания сферы.
Как только вы снимете выделение данного примитива, либо проделаете с ним любую трансформацию, либо просто переключите режим работы (об этом позже), в общем, если вы его хоть как-то потревожите (введение начальных параметров не тревожно) — интерфейс исчезнет, примитив будет полностью создан, переуказать стартовые параметры заново уже не получится. В следующей серии — объясню почему.
Сюзанна
В максе примитивом со сложной геометрией является чайник. В Blender — голова обезьяны по имени Сюзанна. Находится в Mesh->Monkey:
Рисунок 6. Вообще Сюзанна гораздо более квадрированная, но для первого знакомства я сгладил ее субдивиженом (см. ниже).
Базовые операции над объектами
Концептуально — ничего нового/необычного (применяется к выделенному элементу):
- Поворот — R
- Растяжение/сжатие — S
- Перемещение — G (мнемоника — слово Grab, насколько я понял. Вроде как негуманоидная логика, зато G ближе к R и S, чем M, которую пришлось бы жать правой рукой)
Эти же операции доступны и с UI 3D области, через данный контрол:
Рисунок 7. Кнопки базовых операций (в максе они вверху, а Blender — внизу)
Кнопка 1 включает/выключает отображение визуальных контроллеров.
Кнопки 2 переключают операцию и контроллер для нее:
Рисунок 8. Контроллеры для перемещения, поворота, и растяжения/сжатия.
Тянем за цветную ось на контроллере — совершаем операцию строго относительно оси данного цвета (цвета осей — внизу слева в области 3D). Тянем за белое кольцо — делаем операцию, не оглядываясь на оси.
Выпадающий список 3 позволяет указать систему координат, в которой делается операция — порой помогает.
Замечу, что вызов операции по горячей клавише срабатывает, даже если объект находится вне вьюпорта. Через UI, понятное дело, так сделать нельзя — не видно контроллеров.
Контрол дропа против корейцев в явном виде.
Параметры и модификаторы
Небольшое отступление.
Как вы уже знаете, в Blender нет «главного» окна/вида/etc. Соответственно, для настроек параметров объекта (положение, название, текстуры, примененные модификаторы и так далее) используется область настроек. Она табированная, и первые 4 таба всегда доступны (даже если объектов на сцене нет). Это потому, что они позволяют настроить те вещи, которые есть всегда, пока есть сцена. Это вкладки рендера, мира и собственно текущей сцены (также всегда доступна вкладка текстур, но я сейчас немного о другом).
Как только вы выделяете какой-то объект, в этой области добавляются вкладки, относящиеся к объекту. Они сохраняются даже если снять выделение с объекта. А вот если выделить объект и удалить его — вкладки объекта опять исчезнут:
Рисунок 9. UI области настроек. Слева — постоянные вкладки, справа — объектные
Область настроек
Подробная работа с параметрами объекта ведется с помеченными вкладками:
Рисунок 10. UI области настроек. Самый востребованные вкладки
Основные на данный момент вкладки я пометил числами 1-4:
- Объект
- Модификаторы
- Материалы
- Текстуры
Каждая вкладка — это, фактически, аналог “свитка” макса. Только он не перетягивается, а просто скроллится — достаточно поставить указатель мыши над ним.
На скрине я свернул все подгруппы вкладки “Объект” (чтобы не вставлять в текст простыню) — по дефолту некоторые из них развернуты. Числом 5 обозначено поле для ввода имени объекта.
Вкладка модификаторов
Тут находится, фактически, аналог стека модификаторов макса. Но с гораздо более приятным UI, по-моему. Вот Сюзанна, которой довели количество полигонов до 126 000 (модификатор Subdivision surface), затем натянули на шар (модификатор Cast), а потом у результата срезали количество полигонов до неприличных 600 (модификатор Decimate):
Рисунок 11. Участь Сюзанны нелегка. Но с ней и не такое проделывают — погуглите.
Выпадающий список позволяет добавить модификатор, панели под ним — это собственно UI добавленных модификаторов по очереди (самый верхний применяется самым первым). Вот сравнение стеков Blender и макса:
Рисунок 12. Стек Blendera vs. стек макса
Как видно, UI стека модификаторов макса — это “списковая форма” + “детальная инфа для выделенного элемента”, а Blender — “список детальных окошек”. У каждого решения свои плюсы и минусы.
Ну и напоследок
Для понимания, что такое контрол дропа против корейцев в Blender, попробуйте следующее. Запустите Blender, ткните мышкой в 3D область, а затем… Затем уберите руку с мыши и просто нажимайте написанные ниже клавиши. Если собьетесь — рекомендую начать сначала.
Буквы вбиваются без шифта (если явно не указано другое). Числа так и вбиваются, если -1.2, то это “минус”, “1”, “точка”, “2”. Enter — это, собственно, клавиша Enter.
Ctrl-N, Enter,
Shift-A, M, U, Enter,
Shift-A, M, U, S, 1.35, Enter, G, Z, -1.6, Enter,
Shift-A, M, U, S, 0.65, Enter, G, Z, 1.2, Enter,
Shift-A, M, O, S, Shift-Z, 0.2, Enter, G, Z, 1.2, Enter, R, X, 90, Enter, G, Y, -1, Enter, A
Объяснение почти всего произошедшего я уже описал в этой серии.
В следующей серии — про геометрию.
Комментарии (21)
xGromMx
09.12.2015 19:00прикольная инфографика thilakanathanstudios.com/2015/09/blender-keyboard-shortcuts
Leopotam
09.12.2015 19:04+3Лично я не нашел их аналога на UI — мне кажется, это наследие темного прошлого.
BF, проснись, пальцы бастуют.
Для каждой команды есть гораздо более простой способ активации — нажать пробел и набрать начало команды (нужно только примерно знать название), в данном случае это «set or»:
Тот же список, что и на предыдущем рисунке, только переведенный в выпадающие меню.
Вообще, нужно было сразу же сказать и выделить жирным, что все хоткеи идут в активную зону-подокно блендера, активность определяется курсором мыши. Поэтому чтобы хоткеи срабатывали как нужно — очень важно следить за тем куда указывает курсор. Со временем это подразумевается как само собой разумеющееся, но для новичков часто багодром.
ввод оси ограничения и числового значения операции.
Причем это не единственная фишка: если нажать ось дважды, то произойдет смена режима с глобальных осей на локальные и наоборот; если нажать ось с shift, то произойдет исключение этой оси из трансформации, те трансформация вдоль этой оси будет запрещена, а вдоль двух оставшихся разрешена.unbalanced
10.12.2015 10:18Спасибо за замечания.
1. Убрал «темное прошлое». Про меню буду писать позднее — поэтому пока no spoilers.
2. Про пробел писал ранее (кстати, сейчас специально замерил время — даже такое комбо все равно быстрее, чем 8 нажатий (пробел + set or + Enter). Но вообще этот крик души был именно по поводу отсутствия «align to».
3. Добавил в пост.
4. Да, спасибо за информацию, я знаю об этом, но мной внутренний цензор сказал свое решительное «no way». Причина: перегруз информацией.Leopotam
10.12.2015 10:35Про меню буду писать позднее
На самом деле не совсем уверен что меню вообще нужно — ни разу им не пользовался со времен 2.4, еще до обновления ghost-рендеринга подокон в 2.5. Просто важно понять, что хоткеев на самом деле очень мало и они унифицированы для всех режимов — запомнишь с десяток базовых — дальше пойдет легче.
даже такое комбо все равно быстрее, чем 8 нажатий
Ну на самом деле нет — не нужно напрягаться и запоминать специфические комбинации вообще для любых команд. Например, «выбрать незамкнутые» (контуры дыр, удобно искать таким образом косяки): space, «manif», enter. Запомнить нужно только основные хоткеи — A,G,R,S,W,ctrl+E,ctrl+F,ctrl+V,K,P,ctrl+P,shift+A,T,N,ctrl+A. Этого достаточно для 90% всего функционала моделирования / анврапа и тд.
«align to».
Вроде есть пара плагинов, выполняющих ориентацию по 3 выделенным вертексам другого меша. Если нужно просто поставить по вертексу / ребру, то включается привязка (shift+tab, режим выбирается один раз обычно — через выбиралку в гуе или через хоткей ctrl+shift+tab — ни разу не пользовался хоткеем) и при движении оно снапится. В данном случае очень помогает как раз привязка к осям.
Причина: перегруз информацией.
Есть еще один способ привязки к оси — нужно начать смещать объект вдоль одной из осей (сместить больше чем вдоль других двух) и нажать MMB — произойдет привязка к оси. Повторное нажатие отвязывает. Аналогично отвязка работает при выдавливании вдоль нормали. Надеюсь, что про привязки будет набор сгруппированных триков, потому что это весьма полезно.
Leopotam
10.12.2015 10:52попробуйте ткнуть мышкой в интересующую вас область и повторить.
Только не ткнуть (может сняться выделение и тп нехорошие вещи произойти), а просто «ввести» мышь в нужную зону.
engine9
10.12.2015 11:52+2Товарищи новички, это очень толковый гайд. От себя порекомендую с самого начала привыкать пользоваться 3Д курсором, привязками, и особенно шорткатами + ввод с клавиатуры, это очень экономит время. В разы.
Автор молодец, старается.
engine9
10.12.2015 12:01Еще в копилку волшебное сочетание Shift + R, повтор предыдущей операции. К примеру, вам надо сделать десять клонов домика. Дуплицируете один на нужное расстояние. Потом шорткат «повтор» девять раз и вуаля, за две секунды готова улица.
Вот интересная тема с гифками, раскрываюющими суть трюков и хитростей блендерной магии.Leopotam
10.12.2015 12:11Так делать плохо, для этого есть модификатор Array :) Ну и «клонирование» бывает 2 видов — полноценная независимая копия (shift+D) и «инстанс» (alt+D), сохраняющий ссылку на базовый объект. Можно поменять любой экземпляр таких инстансов — остальные проапдейтятся автоматически (по сути существует только один объект с мешем, остальные — просто описания трансформов новых клонов).
engine9
10.12.2015 16:32>Так делать плохо
Так можно и дубликаты делать и клоны и что угодно. Суть не в тонкостях клонирования, а шорткате.Leopotam
10.12.2015 16:34Я про конкретную ситуацию с повторением трансформа для домиков в ряд — такое обычна делается через аррей с настройкой пивота и прочих штук. А так — да, полезно.
aslanalexander
11.12.2015 06:36Первые пробы делал на офисном компе. Рендер без текстур повесил комп намертво минут на пять.
Очень классные статьи, автор!
P.S.
Пока не понял как вращать камеру. Буду благодарен, если поясните )beaverBox
11.12.2015 07:46Пока не понял как вращать камеру. Буду благодарен, если поясните )
Также как и другие объекты . Либо, находясь в «виде из камеры» (Num0), вращать той же R находясь «внутри» нее. Также, можно переместить камеру в текущий вид (Ctrl-Alt-Num0). Вообще, для камеры есть много финтов, например установить объект слежения, наложить ограничения… Ctrl-Shift-C. Да, и камер в сцене может быть больше чем одна.
bromzh
11.12.2015 14:07Ещё камеру можно вращать, зажав колесо мыши/среднюю кнопку или нажимая кнопки на нумпаде (2, 4, 6, 8).
beaverBox
В конце серии статей мы получим такую «программу», дающую на выходе КДПВ? :D
unbalanced
Боюсь, допустимый размер поста хабра может оказаться недостаточным)
beaverBox
Уф, в конце рабочего дня в голове разыгралась трешевая сцена, где какой-нибудь AutoIt или Clickermann запускает Blender и начинает там творить… Оо.