Настройка Blender 3D для работы со скриптами
Окинув взглядом серию статей, что перевожу, решил написать заметку про настройки Блендера. На всякий случай: вижу в тех статьях руководство, помогающее никогда не программировавшему моделлеру преодолеть барьер между тягаю полигончики и автоматизирую задачи. Думаю, это руководство непо́лно без списка вещей, облегчающих работу с кодом и скриптами в Блендере.
Версия, для которой эта заметка пишется: Blender 3.0
Настроим рабочее пространство
Рабочее пространство: Scripting
Лейауты, они же рабочие пространства: преднастроенный интерфейс под наборы действий. Переключение меж ними измененяет контекст работы: переключившись на Modeling, сразу окажемся в режиме редактирования выделенного объекта, в Layout наоборот, выйдем в объектный режим. А в рабочем пространстве Scripting Блендер сразу откроет важные штуки: командное окно, текстовый редактор и окошко с логом выполненных команд.
Если готовых лейаутов недостаточно, настройте свой.
Переключившись на Scripting, увидим:
Лог команд
Почти любое действие в Блендере отображается в логе. Удобно: сделайте руками что-либо, а потом скопируйте выхлоп из лога в код. А для проверки, как оно сработает, скопируйте выхлоп в командное окно. Если действие не отразилось, придётся читать мануал, или воспользоваться подсказками Блендера. Про них чуть позже.
Клац мышкой по команде выделяет её целиком, а дальше по старинке: Ctrl+C Ctrl+V
Командное окно
Встроенное командное окошко Блендера помогает проверять строчки кода по отдельности. Как напроверяемся, записываем в текстовый редактор.
Хоткеи для этого окошка:
Стрелки вверх и вниз прокучивают историю команд
Tab — автозаполнение
Текстовый редактор
Первым делом жмякаем New, и строчим аддоны прямо в Блендере. Стоит сохраняться перед каждым запуском скрипта, потому что риск закинуть Блендер в бесконечный цикл, да или просто крашнуть велик. А беспокоиться о выгрузке скрипта не стоит: в бленд-файле скрипт сохранится (если галочка с Fake User не снята).
Кстати о выгрузке. Если душа к встроенному редактору не лежит, сохраните об него пустой файл скрипта, и откройте в любимой IDE: Блендер постоянно сравнивает открытую версию с сохранённой. Alt+R перезагрузит сохранённую версию, Alt+S — сохранит её.
Важно следить за позицией мышки: Блендер считает, что действия пользователя, включая клацанья по клавиатуре, относятся к тому окну, над которым висит стрелка. Подбешивает с непривычки, понимаю.
Хоткеи для текстового редактора:
Ctrl+Wheel отмасштабирует написанное
Alt+P запустит скрипт
Ctrl+/ закомментирует строку или выделенный блок
та же комбинация снимет комментарии
Shift+Tab снимает табуляцию со строки или блока по одной за раз
Tab накидывает табуляцию и на строку и на блок
Alt+S сохранит скрипт отдельным файлом
А ещё в нём есть шаблоны: их стоит изучить, многое станет понятнее.
Системная консоль
Многовато консолей, но все полезны. Системная консоль покажет результат выполнения скрипта и ошибки в процессе, и даст завершить его работу, если что-то пошло не по плану.
Если вы (как и я) любите бахнуть сабдив на три тысячи, включите консоль сразу по открытию Блендера: прерывание процессов быстрее переоткрывания бленд-файла.
Хоткей прерывания: Ctrl+C в консоли.
Автозаполнение в консоли Блендера
Конструкции вроде bpy.context.selected_editable_objects[0]
неудобны для печати, а с непривычки и для осмысления. С осмыслением сложнее, а вот с печатью — жмяк табом, и Блендер выдаст зелёный список, какие существуют возможности продолжить фразу.
Подсказки
По умолчанию включены пользовательские подсказки: при наведении на элемент мышки появляется окно с описанием того, что этот элемент делает. А ещё есть подсказки для будущих скриптописателей: тогда в них окажется кусок кода, заменяющий физическое взаимодействие с элементом. Таким образом можно писать макросы в духе импортировать файл → отрендерить → удалить объект → повторить n раз. Написать ремешер будет дивно сложнее.
Включить подсказки: Edit → Preferences → Interface → Display → Python Tooltips
Скопировать подсказку: Ctrl+Alt+Shift+C (мой любимый хоткей, без гитары не справился бы).
Режим разработчика
Полезен тем, что даёт визуальный доступ к индексам вершин: пригодятся для постройки мешей.
Включить: Edit → Preferences → Interface → Display → Developer Extras
После чего в режиме редактирования появится нужная галочка:
Дополнительный экран
Windows → New Window откроет второе окно блендера с этим же файлом.
Штука, которая экономит внимание каждый раз, когда предстоит работа с двумя рабочими пространствами одновременно: например, в одном окне настроено для анимации, а во втором открыт редактор кривых.
Развернуть окно во весь экран
Ctrl+Space разворачивает внутреннее окно, над которым мышь, во весь экран. Эта же комбинация разворачивает рабочее пространство обратно.
Коротенько:
системная консоль подскажет ошибки и спасёт нервы
включите подсказки
переключите рабочее пространство на Scripting
автодополнение: поменьше печатать, получше понимать структуру модулей
режим разработчика: пересчитай свои вертексы
доролнительные окна и разворот целевого помогут организовать работу удобно
сохраняйтесь чаще!
Туториалы, которые перевожу:
Меши с Python & Blender: скруглённый куб
Меши с Python & Blender: круги и цилиндры