Python api - rotação selecionada em torno do vértice usando o operador bpy

Aug 31 2020

Quero girar um item selecionado em torno de um vértice específico como este:

 vertex.select=true
 bpy.ops.transform.rotate(value=1)

Esse código basicamente gira no centro da caixa delimitadora. Eu tentei definir o cursor do ponto pivô e definir o cursor manualmente, mas isso não funcionou.

bpy.context.scene.tool_settings.transform_pivot_point = 'CURSOR'
bpy.context.scene.cursor.location = (1,1,1)
    
bpy.ops.transform.rotate(value=1)

O resultado ainda é uma rotação com o eixo no ponto central do objeto.

Estou procurando uma solução simples de nível de script para esse problema.

Respostas

1 mugnozzo Aug 31 2020 at 19:42

O bpy.ops.transform.rotate()gira na origem do objeto.

Você pode fazer bpy.ops.transform.rotate(value=yourValue,center_override=(x,y,z))onde x, y e z são x, y e z do vértice.

Basicamente, o center_override substitui a posição do pivô de rotação.