やあ
自分が必要になった時に更新するチートシートなので期待しないでください。
bpy.object
オブジェクトを取得
def get_object(name : str): return bpy.data.objects[name]
特定のオブジェクトを選択/選択解除する
obj = get_object("Cube") # 選択 obj.select_set(True) # 選択解除 obj.select_set(False)
オブジェクトの現在のアクション名を取得
obj = get_object("HumanArmature") print(obj.animation_data.action)
オブジェクトからボーン一覧を取得
obj = get_object("HumanArmature") for elem in obj.pose.bones: print(elem)
オブジェクトの特定のボーン名を変更
obj = get_object("HumanArmature") pre_bone_name = "Arm" pose_bone = obj.pose.bones.get(pre_bone_name) if pose_bone is not None: pose_bone.name = pose_bone.name.replace(pre_bone_name, "LowerArm")
ボーン名を変更し、全アクションのボーン名も変更する
こちらにまとめています。
pto8913.hatenablog.com
オブジェクトの特定のボーンのペアレントを変更する
こちらにまとめています。
pto8913.hatenablog.com
ボーンを揃える
ボーンを追加する
bpy.data
オブジェクトの名前一覧を取得
for elem in bpy.data.objects: print(elem.name)
全アクションを取得
for anim in bpy.data.actions: print(anim)
特定の名前のアクションを削除
anim_name = "Jump"
bpy.data.actions.remove(bpy.data.actions.get(anim_name))
全アクションを削除
全部消えます
for anim_data in bpy.data.actions: bpy.data.actions.remove(anim_data)
全マテリアルを取得
for mat in bpy.data.materials: print(mat)
フェイクユーザーを使用していないマテリアルを削除
for mat in bpy.data.materials: if not mat.id_data.use_fake_user: bpy.data.materials.remove(mat)