Для того, чтобы перейти из глобальной системы координат в локальную систему координат объекта нужно умножить глобальные координаты на инвертированную матрицу объекта:
Для тех, кто хочет разобраться в том, “как устроен Blender”, для написания своих собственных скриптов или аддонов, разработчики предусмотрели очень удобную возможность – просматривать код любого элемента интерфейса в один клик.
Для того, чтобы посмотреть код какого-либо элемента, в отдельном окне Blender откройте текстовый редактор “Text Editor”, затем просто кликните на нужном элементе правой кнопкой мышки и выберете “Edit Source”.
В линейке Blender 2.8x система отмены операций undo/redo (ctrl+z / ctrl+shift+z) была полностью переделана по сравнению с линейкой 2.7x. Одним из результатов такого изменения API является то, что при выполнении операции отмены все объекты в сцене перестраиваются заново – текущий объект уничтожается, а вместо него создается совершенно новый объект. Ссылки, которые указывали на старый объект, до выполнения операции отмены, после нее указывают на невалидный объект с которым больше нельзя работать.
Часто элементы интерфейса, размещаемые в пользовательских панелях, не соответствуют друг другу по размерам, в результате чего общая компоновка панели выглядит не красиво. В качестве наглядного примера создадим пользовательскую панель и разместим на ней кнопку оператора и текстовое поле ввода.
Выровнять размеры кнопки и поля ввода здесь напрашивается само собой.
Когда по нажатию кнопки в кастомном UI вы вызываете оператор и передаете в него нужные параметры, обратите внимание на то, что только указанные явно параметры будут переданы в оператор. Остальные параметры останутся со значениями по умолчанию.
Например, нам нужно вызвать оператор “transform_apply” – применение трансформаций к объекту, указав применить только масштаб.
Иногда для эффективного распределения нагрузки на “железо” бывает нужно запустить рендер из Blender только на определенных видеокартах их нескольких имеющихся.
Для этого можно использовать несложный скрипт, в котором указать номера используемых для рендера устройств.
При работе с геометрией меша может появится необходимость назначить каждому вертексу дополнительные свойства или данные, которые должны записываться в blend-файл при сохранении, и к которым нужно иметь доступ.
Однако попытка назначить вертексам нужные данные стандартным способом, через создание кастомных свойств, оборачивается неудачей. Вместо кастомного свойства для вертекса создается лишь кортеж со ссылкой на тип задаваемого свойства.