Модифицирование панелей в Blender

В этом уроке мы рассмотрим, как можно вручную произвести модифицирование панелей в Blender 2.5 посредством языка программирования Python. Знание Python приветствуется, но в принципе для простых модификаций (таких как рассматриваемые сегодня) такое знание необязательно.

Модифицирование панелей в Blender при помощи Python
1

Откройте Blender. Откройте встроенный текстовый редактор. Для этого в контекстном меню, появляющемся при нажатии на значок в левом нижнем углу окна 3D-вида, выберите пункт Text Editor.

2

Создайте новый текстовый блок данных (соответствующая кнопочка появится на панели после предыдущего шага).

3

Активируйте показ номеров строк, перенос слов и подсветку синтаксиса (при помощи кнопок на той же панели):

Активация номеров строк, переноса слов и подсветки синтаксиса
4

Посредством меню выберите:
Text → Open
В появившемся диалоговом окне открытия файлов в папке с установленным Blender в папке скриптов выберите файл space_view3d_toolbar.py. В зависимости от версии программы расположение этого файла может немного отличаться, в Blender 2.53 он лежит по адресу: 2.53/scripts/ui//space_view3d_toolbar.py.

5

Перейдите к 38-39 строкам:

Встроенный в Blender 2.5 текстовый редактор
6

Нажмите Enter несколько раз, чтобы освободить немного места для новых строк:

Освобождаем место для новых строк
7

Вернитесь к строкам 38-39 и вставьте туда приведенный ниже код:

Вставляем код во встроенный в Blender 2.5 текстовый редактор

Скопируйте этот код и вставье его в указанном месте (добавьте отступы перед строками):

col = layout.column(align=True)
col.label(text="Add Mesh:")
row = col.row()
row.operator("mesh.primitive_plane_add", icon='MESH_PLANE', text="")
row.operator("mesh.primitive_cube_add", icon='MESH_CUBE', text="")
row.operator("mesh.primitive_circle_add", icon='MESH_CIRCLE', text="")
row.operator("mesh.primitive_uv_sphere_add", icon='MESH_UVSPHERE', text="")
row.operator("mesh.primitive_ico_sphere_add", icon='MESH_ICOSPHERE', text="")
row = col.row()
row.operator("mesh.primitive_tube_add", icon='MESH_TUBE', text="")
row.operator("mesh.primitive_cone_add", icon='MESH_CONE', text="")
row.operator("mesh.primitive_grid_add", icon='MESH_GRID', text="")
row.operator("mesh.primitive_monkey_add", icon='MESH_MONKEY', text="")
8

Сохраните редактируемый текстовый файл (Alt+S) и посмотрите на результат (требуется перезагрузка).
В итоге вышеперечисленных действий вы получите на панели Object Tools новые кнопки, предназначенные для добавления в сцену примитивов:

Внешний вид новой панели с графическими значками
9

Если вы хотите, чтобы кнопки для добавления примитивов включали в себя не только графические значки, но и текст, то вставьте под 38-ю строку следующий код:

col = layout.column(align=True)
col.label(text="Add Mesh:")
col.operator("mesh.primitive_plane_add", icon='MESH_PLANE', text="Plane")
col.operator("mesh.primitive_cube_add", icon='MESH_CUBE', text="Cube")
col.operator("mesh.primitive_circle_add", icon='MESH_CIRCLE', text="Circle")
col.operator("mesh.primitive_uv_sphere_add", icon='MESH_UVSPHERE', text="UV Sphere")
col.operator("mesh.primitive_ico_sphere_add", icon='MESH_ICOSPHERE', text="Icosphere")
col.operator("mesh.primitive_tube_add", icon='MESH_TUBE', text="Tube")
col.operator("mesh.primitive_cone_add", icon='MESH_CONE', text="Cone")
col.operator("mesh.primitive_grid_add", icon='MESH_GRID', text="Grid")
col.operator("mesh.primitive_monkey_add", icon='MESH_MONKEY', text="Monkey")
10

В итоге должен получиться следующий результат:

Внешний вид новой панели с текстовыми надписями
11

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

Вы можете исследовать вышеприведенный код и использовать его в качестве образца для своих собственных модификаций.