Как получить структуру объекта Blender

При написании скриптов в Blender часто нужно узнать полный список свойств какого-либо объекта для того, чтобы обращаться к ним в дальнейшем через Blender API. Рассмотрим, как можно получить список свойств и методов, доступных для исследуемого объекта.

  1. Команда dir

Самый простой способ быстро получить полную структуру нужного объекта — выполнить в Python-консоли команду dir, указав в качестве аргумента исследуемый объект.

Например, чтобы получить свойства и методы нода Glossy BSDF, нужно выделить его и в Python-консоли выполнить команду dir, указав в качестве аргумента активный выделенный нод:

После выполнения команды в окне консоли будет выведен список свойств и методов выделенного нода:

Результат выполнения команды dir

Команда dir дает полное представление о структуре объекта, но не показывает текущие значение его свойств.

  1. Сохранение структуры rna в файл

Как можно заметить по результатам выполнения команды dir, в исследуемом ноде присутствуют структуры bl_rna и rna_type. Это значит, что rna-структуру данного нода можно удобно выгрузить в файл.

Для этого создадим следующий простой скрипт:

Скрипт создает файл с именем glossy_rna.xml в директории blender-проекта и с помощью модуля rna_xml и команды rna2xml выводит в этот файл структуру выделенного нода, который указан в параметре root_rna команды.

В результате содержание файла glossy_rna.xml выглядит так:

В файл сохранена структура свойств исследуемого нода с указанием их текущих значений.

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

  • Nikolay sungreen (sungreen)

    Привет! Можно еще добавить дополнение 3. API Navigator

    • Привет! Интересная штука, не знал о нем.