Попытка инвертировать матрицу преобразования при помощи метода inverted() может привести к ошибке, если, например, на объект, для которого вычисляется исходная матрица оказывает влияние какой-нибудь ограничитель.
В этом случае Blender сгенерирует ошибку вида:
ValueError: Matrix.invert(ed): matrix does not have an inverse
Для того, чтобы избежать появления ошибки, для инвертирования таких матриц нужно использовать метод inverted_safe()
1 2 3 4 |
from mathutils import Matrix transform_matrix = Matrix() transform_matrix.inverted_safe() |