КДПВ 2.

Продолжение рассказа о том, что Blender — это несложно, написанный непрофессионалом. Вот начало рассказа.

Техники моделирования


Вообще, лично я (человек, для которого моделлинг — эпизодическое хобби) знаю 4 техники моделлинга, которые используются в различных ситуациях:
  1. Обработка примитива модификаторами.
    Делаем плоскость с большим количеством полигонов, накладываем на нее Noise/Displase (шум) и Smooth (сглаживание) — получаем ландшафт.
  2. Работа на уровне геометрии.
    Мое любимое. При желании можно сделать что угодно. В пределе выглядит так: ставим точку. Потом еще одну, и еще одну, и еще, и еще, и еще. Проводим ребра и получаем каркас. Выбираем набор ребер и натягиваем на него грань. По итогу — готовый объект. Техника хардкорная и не всегда уместная (проще и быстрее сделать другим способом).
  3. Построение поверхностей по кривым сечений.
    Если нужно тело вращения — делаем кривую и просто накладываем на нее модификатор вращения — Lathe (макс) или Spin (Blender). Так делают рюмки, пули и пр. Если это, например, лодка или фюзеляж вертолета, то рисуются кривые сечений и для каждой рядом стоящей пары делается “скиннинг” — указание программе сделать поверхность, облегающую эти кривые.
  4. Скульптинг.
    Берем и вытягиваем/вдавливаем участки поверхности высокополигональной сферы, например. Как видно из названия, это уже скорее творчество, чем четкий процесс.

Естественно, что в чистом виде какая-то одна техника используется редко, обычно используется смесь. В этом посте я расскажу как в Blender использовать первую технику. В следующем — вторую.

Итак, примитивы и модификаторы. Но сначала — еще немного про UI.

Работа с программой



Upd. По рекомендации Leopotam: нажатия горячих клавиш идут в активную область Blender. В непонятных ситуациях — попробуйте переместить мышку в интересующую вас область и повторить.

Область 3D


Вся работа с геометрией ведется в этой области. Еще раз скрин:


Рисунок 1. Область 3D.

Про панели


Если вам нужно создать объект, повернуть его, сгруппировать с другим, физику назначить (есть и такое, да), не используя меню/горячие клавиши — это налево, в панель работы с объектами. Частью этой панели является панель детальной настройки операции. Там же назначаются точные стартовые параметры примитивов, например. Если хочется что-нибудь потюнить и непонятно где смотреть — загляните сюда.

Если нужно картинку на фон подложить (разную в зависимости от проекции — очень удобно), нормали отобразить, настроить длину отрезка обрезки вьюпорта (вряд ли вам понадобится это сходу) — это направо, и на горячие клавиши это вроде не завязано.

3D курсор


Как я уже упоминал ранее, у Blender есть такая вещь, как 3D курсор. Им можно указать на любую точку в пространстве сцены. Эта точка будет использоваться как origin point для вновь созданных примитивов. Можно передвигать кликами, можно — заданием значения (панель, вызываемая по N):


Рисунок 2. Поля для ввода численных значений требуемых координат 3D курсора.

Аналог в маске отсутствует — там ориджин указывается в момент OnMouseDown и исчезает при OnMouseUp.
Фича не плохая и не хорошая — просто не так, как в максе.
Хинт 1. Горячие клавиши курсора
Эти клавиши связаны с курсором и помогают хоть как-то выровнять ситуацию с отсутствующим “align to” (передвинуть объект в центр сцены, например).

Shift-S. Выдает следующее меню:

Здесь selection — выделенный объект, center — центр координат.

Ctrl-Alt-Shift-C. Самое пальцеломное комбо из активно мной используемых:

Origin — это аналог pivot-point в максе, точка объекта, вокруг которой он вращается.

Сочетания этих команд позволяют хоть как-то костылить поведение “align to”. BF, проснись, пальцы бастуют.

Хинт 2. Камера и 3D курсор
Можно завязать точку зрения камеры текущей 3D области, если явно обозначить такое желание в настройках во все той же панели по N:



