как добавить скрипты в blender

IntroductionВ¶

Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high-level dynamic data types, and classes. Python combines remarkable power with very clear syntax.

Python scripts are a versatile way to extend Blender functionality. Most areas of Blender can be scripted, including animation, rendering, import and export, object creation and automating repetitive tasks.

General InformationВ¶

Links that are useful while writing scripts:

Python.org – General information about Python.

Blender Python API – Official API documentation. Use this for referencing while writing scripts.

API Introduction – A short introduction to get you started with the API. Contains examples.

Links that deal with distributing your scripts:

Sharing scripts – Information on how to share your scripts and get them included in the official Blender distribution.

Creating Add-ons – Add-ons are used to encapsulate and distribute scripts.

Add-ons project – Project to maintain a central repository of extensions to Blender.

Getting StartedВ¶

The following links take you from the basics to the more advanced concepts of Python scripting for Blender.

Here are external links containing a lot of good information to start learning how to write scripts for Blender:

Extending BlenderВ¶

Add-onsВ¶

Outside of the Blender executable, there are hundreds of add-ons written by many people:

Officially supported add-ons are bundled with Blender.

Other Testing add-ons are included in development builds of Blender but not official releases. Many of them work reliably and are very useful but are not yet ensured to be stable for release.

See Add-ons for documentation on add-ons included with Blender.

ScriptsВ¶

Apart from add-ons, there are several other types of scripts that extend Blender’s functionality:

Utility libraries for import into other scripts.

Settings for Blender’s tools and key configurations.

These files are imported when starting Blender. They define most of Blender’s UI, as well as some additional core operators.

Saving your own ScriptsВ¶

File LocationВ¶

InstallationВ¶

© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License. Last updated on 10/01/2021.

Источник

Скриптинг экспортера в Blender 2.56. Часть 1.

Описываются шаги по написанию экспортера из пакета моделирования Blender 2.56.

ЧАСТЬ 1

Blender является очень многофункциональным бесплатным инструментом для моделирования с возможностью написания новых функций при помощи скриптов. Допустим, есть небольшая команда разработчиков и часто нужно вывести данные о модели или анимации в свой формат. Для этого понадобится скриптинг. Иными словами, нужно написать экспортер-аддон к Блендеру. В Блендере скрипты пишутся на языке “Python”. Об установке Блендера и питона ищите в сети. С этим у меня проблем особых не было. “Python” я знаю плохо, но тем не менее для написания экспортера моих знаний и интуиции думаю хватит.

Итак, я начинаю описывать создание экспортера из Блендера в формат своего движка, который я назвал “Simple Game Engine”. Соответственно, расширение формата файла для хранения 3d модели будет называться “sgo”, что означает сокращение от фразы “simple game object”.

Примечание! При написании скрипта для того, чтобы изменения вступили в силу, нужно его сохранить, а потом выключить (если он был включен) и включить обратно. Включение-выключение выполняется на панели “Add-Ons”, о чем будет рассказано ниже.

Запускаем Блендер. В любом рабочем окне выполняем следующие действия.
Нажимаем кнопку выбора редактора:
как добавить скрипты в blender

Появится меню со списком всевозможных редакторов. Нужно выбрать текстовый (“Text editor”):
как добавить скрипты в blender

Окно 3d вида сменится на окно редактора текста, то бишь скриптов.
Включаем опции подсветки и прочего удобства и нажимаем кнопку “Text”:
как добавить скрипты в blender

Выбираем “New” для создания нового скрипта:
как добавить скрипты в blender

Появится номер первой строки – можно писать скрипт :).

Написание скрипта

Для того, чтобы скрипт был аддоном, он должен быть написан по-особому. Там должна быть структура bl_addon_info в начале файла, а также в конце должны быть определены функции register (регистрации) и unregister (отмены регистрации). Рассмотрим их поподробнее.
В следующем коде задается необходимая информация об аддоне:

!Внимание. После параметра между именем параметра и двоеточием никаких пробелов не ставится. К тому же число пробелов влияет на код.

“name:” название вашего аддона.
“author”: имя автора, то бишь ваше.
“version”: версия вашего аддона.
“blender”: версия Блендера, в которой работает аддон.
“api”: номер ревизии, с которой скрипт работает. Не совсем понятный мне параметр.
“location”: где искать кнопку для запуска аддона.
“description”: описание, отображаемое в виде всплывающей подсказки и в документации.
“warning”: предупреждающее сообщение. Если не пусто, в окне пользовательских настроек будет отображаться небольшой предупреждающий знак.
“wiki_url”: ссылка на вики-страницу аддона.
“tracker_url”: ссылка на трекер аддона.
“support”: сайт поддержки.
“category”: одна из категорий в окне пользовательских настроек.

