Release 2026.4
XPBD Rigid Body Physics System
This release introduces a completely new rigid body simulation system built on Extended Position Based Dynamics (XPBD). This is by far the largest physics overhaul to date, and it affects how PMX model physics, cloth, hair, and character accessories all interact with each other.
What does this mean for you? PMX models with rigid body physics can now be simulated using the new XPBD solver. You can toggle between the old and new systems at any time using the new “Physics Mode” setting. The new system is generally more stable and more accurate, especially in scenes with many overlapping cloth and rigid body elements.
Supported shapes and joints: The XPBD system supports box, capsule, sphere, and cylinder rigid body shapes. Joint types include ball joints, hinge joints, prismatic joints, fixed joints, and soft fixed joints — all with adjustable stiffness and damping. Twist limits, cone limits, and angular compliance are also supported.
Ragdolls: A new ragdoll system has been implemented on top of XPBD joints, with full rigging integration.
Cloth and rigid body interaction: Cloth and hair particles can now collide with XPBD rigid bodies, and the system supports full self-collision with friction. Mesh-based and Signed Distance Field (SDF) colliders are also supported for more accurate surface contact.
Soft body physics: Tetrahedron-based soft body simulation has been added, with strain hardening and prism subdivision for more realistic deformation of soft objects.
Visualization: You can now toggle visual overlays for soft body, cloth, skirt, and chain physics joints and particles to help understand how the simulation is behaving.
Performance Improvements
Several internal systems have been parallelized and accelerated in this release:
- A new Bounding Volume Hierarchy (BVH) with Morton-code sorting speeds up self-collision and mesh collision queries significantly on scenes with many physics particles.
- Collision solving can now run in parallel using Burst-compiled jobs. You can toggle this with the “Parallel Solving” option in the simulation config.
- AABB and Morton-code computation is now fully jobified and Burst-compiled.
- Collision index lists now use deferred parallel jobs, reducing per-frame allocation overhead.
Settings and UI
- The physics mode selector is now clearly labelled “Physics Mode” and “Override Physics” in the settings UI.
- Physics group control (enable/disable and visual toggle) is available when using XPBD mode.
- A new “Load Previous Model” option has been added, which automatically reloads the last used model on startup.
- Simulation settings have been reorganized and renamed for clarity.
Bug Fixes
- Fixed corner and edge contact detection in rigid body collision.
- Fixed collision mask inversion causing incorrect collision group behavior.
- Fixed contact point calculation in rigid body collision jobs.
- Fixed distance constraint in XPBD edge solver.
- Fixed triangle index in bending constraint setup.
- Fixed Lagrange multiplier division-by-zero in joint solving.
- Fixed an issue where the boobs physics collider was not unregistered on cleanup.
- Fixed memory leak in cloth block visualizer disposal.
- Fixed parent bone update after model load.
- Fixed camera Euler rotation handling.
- Fixed FPS setting in simulation config.
- Fixed mesh collider update issue.
- Fixed angle limit unit conversion in joint initialization.
- Fixed serialization warnings across multiple physics components.
- Fixed NaN values in particle velocity integration.