Я активно пользуюсь этой возможностью — кликать курсором в интересующую меня точку с мгновенным переносом камеры области. К сожалению для меня, начиная с версии 2.74 мгновенного переноса уже нет — нужно каждый раз подтверждать переход клавишей Home. Поэтому я сижу на 2.73. Но это дело привычки. И могли бы и в настройки засунуть.


Создание примитивов


Вот мы и добрались до собственно моделлинга.
Создать примитив можно 2 способами:
  1. Для новичков — через панель по T (я упоминал этот способ в предыдущей части). Перейдите там на вкладку “Create” и нажмите что вам нужно:

    Рисунок 3. Вкладка создания примитивов. Здесь перечислены все доступные в программе примитивы.
  2. Для познавших хоткеи — по 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 есть восхитительная фишечка, которая доступна только если вызывать базовую операцию через горячую клавишу: ввод оси ограничения и числового значения операции. Поясняю. Допустим, вы хотите повернуть объект по оси X на 90 градусов. Вы выделяете объект и затем жмете: “R” — поворот, “X” — вокруг оси X, “90” — на 90 градусов, “Enter” — подтвердить. Все. Вот как это индицируется на интерфейсе:

Контрол дропа против корейцев в явном виде.


Параметры и модификаторы


Небольшое отступление.


Как вы уже знаете, в Blender нет «главного» окна/вида/etc. Соответственно, для настроек параметров объекта (положение, название, текстуры, примененные модификаторы и так далее) используется область настроек. Она табированная, и первые 4 таба всегда доступны (даже если объектов на сцене нет). Это потому, что они позволяют настроить те вещи, которые есть всегда, пока есть сцена. Это вкладки рендера, мира и собственно текущей сцены (также всегда доступна вкладка текстур, но я сейчас немного о другом).

Как только вы выделяете какой-то объект, в этой области добавляются вкладки, относящиеся к объекту. Они сохраняются даже если снять выделение с объекта. А вот если выделить объект и удалить его — вкладки объекта опять исчезнут:

Рисунок 9. UI области настроек. Слева — постоянные вкладки, справа — объектные

Область настроек


Подробная работа с параметрами объекта ведется с помеченными вкладками:

Рисунок 10. UI области настроек. Самый востребованные вкладки

