Создание кастомных иконок для инструментов Blender

Базовые иконки, использующихся в UI и операторах, прошиты внутри Blender, и поэтому мы не можем отредактировать или добавить новые иконки без полной перекомпиляции Blender. Иконки для панелей инструментов не привязаны сборке Blender, хранятся в отдельных файлах, и мы можем заменять или создавать и добавлять в Blender новые иконки инструментов.

Все иконки для инструментов Blender хранятся в отдельных файлах с расширением .dat в директории:

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

Создать файл с иконкой можно при помощи самого Blender.

Откроем пустую сцену и создадим в ней меш, изображение которого мы хотим видеть на новой иконке. Для примера просто добавим в сцену “Сюзанну”.

Меш должен быть размещен так, чтобы его лицевая часть смотрела вдоль его локальной оси Z. Перейдем в режим редактирования и повернем точки меша так, чтобы “лицо” смотрело в нужном направлении.

Центр иконки будет в точке ориджина меша. Поэтому геометрию нужно подогнать так, чтобы ориджин меша был в центре.

Иконка будет сгенерирована с размера сцены 2 x 2, поэтому размер меша нужно подогнать так, чтобы все его точки были внутри квадрата 2 на 2.

С геометрией все готово. Но нужно еще добавить нашей иконке цвет.

Цвет иконки определяется произведением цвета, взятого из ее шейдера на цвет покраски вертексов в режиме Vertex Paint.

Для задания базового цвета в шейдере используется всего один нод “RGB”. Никаких других нодов в дерево добавлять не нужно, они все равно будут проигнорированы.

Второй цвет задается покраской меша в режиме Vertex Paint. Можно раскрасить иконку вручную или, для простого придания объема, выполнить операцию Paint – Dirty Vertex Color.

Название файла для иконки берется из имени меша. Переименуем меш в соответствии с правилами, например в “ops.generic.suzanne”.

Учтите, что меши-копии (с именами заканчивающимися на .001, .002 и т.п.) будут проигнорированы.

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

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

Скачать мою версию скрипта можно с GitHub: https://github.com/Korchy/blender_create_toolbar_icon

Откройте файл create_toolbar_icon.py и скопируйте его целиком в Blender TextEditor.

Укажите путь, куда вы хотите сохранить готовую иконку в переменной icon_file_path:

Если значение переменной оставить пустым, готовый файл будет сохранен в месте размещения вашего .blend файла (или в системной временной директории, если ваш .blend файл не сохранен).

Нажатием на кнопку со стрелочкой выполните скрипт.

Файл с готовой иконкой, в нашем случае ops.generic.suzanne.dat, будет сохранен в указанном месте.

Теперь мы можем скопировать его в директорию /datafiles/icons/ в Blender и использовать при создании кастомных инструментов, указывая ID иконки в параметре bl_icon:

Созданная нами иконка теперь отображается в панели инструментов Blender.

Оригинальный скрипт от разработчиков Blender можно скачать с их репозитория: https://svn.blender.org/svnroot/bf-blender/trunk/lib/resources

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии