Repository navigation
v0.4.0
[0.4.0] - 2026-07-05
Changed
- MMD transform solver optimization pass, behaviour-preserving (physics bakes verified bit-exact against reference clips).
BoneSolverDatais split into a read-onlyBoneSolverConfigand a mutableBoneSolverState(hot/cold), and the Burst solver reads/writes elements by reference instead of copying full structs. Redundant work removed from the hot path:float4x4.TRSwith unit scale replaced by the rotation/translation constructor, constraint-target loads hoisted into the constrained branch, and dead IK locals deleted. - Bone transform sampling and flushing, and rigid-body transform flushing, now run as Burst
IJobParallelForTransformjobs over cachedTransformAccessArrays, replacing per-bone managedTransformcalls. The per-frame managed mirror copy (MMDBoneTransform.runtimeData) is gone; external pose resets are signalled through asolverResetPendingflag instead. - Physics stepping memoizes bone world matrices within a step and iterates precomputed simulated/kinetic rigid-body index lists instead of re-filtering and re-sorting them every step.
- Play-mode GPU SDEF skinning is now zero-GC per frame. The skinner swaps in the same pass-through mesh the CPU path uses and writes skinned vertices into its vertex buffer through a compute command buffer encoded once at initialization, instead of re-acquiring the renderer's ping-ponged output buffer (and re-encoding) every frame; Unity's own skinning consumes the pass-through mesh, keeping motion vectors correct. Edit mode keeps the previous write-to-renderer-output behaviour. Bone skinning matrices and quaternions are computed by a single parallel Burst transform job shared by the GPU and CPU paths.
- The VMD Clip Converter window now saves generated
.animfiles with text serialization.
Added
MMDSDEFSkinner.NotifyRigChanged()— call before re-rigging a skinner's renderer (changingbones/rootBone) so cached bone accessors and GPU resources are rebuilt on the next dispatch.
Unity Intergration
Download package through Package Manager ▸ + ▸ Install package from git URL...
Fill the URL https://github.com/CandidumGames/UnityMMDTools.git#0.4.0