Многие элементы могут быть просто опущены, что как это видно я и сделал.

После описания информации об аддоне подключаем заголовочный файл для API Блендера: Import bpy
Перед рассмотрением функций регистрации и отмены регистрации пройдем к панели “Add-Ons”, где подключается новый скрипт:
1) “File->User Preferences…”
2) Появится окно, в котором нужно перейти во вкладку “Add-Ons” и выбрать пункт
“Import-Export”:
как добавить скрипты в blender
как добавить скрипты в blender

Для того, чтобы ваши скрипты показывались на панели “Add-Ons”, в скрипте должны присутствовать, как минимум, функции register и unregister, которые обычно располагаются в конце файла.
Функция register вызывается при включении дополнения (нажатие галочки). Любые объявления операторов, панелей, свойств должны содержаться в ней.
Функция unregister вызывается при отключении скрипта (снятие галочки). Она удаляет все, что создано в register.

Если скрипт нужно вызвать вручную из текстового редактора, то пишем эти две необязательные строки:

Функция menu_func определяется пользователем и передается как параметр при регистрации.
self.layout.operator(«sgo exporter») добавит пункт в меню с текстом «sgo exporter».

Сохранение и проверка скрипта

Сохраняем скрипт в директории Блендера “scripts\addons” (у меня путь от папки с исполняемым файлом blender.exe такой: “2.56\scripts\addons”). Название лучше выбрать такое io_export_YourAddonName.py, где YourAddonName – имя, обозначающее смысл вашего скрипта или название формата. Для сохранения жмем “Text->Save As”, как на рисунке:
как добавить скрипты в blender

Далее переходим к панели “Add-Ons” (выше я показал как). Должен появиться наш скрипт, жмем галочку для его включения. Если вы хотите, чтобы аддон загружался каждый раз при запуске Блендера, нажмите кнопку “Save As Default” в нижней части окна.

Проверяем включение скрипта. Переходим в “File->Export”:
как добавить скрипты в blender

Оператор

Теперь нужно добавить так называемый оператор. То есть нужно чтобы при нажатии на пункт в меню «File->Export->sgo exporter» запускался бы скрипт. Оператор является классом, производным от bpy.types.Operator. Операторы нужно зарегистрировать, чтобы они появились в меню.
Добавим оператор:

И изменим функцию, передаваемую в функцию регистрации:

У оператора есть свойства, функция execute (выполнить), и необязательная функция invoke.
Функция invoke является неким инициализатором оператора значениями, которые передаются из контекста в момент вызова оператора. Аддон экспорта данных должен иметь возможность сохранения этих самых данных. Для выбора места сохранения экспортируемых файлов, нужно вызвать окно выбора директории, в котором нужно будет написать имя сохраняемого файла и которое должно содержать кнопку, при нажатии на которую и будет сохранен файл. Для этого функцию invoke пишем следующим образом:

Теперь при нажатии на пункте меню “File->Export->Simple Game(.sgo)” получим следующее:
как добавить скрипты в blender

Но нужно расширение “sgo”, а не “blend”. К тому же не задана функция execute, которая должна вызываться при нажатии на кнопку “Export SGO”.
Python поставляется с модулем os, что означает «операционная система». Модуль os содержит множество функций для получения информации о локальных каталогах, файлах, процессах и переменных окружения (а в некоторых случаях, и для манипулирования ими). Модуль os.path также содержит функцию os.path.splitext(), которая дробит имя файла и возвращает кортеж, содержащий отдельно имя и отдельно расширение файла. Напишем строчку:

Добавим свойство в оператор:

Оно будет хранить строку с путем к месту сохранения файла.
И опять изменим функцию menu_func:

То есть получаем первый элемент пути по умолчанию из строки “untitled.blend”, это подстрока “untitled”. И добавляем расширение “.sgo”. Сохраняем полученный путь в переменной “default_path”. Затем копируем его в свойство “filepath” нашего оператора. Теперь в “filepath” хранится путь по умолчанию, то есть “untitled.sgo”.
как добавить скрипты в blender

Теперь займемся функцией execute.
Пока просто добавим незначительный код, чтобы Блендер не вылетал при нажатии кнопки “Export SGO” в окне выбора директории.

В этом коде просто проверяется конец пути на содержание в конце подстроки с расширением “.sgo”. И возвращается одно из значений перечисления (см. API блендера для просмотра других значений).

Ну и создадим файл и напишем в него строку “ simple game object export addon”

Все! Скрипт пока не делает ничего толкового, но на этом шаблоне можно сделать свой экспортер.
Добавление полезного функционала будет рассмотрено в следующей части.

Источник

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

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

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

как добавить скрипты в blender

Для того, чтобы начать разработку кода с помощью 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

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

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

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

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

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

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

как добавить скрипты в blender

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

как добавить скрипты в blender

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

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

как добавить скрипты в blender

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

как добавить скрипты в blender

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

как добавить скрипты в blender

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

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

как добавить скрипты в blender

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

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

Нужные нам библиотеки можно скачать с GitHub по адресу https://github.com/Korchy/blender_autocomplete, нажав “Clone or download” – “Download ZIP”.

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

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

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

как добавить скрипты в blenderНажатием на двойные фигурные скобки “<>” в правом верхнем углу переключить режим отображения настроек в текстовый (JSON).

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

Источник

Уроки от Хаки

Как установить аддон в Blender’е (2.8х)

как добавить скрипты в blender

Всем привет! Дошли наконец-таки руки перевести основные уроки в небольшие статьи. Видео можете посмотреть здесь (желательно на ютубе, конечно):

Быстрый способ

Заходим в Edit > Preferences или жмём Ctrl + Alt + U (старайтесь сразу запоминать горячие клавиши!)

как добавить скрипты в blender

как добавить скрипты в blender

как добавить скрипты в blender

как добавить скрипты в blender

как добавить скрипты в blender

Изменить тип окна на «Info» Теперь вы хотя бы знаете, где искать ошибки.

Но если всё прошло хорошо, но у вас не стоит Auto-Save Preferences (а я советую не ставить авто-сохранение для большего контроля), то при закрытие и последующем открытие блендера наш установленный аддон будет снова выключен. Если вы уверены, что этот аддон должен быть включен всегда (что замедлит загрузку программы), то нажмите Save Preferences слева внизу окна.

как добавить скрипты в blender

Ctrl + Alt + U > Add-ons > Install… > Выбрать файл > Install Add-on > Поставить галочку (включить аддон) > При желании сохранить настройки

Перемещение в папку с аддонами

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

Итак, первая папка находится непосредственно там же, где и установлен ваш блендер:

*Путь к Блендеру* \Blender Foundation\Blender 2.81 (или другая версия) \2.81 (или другая версия) \scripts\addons

Именно в папку «addons» и нужно перемещать наши файлы.

Другая же директория отличается именно той частью, которая «Путь к Блендеру», а если точнее, то находится в папке «Roamig». Именно в эту папку устанавливаются аддоны с помощью предыдущего способа.

Путь выглядит похоже, самое сложное — найти папку «Blender Foundation», остальное всё идентично.

C:Users\Username (ваше имя пользователя) \AppData\Roamig\Blender Foundation\Blender 2.81 (или другая версия) \2.81 (или другая версия) \scripts\addons

Вы можете посмотреть точный путь в графе «File» в установленном первыс способом аддоне.

Источник

Простой Blender. Часть 1

как добавить скрипты в blender
КДПВ. По мотивам.

О чем пост

Вступление/предисловие/disclaimer.

Сварщик я ненастоящий и 3D-моделлингом занимаюсь просто для удовольствия и довольно эпизодически (как видно моим результатам в КДПВ). И очень хочу это подчеркнуть. Ни одна моя модель дальше моего компа не уходила и оценку я давал сам себе. Начинал, как и многие, с 3Ds Max Studio Autodesk (до сих пор не в курсе, как же правильно Тридэмакс зовется). Что такое стек операций, как текстурировать, делать полупрозрачный материал и рендерить – я освоил. Как сделать лодку при помощи NURBS – нет.

После очередной переустановки системы и попытки разобраться, чем «Autodesk 3ds Max 2009» лучше «Discreet 3dsmax 7» и на основании этих данных отдать выбранной версии пакета время на скачивание и гигабайты системного раздела на установку (с попутным загрязнением системы всякими дополнительными программами) я сдался. Мое хобби – моделлинг, а не рендер гигахайполиполуторачасовых мультиков для очередной версии Варкрафта.

К тому времени я уже хорошенько полазил по интерфейсу макса (в основном, чтобы решить очередную проблему типа «как же вернуть отображение стрелочек поворота/масштабирования»), чтобы для себя решить, что макс – это как ворд, почти все пользуются 5% функциональности, остальные 95% нужны профессионалам, которых самих – 5%. Цезарю – цезарево.

В общем и целом, я был готов смириться с потерей возможности назначать волосы на шарик взамен на более manageable программу моделлинга. Поизучав рынок, отбросив остальные комбайны типа Maya и LightWave, не восприняв SketchUp, я поставил Blender. Скажу сразу – мне повезло, и ко времени моих поисков ребята из Blender Foundation ушли от своего старого интерфейса:

как добавить скрипты в blender
Рисунок 0. Интерфейс версии 2.4, который я, к счастью, не застал.

