Использование IDE Microsoft Visual Studio Code для написания скриптов/аддонов в Blender

Несмотря на наличие встроенного текстового редактора, скрипты и аддоны для Blender удобнее разрабатывать во внешних IDE, предоставляющих пользователю гораздо больше возможностей таких, как автокомплит, настройка подсветки синтаксиса, интеграция с системами контроля версий и множество других инструментов, делающих разработку быстрее и проще.

Одной из таких сред разработки является Visual Studio Code от компании Microsoft. Это бесплатная универсальная IDE, поддерживающая разработку на различных языках программирования, в том числе и на языке API Blender — Python.

Для того, чтобы начать разработку кода с помощью Visual Studio Code нужно:

 

Установить саму IDE.

На официальном сайте IDE можно скачать дистрибутив как для операционной системы Windows так и для Linux: https://code.visualstudio.com/Download

После скачивания необходимо произвести установку IDE.

 

Для работы с внешней IDE необходимо установить отдельный интерпретатор языка Python.

Скачать дистрибутив Python можно с официального сайта: https://www.python.org/downloads/

Скачивать лучше всего ту же самую версию Python, которая используется в Blender. Для версии Blender 2.79b — это Python версии 3.5.3. Для Blender 2.80 — Python 3.7.0

После скачивания произвести установку интерпретатора Python.

 

Установка в Visual Studio Code расширения для работы с Python

Запустите Visual Studio Code.

Откройте панель расширений. В поисковом поле введите «python». В открывшемся списке расширений выберете расширение «Python» и установите его, нажав «Install». Нажмите «Reload» для запуска расширения.

 

Создание скрипта для Blender в Visual Studio Code

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

Visual Studio Code работает с директориями, как с проектами. Создадим на диске D:/ директорию bl_test и откроем ее в Visual Studio Code. Все дальнейшие настройки будут применяться только для этого проекта.

Добавим в проект новый файл bl_test.py. В этот файл мы запишем код нашего скрипта для Blender.

 

Настройка проекта в Visual Studio Code для работы с Blender Python

Нажмите F1 (или ctrl+shift+p) для открытия командной строки. Введите «python select interpreter» для указания интерпретатора Python.

Из выпадающего списка выберете версию Python, которую вы установили ранее в системе.

Нажмите F1. Введите «python select linter» для выбора/установки линтера Python. Линтер нужен для динамической проверки вводимого кода, указания на ошибки и опечатки. Так же линтер проверяет соответствие кода спецификации PEP.

Из выпадающего меню выберете «Python: Select Linter».

и далее укажите «pep8». Это спецификация Python, принятая на текущий момент.

Линтер активируется в момент сохранения файла. Для активации линтера сохраните текущий файл. Visual Studio Code выдаст запрос на установку выбранного ранее линтера.

Проведите установку нажав «Install». Установка делается один раз, для последующий проектов повторять ее не потребуется.

Убедиться, что линтер включился в работу можно введя какой-нибудь код и сохранив его.

 

Как включить автокомплит для Blender API

Приступив к написанию кода, мы сразу увидим, что автокомплит работает только для стандартных типов данных Python и не работает с типами данных API Blender. Чтобы это исправить, необходимо скачать библиотеку, описывающую типы данных Blender и подключить ее к нашему проекту.

Open source проект «fake-bpy-module» содержит нужные нам библиотеки. Скачать их можно с GitHub по адресу https://github.com/nutti/fake-bpy-module, нажав «Clone or download» — «Download ZIP».

Нужные файлы содержатся в поддиректории fake-bpy-module-master/premade_modules скачанного архива, и разделены по директориям с названиями соответствующими версиям Blender, для которых они предназначены. Если мы работаем с последней стабильной версией Blender 2.79b, нам нужна поддиректория: fake-bpy-module-master/premade_modules/2.79/2.79b/.

Так как библиотека для автокомплита может понадобиться не только для текущего проекта, стоит поместить ее в общедоступное место, откуда ее можно будет подключить в любой нужный проект. Создадим директорию D:/autocomplete/ и скопируем в нее целиком папку 2.79b из скачанного архива.

Подключим ее к открытому проекту. Для этого нужно открыть настройки проекта: File — Preferences — Settings и выбрать Workspace Settings.

Нажатием на двойные фигурные скобки «{}» в правом верхнем углу переключить режим отображения настроек в текстовый (JSON).

В правой половине экрана с кастомными настройками проекта добавим директивы и пути для автокомплита Blender API. Путь указываем тот, куда мы сохранили директорию 2.79b с библиотекой автокомплита.

Сохраняем настройки и закрываем окно.

Теперь если начать набирать код, автокомплит Blender API будет корректно работать.

Можно писать нужный код.

 

Выполнение внешнего скрипта в Blender (2.79 и 2.80)

После того, как скрипт написан в Visual Studio Code, его нужно выполнить в Blender.

Для этого нужно запустить Blender, открыть встроенный текстовый редактор и набрать в нем следующий код:

Где _PATH_ — путь к директории нашего проекта, а _FILE_NAME_ имя файла-скрипта с нашим кодом.

Этот код универсален, его можно сохранить как шаблон и пользоваться для выполнения в Blender любых скриптов, написанных во внешних IDE. Для более сложных многофайловых проектов, например аддонов, следует использовать код с динамической переустановки аддона.

 

Динамический бридж для выполнения кода из Visual Studio Code в Blender (только 2.80)

Для Blender 2.80 в Visual Studio Code можно установить расширение «Blender Development» от Jacques Lucke для динамического выполнения скриптов и аддонов напрямую из IDE.

Откроем панель расширений в Visual Studio Code и в строке поиска введем «blender development».

Установить найденное расширение и нажать «Reload» для его запуска.

Нажать F1 для открытия командной строки и ввести «blender start». Выбрать «Blender: Start».

Выбрать «Choose a new Blender executable…»

и указать путь к файлу blender.exe.

запустится Blender, соединенный бриджем с Visual Studio Code.

Для выполнения скрипта нужно нажать F1 и в командной строке ввести «blender run script» и выбрать «Blender: Run Script».

Это расширение предоставляет много удобных возможностей для написания кода для Blender, однако имеет и некоторые недостатки, среди которых работа только с версией Blender 2.80 и не всегда правильное определение контекста окон при выполнении скриптов. Например, скрипт, приведенный ниже, через расширение с бриджем не выполняется.

 

Пример скрипта для Blender

Для примера введем в наш файл bl_test следующий код и выполним запуск внешнего скрипта (с помощью кода из текстового редактора Blender).

Здесь в сцену добавляется куб, поворачивается на 45 градусов, на него добавляется фаска и куб размножается массивом 10×10 со смещением. В результате можно отрендерить модный абстрактный бэкграунд.