bpy.ops.armature.shortest_path_pick
是Blender中一个用于选择骨骼关节的操作。该操作通过最短路径算法从骨架的一部分到另一部分计算出路径,并沿路径选择骨骼。
该操作常用于动画制作中,用于选择特定区域内的骨骼进行动画调整。
bone_tab
:类型为 Bone ,选择一个骨骼将会发起查找最短路径的起点。
dist
:类型为布尔值,指定计算路径时是否考虑骨骼之间的实际距离。设置为 True
时,计算路径时会考虑到骨骼之间的距离;设置为 False
时,计算路径时只会考虑骨骼之间的拓扑关系,即有连接的骨骼之间的距离都被视为 1 。
threshold
:类型为整数,指定筛选路径时所允许的最大阈值。如果阈值为 1,则只会选择紧贴骨骼离起点路径最短的骨骼。如果阈值为 2,则骨骼需要通过 2 个中间骨骼才能被选择。
mode
:类型为枚举类型 ('SELECT', 'DESELECT', 'TOGGLE')
,指定选择模式。如果模式为 'SELECT',则只选取计算出的路径上的骨骼;如果模式为 'DESELECT',则只反选计算出的路径上的骨骼;如果模式为 'TOGGLE',则计算出的路径上的骨骼将被反选。
该操作没有返回值。
选择骨骼的最短路径,并将路径上的骨骼反选:
import bpy
# 选择一个骨骼作为路径的起点
bone1 = bpy.context.object.pose.bones["Bone"]
# 计算路径并反选路径上的骨骼
bpy.ops.armature.shortest_path_pick(bone_tab=bone1, mode='DESELECT')
该操作不会引发任何异常。