Основные на данный момент вкладки я пометил числами 1-4:
  1. Объект
  2. Модификаторы
  3. Материалы
  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)


  1. beaverBox
    09.12.2015 16:42
    +2

    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

    В конце серии статей мы получим такую «программу», дающую на выходе КДПВ? :D


    1. unbalanced
      09.12.2015 16:43
      +2

      Боюсь, допустимый размер поста хабра может оказаться недостаточным)


      1. beaverBox
        09.12.2015 16:59

        Уф, в конце рабочего дня в голове разыгралась трешевая сцена, где какой-нибудь AutoIt или Clickermann запускает Blender и начинает там творить… Оо.


  1. lllypyn
    09.12.2015 17:57
    +1

    шнигавик


  1. xGromMx
    09.12.2015 19:00

    прикольная инфографика thilakanathanstudios.com/2015/09/blender-keyboard-shortcuts


    1. unbalanced
      10.12.2015 10:20
      +1

      Ух.
      Интересно, но однозначно не для новичков.


  1. Leopotam
    09.12.2015 19:04
    +3

    Лично я не нашел их аналога на UI — мне кажется, это наследие темного прошлого.



    BF, проснись, пальцы бастуют.

    Для каждой команды есть гораздо более простой способ активации — нажать пробел и набрать начало команды (нужно только примерно знать название), в данном случае это «set or»:


    Тот же список, что и на предыдущем рисунке, только переведенный в выпадающие меню.

    Вообще, нужно было сразу же сказать и выделить жирным, что все хоткеи идут в активную зону-подокно блендера, активность определяется курсором мыши. Поэтому чтобы хоткеи срабатывали как нужно — очень важно следить за тем куда указывает курсор. Со временем это подразумевается как само собой разумеющееся, но для новичков часто багодром.

    ввод оси ограничения и числового значения операции.

    Причем это не единственная фишка: если нажать ось дважды, то произойдет смена режима с глобальных осей на локальные и наоборот; если нажать ось с shift, то произойдет исключение этой оси из трансформации, те трансформация вдоль этой оси будет запрещена, а вдоль двух оставшихся разрешена.


    1. unbalanced
      10.12.2015 10:18

      Спасибо за замечания.
      1. Убрал «темное прошлое». Про меню буду писать позднее — поэтому пока no spoilers.
      2. Про пробел писал ранее (кстати, сейчас специально замерил время — даже такое комбо все равно быстрее, чем 8 нажатий (пробел + set or + Enter). Но вообще этот крик души был именно по поводу отсутствия «align to».
      3. Добавил в пост.
      4. Да, спасибо за информацию, я знаю об этом, но мной внутренний цензор сказал свое решительное «no way». Причина: перегруз информацией.


      1. 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 — произойдет привязка к оси. Повторное нажатие отвязывает. Аналогично отвязка работает при выдавливании вдоль нормали. Надеюсь, что про привязки будет набор сгруппированных триков, потому что это весьма полезно.


      1. Leopotam
        10.12.2015 10:52

        попробуйте ткнуть мышкой в интересующую вас область и повторить.

        Только не ткнуть (может сняться выделение и тп нехорошие вещи произойти), а просто «ввести» мышь в нужную зону.


  1. engine9
    10.12.2015 11:52
    +2

    Товарищи новички, это очень толковый гайд. От себя порекомендую с самого начала привыкать пользоваться 3Д курсором, привязками, и особенно шорткатами + ввод с клавиатуры, это очень экономит время. В разы.
    Автор молодец, старается.


  1. engine9
    10.12.2015 12:01

    Еще в копилку волшебное сочетание Shift + R, повтор предыдущей операции. К примеру, вам надо сделать десять клонов домика. Дуплицируете один на нужное расстояние. Потом шорткат «повтор» девять раз и вуаля, за две секунды готова улица.

    Вот интересная тема с гифками, раскрываюющими суть трюков и хитростей блендерной магии.


    1. Leopotam
      10.12.2015 12:11

      Так делать плохо, для этого есть модификатор Array :) Ну и «клонирование» бывает 2 видов — полноценная независимая копия (shift+D) и «инстанс» (alt+D), сохраняющий ссылку на базовый объект. Можно поменять любой экземпляр таких инстансов — остальные проапдейтятся автоматически (по сути существует только один объект с мешем, остальные — просто описания трансформов новых клонов).


      1. engine9
        10.12.2015 16:32

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


        1. Leopotam
          10.12.2015 16:34

          Я про конкретную ситуацию с повторением трансформа для домиков в ряд — такое обычна делается через аррей с настройкой пивота и прочих штук. А так — да, полезно.


  1. PatientZero
    10.12.2015 16:11

    Хорошие статьи, рад, что косвенно поспособствовал их созданию.


  1. aslanalexander
    11.12.2015 06:36

    Первые пробы делал на офисном компе. Рендер без текстур повесил комп намертво минут на пять.
    Очень классные статьи, автор!
    P.S.
    Пока не понял как вращать камеру. Буду благодарен, если поясните )


    1. beaverBox
      11.12.2015 07:46

      Пока не понял как вращать камеру. Буду благодарен, если поясните )

      Также как и другие объекты . Либо, находясь в «виде из камеры» (Num0), вращать той же R находясь «внутри» нее. Также, можно переместить камеру в текущий вид (Ctrl-Alt-Num0). Вообще, для камеры есть много финтов, например установить объект слежения, наложить ограничения… Ctrl-Shift-C. Да, и камер в сцене может быть больше чем одна.


    1. bromzh
      11.12.2015 14:07

      Ещё камеру можно вращать, зажав колесо мыши/среднюю кнопку или нажимая кнопки на нумпаде (2, 4, 6, 8).


  1. yar3333
    11.12.2015 17:55

    Перемещение — G (мнемоника — слово Grab)

    Всегда думал, что G — «go».


    1. unbalanced
      11.12.2015 17:59

      Можно и Go :)