Дефолтное окно

как добавить скрипты в blender
Рисунок 1. Окно версий 2.6+ по умолчанию после старта. Обратите внимание на обведенные красными квадратами кнопки.

Выглядит не мегапросто, но, имхо, это потому, что ребята из BF верят в «показ товара лицом».

Как видно из надписей на картинке, ситуация при старте с настройками по умолчанию следующая:

На самом деле

Так или иначе, на самом деле, вы видите следующее:

как добавить скрипты в blender
Рисунок 2. Структура окна Blender.

Акцентирую внимание на отсутствие порядковых номеров возле слов «Область». На самом деле, окно самого блендера – это рабочий стол с управляемым набором областей (в программе их называют Area). Меню (в самом верху) – это тоже область. Их можно ресайзить (как обычно, мышкой за край области), разбивать/склеивать (опять же, мышку на край области, правый клик, выбрать желаемый вариант), менять тип (меню – это тоже тип области).

как добавить скрипты в blenderкак добавить скрипты в blender
Рисунок 3. Слева — меню разделения/склеивания областей, справа — кнопка смены области (см. также рисунок 1).

Можно сделать ностальгический лэйаут (я таким поначалу пользовался, потом выучил кнопки смены видов в 3D области (NumPad 1,3,7 — спереди, справа, сверху. Если вместе с Ctrl — то противоположные — сзади, слева, снизу. NumPad 5 — переключение между ортогональностью и перспективой)):

как добавить скрипты в blender
Рисунок 4. 3DS Max — подобный интерфейс.

Также разработчики добавили переключатель лэйаутов (возможностью добавления-удаления), с преднастроенными лэйатуами. Имхо, это уже для более поздних этапов learning curve. Поначалу оно мне не понадобилось:

как добавить скрипты в blender
Рисунок 5. Слева помечена кнопка выбора существующего лэйаута, справа — кнопки добавления и удаления текущего лэйаута.

Важно отметить, что в Blender есть функция сохранения настроек UI (File->Save Startup File).

По итогу, я удалил со сцены пред-созданные лампу, камеру и кубик, а так же склеил область анимации с областью 3D сцены, убив таким образом всю задумку ребят из BF. После чего воспользовался указанной функцией. Теперь у меня на старте окно такое:

как добавить скрипты в blender
Рисунок 6. 4 области — меню, аутлайнер (содержимое сцены), настроечная и, собственно, 3D-сцена.

Когда я начинаю новую модель — это самый необходимый минимум. Далее, зная вышеописанное, можно наворотить в плане отображения что угодно.

Резюмируя. Это не Blender страшный, это дефолтные установки спорные.

Навигация

Левая клавиша – установка 3D курсора (о нем ниже) в указанную точку.
Правая клавиша – выбор чего нибудь (объекта, грани и т.п.).

Средняя клавиша:
Драг – вращение вокруг центра сцены (или вокруг курсора, об этом ниже).
Скролл – удаление/приближение от/к центру сцены / куросору.
Tab – переключение режима редактирования (ниже).
Пробел – окно поиска команды.
100500 сочетаний клавиш – остальные команды (о некоторых – ниже).

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

Отступление

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

То есть, программа на разных этапах выглядит по-разному и, в общем случае, требует разных знаний (что лично мне позволяет не загружать мозги редактированием видео, например).

Возвращаясь к максу – я как-то читал, что первые версии были написаны под дос и, соответственно, имели ограничение в 640 Кб (вот можно глянуть прототип вообще vimeo.com/9652184). Отсюда решение – набор программ вместо одной программы. То есть, чтобы отрендерить объемную букву, надо было:

Вступление

Вот тут, по-моему, самое место написать самую важную мантру Blender, которую вы (если начнете с ним знакомиться), встретите практически везде: “Используй горячие клавиши”. Мало кто начинает работу с новой программой, выучив все ее горячие клавиши. На этот случай и предусмотрена панель работы с объектами (см. рис. 1) — обратите внимание на табы слева панели. Кстати, обе панели на области 3D-сцены скрываются/отображаются по нажатию T и N. Окно поиска команды (пробел) — тоже из этой оперы.

Но использование горячих клавиш (по крайней мере, в моделлинге) — лично я очень рекомендую. Благо, основных операций не так уж и много, штук 10-15. За время работы над одной не самой элементарной моделью выучиваются влегкую. Надо признать, что интерфейс позволяет сделать что угодно, не нажав ни одной горячей клавиши. Просто это займет больше времени. Тут как в старкрафте — или ты гоняешь Джима Рейнора по карте и яростно ставишь все его 3 мины кликами по абилкам внизу справа, или контролишь дроп против корейцев.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *