Каждый плагин должен иметь суффикс .pyp или .pypv (для зашифрованных файлов). Когда Cinema 4D запускается, она находит в этой папке все файлы, заканчивающиеся на .pyp или .pypv , и запускает плагин. Для того чтобы плагин мог взаимодействовать с программой и пользователем в нем нужно зарегистрировать хуки. Все хуки плагинов построены на классах данных, полученных из BaseData. Эти классы данных содержат набор методов, вызываемых Cinema 4D. Пример из MessageData:
PLUGIN_ID - уникальный номер плагина, который нужно получить зарегистрировавшись здесь - https://plugincafe.maxon.net/ Вводите в поле ввода название своего плагина и жмете кнопку GeneratePluginID
str - название вашего плагина
g - производный класс
description - имя файла ресурса описания, который будет использоваться для вашего плагина без расширения .res , например Oobjectname . Имя должно быть уникальным
Основной файл — myPlugin.pyp , в котором регистрируются перехватчики. Каталог res содержит ресурсы плагина, которые содержат диалоги, описания и строки. Для каждого описания существует файл .res с описанием и файл .h с перечислениями констант, используемых в описании. Каждый диалог содержится в отдельном файле .res. Файл c4d_symbols.h должен содержать перечисления констант, используемых в файлах .res. Затем должен быть каталог с именем strings_xx-XX для каждого языка, который поддерживает плагин, согласно стандарту ISO 639-1 :
Каждый из языковых каталогов должен содержать файл .str для каждого диалога и файл c4d_strings.str для других строк ресурсов. Наконец, в папке плагина можно хранить любые другие файлы, например значки или логотипы. Доступ к ним можно легко получить с помощью __file__ :
dir, file = os.path.split(__file__)
Плагинам нужна специальная структура ресурсов, например, папка res , файл c4d_symbols.h и т. д., даже если эти файлы пусты или не содержат ничего полезного.