Blender Physik Nodes Workflow Skill (Blender 5.2.1 LTS)
Dieser Skill ist auf Blender 5.2.1 LTS (verifizierter Build 9e2066aef7ef) ausgelegt und bietet einen interaktiven 3D-Viewport N-Panel-Arbeitsbereich (Physics Nodes) sowie einen isolierten externen Batch-CLI-Einstiegspunkt <REPO_ROOT>/tools/physics_workflow_cli_v1/cli.py.
[!IMPORTANT] Nebenläufigkeit und Sicherheitsgrenzen: Das Physik-Workflow-Plugin und die CLI arbeiten völlig unabhängig von
tools/blenderctl/,tools/geometry_nodes_workflow_addon/undtools/uv_workflow_addon/. Das unbefugte Überschreiben von Quell-.blend-Dateien sowie das Überspringen der SHA-256-Prüfung und der Überprüfung auf abgelaufenen Festplattencache sind strengstens untersagt.
I. Kern-Node-Architektur: Wrapper + Core + 12 bearbeitbare Subgruppen
- Wrapper-Ebene (
PNW_Wrapper_<obj>_<mod>) : Äußerer Node-Gruppen, der direkt am Modifier montiert ist und eine einheitliche Schnittstelle für den Physik-Arbeitsbereich und die CLI bereitstellt. Benutzerdefinierte Nodes (z. B.User_Added_Realize) und neue Schnittstellen (z. B.User Custom Scale), die im Geometry Nodes Editor eingefügt werden, bleiben bei nachfolgendenupdate/parameters/bake-Operationen vollständig erhalten. - Core-Ebene (
PNW_Core_<obj>_<mod>) : Enthält 1 root-levelGeometryNodeSimulationInput/Output+ ein abschließendesGeometryNodeBake+ interneGeometryNodeRepeatInput/Output(Substeps = 1..8,dt_sub = Delta Time / Substeps), um eine exakte 1:1-Bindung einer einzelnenbake_idan den Festplattencache zu gewährleisten. Automatische Umwandlung von Welt-Ankerpunkten in lokalen Raum (Anchor - self_info.Location), Welt-Boden in lokaleGround Zund Materialweitergabe über generierte Geometrie (GeometryNodeSetMaterial). - 12 modulare, zustandslose Subgruppen (
PN_*) :- Kraftfelder:
PN_Force_GravityDrag,PN_Force_WindTurbulence - Kollision:
PN_Collide_GroundPlane,PN_Collide_MeshSurface(mit Distanzschwellen-Unterdrückung zur Verhinderung unendlicher Ausdehnung außerhalb des Netzes) - Constraints:
PN_Constraint_PinAnchor,PN_Constraint_DistanceChain - Schrittweise Solver:
PN_Solver_RigidScatterStep,PN_Solver_ClothRopeStep(basiert auf relativer Ruheverschiebungp_pred - pnw_rest_pos; PBD-Diffusion und Geschwindigkeitskopplung, keine Schrumpfung oder Kollaps),PN_Solver_FluidParticleStep - Nachbearbeitung:
PN_Post_InstanceRigid,PN_Post_FluidSDFMesh(PointsToSDFGrid -> GridToMesh),PN_Post_SmokeVolume(PointsToVolume + VolumeToMesh)
- Kraftfelder:
II. Unterstützte drei Domänen, 6 Voreinstellungen und explizite Brücken
- Contract-ID :
BLENDER_PHYSICS_WORKFLOW_CONTRACT_V1(schema_version: 1.0) - Drei Domänen und Voreinstellungen (
PRESET_DEFINITIONS) :rigid_scatter:rigid_drop_pack(Multi-Instanz-Streuung und Kollision mit Ablage),rigid_chain_pendulum(Anker-Distanz-Constraint-Kettenpendel)cloth_rope:cloth_banner_wind(automatische obere Kantenverankerung für windgeblasenen Stoff),rope_catenary_swing(unterstütztCURVE-Ausgabe zur automatischen Netzumwandlung)fluid_emission:fluid_fountain_sdf(Partikelemission + Kollision + SDF-Oberflächennetz),smoke_plume_volume(Auftrieb + Windwirbel + Volumen-/Vorschaunetz)
- Solver Bridge Modes :
GN_NATIVE(standardmäßig reiner Node-Kern),XPBD_ASSET_BRIDGE(Brücke zu Blender 5.2 integrierterCloth Dynamics (Experimental)),BULLET_BRIDGE(Brücke zuRigidBodyWorld),MANTAFLOW_BRIDGE(Brücke zum nativenFLUID-Modifier). - Exportformate :
NONE,STATIC_MESH,ALEMBIC(.abc-Animationssequenzen),OPENVDB(Rückmeldung/Volumen-Adapter-Export).
III. Interaktive N-Panel-Arbeitsbereichsnutzung
- Panel-Position :
3D Viewport -> N-Panel -> Physics Nodes(VIEW_3D_PT_physics_nodes_workbench) - Kern-Operatoren :
pnw.load_preset_defaults: Laden der Standardparameter einer Voreinstellungpnw.build_workflow: Aufbau der drei Node-Ebenen und Schreiben des Anfangszustandspnw.update_parameters: Aktualisierung des Workflows/der Parameter unter Beibehaltung von Benutzer-Nodes und externen Verbindungen; bei Änderung des Parameter-Hash automatische Ungültigmachung des alten Cachespnw.bake_cache/pnw.invalidate_cache: Verwaltung vonDISK-Bakes (kurzer Pfad< 240Zeichen, um WindowsMAX_PATH-Grenze zu vermeiden)pnw.inspect_workflow: Zählen von Entitäten, Verschiebung, Bodenberührung und Cache-Konsistenz
IV. CLI-Overlay-Automatisierung (physics_workflow_cli_v1)
Einstiegspunkt: <REPO_ROOT>/tools/physics_workflow_cli_v1/cli.py. Stellen Sie vor der Ausführung mit der ausführbaren Blender-Datei die Umgebungsvariable BLENDER_PATH (oder BLENDERCTL_BLENDER) ein.
1. Contract und Voreinstellungen abfragen
python tools/physics_workflow_cli_v1/cli.py describe
2. Einzelszenario-Build, Bake, Kaltwiedereröffnungs-Verifikation und Alembic-Export (run)
$env:BLENDER_PATH = "<path-to-blender-5.2.1>"
python tools/physics_workflow_cli_v1/cli.py run `
--request "path/to/request.json" `
--jobs-dir "./jobs/my-job" `
--timeout-seconds 300
Minimales request.json-Beispiel:
{
"schema_version": "1.0",
"operation": "build",
"preset_id": "fluid_fountain_sdf",
"target_object": "Fountain_Emitter",
"collider_object": "Dome_Deflector",
"input_blend": "./input/scene_in.blend",
"output_blend": "./output/scene_baked.blend",
"bake": true,
"verify_cold_reopen": true,
"export_format": "ALEMBIC",
"export_path": "./output/fluid.abc",
"parameters": {
"substeps": 3,
"frame_start": 1,
"frame_end": 120,
"emit_rate": 16,
"emit_speed": 1.85,
"particle_radius": 0.15,
"sdf_voxel_size": 0.07,
"contact_thickness": 0.15,
"ground_z": 0.0
}
}
3. Parameterscan (sweep) und Stapelverarbeitung (batch)
sweep: Injektion einer Liste von Parametervarianten in eine Basisanfrage, paralleler Vergleich von Verschiebung/Geschwindigkeit/Stabilität.batch: Sequenzielle/isolierte Ausführung mehrerer unabhängiger.blend-Simulationsjobs mit Ausgabe einer zusammenfassenden Rückmeldung.
V. Wichtige Fallstrick-Liste für Blender 5.2.1
- Modifier-Eingabe-Zuweisung : Wertzuweisung muss über
getattr(mod.properties.inputs, identifier).value = valerfolgen (nichtmod[id] = val); Metadaten werden inobj[f"pnw_state_json__{mod.name}"]gespeichert. - Eingabesteckplatz-Eigenschaften von
Nodes:CollectionInfo["Separate Children"],InstanceOnPoints["Pick Instance"],CurveToMesh["Fill Caps"],PointsToVolume["Resolution Mode"],VolumeToMesh["Resolution Mode"]befinden sich alle innode.inputs[...]und nicht als Node-Eigenschaften; der erste Eingabeport vonGeometryNodeSetShadeSmoothheißt"Mesh". - Alembic-Export-Keyword :
bpy.ops.wm.alembic_exportin Blender 5.2.1 hat keinen Parametervisible_objects_only;as_background_job=Falsemuss explizit gesetzt werden, um eine synchrone Festplatten-Ablage zu gewährleisten. - Physik-Lokalkoordinaten und PBD-Schrumpfungsprävention : Die
Simulation Zoneläuft im lokalen Koordinatensystem des Objekts; Ankerpunkte und Boden müssen um die Position desSelf Objectkorrigiert werden; die PBD-Diffusion für Stoff/Seil muss auf die relative Ruheverschiebung(p_pred - pnw_rest_pos)angewendet werden, nicht direkt auf absolute Koordinaten.