Pose-Mode und Weight Paint per Klick wechseln
Um eine Figur in Blender mit einer Armature zu versehen, muss ein Mesh mit dieser verbunden und anschließend der Einfluss jedes Knochens auf jeden Vertexpunkt festgelegt werden. Um die Auswirkungen zu sehen, ist das Umschalten der Modi auf beiden Objekten nötig, was unglaublich mühsam ist. Folgendes Skript erlaubt es, mit einem Klick umzuschalten.
Ausgangssituation ist eine Blender-Szene mit einem Mesh und einer Armature, die miteinander durch Parenting verbunden wurden.
Erzeuge einen Fensterbereich mit Texteditor und lege dort einen neuen Textblock namens ModusUmschalten an.

Kopiere folgenden Code und füge ihn in den neuen Textblock ein:
# gamedev-profi.de - 28.11.2025
# Wechselt per Klick zwischen Weight Paint und Pose Mode.
import bpy
# --- KONSTANTEN: Namen Ihrer Objekte anpassen ---
MESH_NAME = "Kind"
ARMATURE_NAME = "KindArmature"
# --------------------------------------------------
def toggle_weight_pose_mode():
"""Schaltet zwischen Weight Paint und Pose Mode um."""
mesh_obj = bpy.data.objects.get(MESH_NAME)
armature_obj = bpy.data.objects.get(ARMATURE_NAME)
if not mesh_obj or not armature_obj:
print(f"FEHLER: Mesh '{MESH_NAME}' oder Armatur '{ARMATURE_NAME}' nicht gefunden.")
return
# Überprüfen, ob die Armatur aktiv ist UND im Pose Mode
is_in_pose_mode = (bpy.context.view_layer.objects.active == armature_obj) and (armature_obj.mode == 'POSE')
# 1. Fall: Aktueller Zustand ist POSE-MODE -> Wechsel zu WEIGHT-PAINT
if is_in_pose_mode:
print("Wechsle von Pose Mode zu Weight Paint...")
# 1.1 Zurück zum Object Mode
if bpy.context.object and bpy.context.object.mode != 'OBJECT':
bpy.ops.object.mode_set(mode='OBJECT')
# 1.2 Alle Objekte abwählen
bpy.ops.object.select_all(action='DESELECT')
# 1.3 Mesh und Armatur auswählen
mesh_obj.select_set(True)
armature_obj.select_set(True)
# 1.4 Das MESH muss aktiv sein, um darauf Weight Paint auszuführen
bpy.context.view_layer.objects.active = mesh_obj
# 1.5 In den Weight Paint Modus wechseln
bpy.ops.object.mode_set(mode='WEIGHT_PAINT')
# 2. Fall: Aktueller Zustand ist NICHT POSE-MODE (vermutlich Weight Paint oder Object Mode) -> Wechsel zu POSE-MODE
else:
print("Wechsle zu Pose Mode...")
# 2.1 Zurück zum Object Mode
# Dieser Schritt ist ESSENZIELL, um den Weight-Paint-Modus sauber zu verlassen
if bpy.context.object and bpy.context.object.mode != 'OBJECT':
bpy.ops.object.mode_set(mode='OBJECT')
# 2.2 Alle Objekte abwählen
bpy.ops.object.select_all(action='DESELECT')
# 2.3 Nur die Armatur auswählen
armature_obj.select_set(True)
# 2.4 Die ARMATUR MUSS aktiv gesetzt werden
# Nur auf dem aktiven Objekt kann der Modus gewechselt werden
bpy.context.view_layer.objects.active = armature_obj
# 2.5 In den Pose Modus wechseln
bpy.ops.object.mode_set(mode='POSE')
# Skript ausführen
toggle_weight_pose_mode()
Ändere im Code in Zeile 7 und 8 den Namen zum Namen des Meshs und der zugehörigen Armature.
Du kannst jetzt per Klick auf den Play-Button dieses Python-Skript ausführen und so sofort zwischen Pose-Mode und Weight-Paint-Modus umschalten. So ist eine viel schnellere visuelle Kontrolle der Gewichtung durch Ändern der Pose und Durchführen von Korrekturen im Weight-Paint-Modus möglich.
