Changelog
1.2.48
- Use swing-twist decomposition to fix undesirable rotational drift when twist propagation is enabled.
- Minimum supported Unity version bumped to 2022.3.
1.2.47
- Add
BoingBehavior.HandleTeleport()andBoingBones.HandleTeleport()to handle teleportation of objects. Call them after teleporting objects to prevent sudden jumps in the bouncy effect. - Fix materials that sample reactor fields not rendering in edit mode under HDRP in Unity 6.
1.2.46
- Add stock URP and HDRP shaders and materials built using shader graphs.
- Null checks when rebooting and rescanning bone chains.
1.2.45
- Fix only one reactor field working when multiple are active.
- Fix float-spring rest condition.
1.2.44
- Revert an incorrect and unnecessary speculative "fix" for animation blend not being respected by rotational effects.
1.2.43
- Remove duplicate property sliders in the shared-params editor UI.
- Replace usage of the array version of
Mathf.Min/Mathf.MaxwithVectorUtil.MinComponent/MaxComponentto remove garbage allocation.
1.2.42
- Add options to lock rotational effects along specific axes (in either global or local space).
1.2.41
- Add assembly definitions.
1.2.40
- Fix null reference exception in
BoingBones.Rebootwhen instantiated at specific timings. - Fix missing
overridekeywords onBoingEffector.OnEnable/OnDisable.
1.2.39
- Fix invalid results pulled for objects not executed that frame (e.g. from late enabling or instantiation).
- Fix unnecessary execution of disabled objects.
- Fix incorrect rotation computation introduced in the previous update to respect animation blend.
1.2.38
- Fix animation blend not respected by rotational effects.
- Remove garbage created by
VectorUtil.MinComponentandVectorUtil.MaxComponent.
1.2.37
- Disable a broken attempt at altering
BoingBone.TwistPropagationto match default values on older versions. Unity always callsBoingBase.OnAfterDeserializewith a revision of 0 the first time, which made the migration unreliable.
1.2.36
- Fix incorrect
FixedUpdateimplementation.FixedUpdatenow updates with the rest of the game'sFixedUpdateas expected. - Consolidate update mode and update timing into three update modes:
FixedUpdate,Early Update, andLate Update(default).- Note: projects using older Boing Kit versions will need to re-adjust this property after updating.
- Remove additional calls to
GC.Alloc.
1.2.35
- Fix Boing behaviors and reactors with non-unit scales being rebooted to unit scales.
1.2.34
- Add scale effects to Boing behaviors (off by default).
- Fix changes to bone scales not being picked up by the Boing Bones component.
- Fix null reference exceptions on the effector parameter list.
1.2.33
- Add
Twist Propagationproperty to the Boing Bones component (defaulted totruefor new creations;falsefor older creations, for backward compatibility). - Version tracking.
1.2.32
- Fix missing rotation propagation down bone chains.
1.2.31
- Smarter chain-rescan condition checks that take hierarchy changes into account.
1.2.30
- Fix false abortion of run-time chain rescan.
- Fix mismatched delta time used for applying gravity to bones.
1.2.29
- Fix garbage collection caused by
Aabb.FromPoints. - Fix garbage collection caused by
VectorUtil.ComponentWiseMult.
1.2.28
- Fix garbage collection caused by
Bits32.IsBitSet.
1.2.27
- Restore update timing. (Unity should really fix the timing of their sprite framework's transform read — it should happen after
LateUpdate(), not afterUpdate().) - Fix one-frame-off error on non-loose root bones.
1.2.26
- Fix the reactor field compute shader for DirectX.
- Fix time dependence of effector accumulation.
1.2.25
- Fix Inspector header text color in the dark theme.
1.2.24
- Remove the update-timing option — it was a crutch that introduced too much code complexity and a performance hit, all to accommodate issues in other external systems that improperly pull transform data too early for rendering.
- Fix jitter in fixed-update mode.
1.2.23
- Add a shader subgraph, which can be used to create URP and HDRP shader graphs that sample reactor fields.
1.2.22
- Fix Boing Bones jitter in builds.
1.2.21
- Fix Boing Bones not restoring to original bone positions when disabled.
- Fix objects being reset to the identity transform on synchronous scene reload.
1.2.20
- Fix exception when adding the Boing Bones component.
- Fix bone exclusion from the Boing Bones component.
1.2.19
- Fix Boing behaviors and reactors having their rotation permanently changed without properly restoring when outside influence is gone.
1.2.18
- Fix editor errors when editing Boing reactor fields in the Inspector.
- Fix inability to move objects with Boing behaviors in the editor under play mode.
1.2.17
- Use script execution order instead of camera-based events to apply and restore transforms. If this breaks interaction between Boing Kit and other procedural animation scripts, simply re-adjust their script execution order. Typically, Boing Kit's post-update pump needs to be last in the execution order list and the pre-update pump needs to be first.
- Add update timing (Early vs Late) to Boing behaviors, Boing reactors, Boing reactor field CPU samplers, and Boing Bones. This option dictates when to apply transforms for rendering. Late is the original default, applying transforms at the end of
LateUpdate. Early applies transforms at the end ofUpdate, which accommodates scripts that unexpectedly pull transforms for rendering betweenUpdateandLateUpdate— such as Unity's skinned sprite renderer in certain versions.
1.2.16
- Add update mode (
UpdatevsFixedUpdate) to Boing behaviors and Boing reactors. Use a matching update mode to other game logic to avoid jitter. - Add options to lock translational effects along specific axes (in either global or local space).
1.2.15
- Fix issues with gravity in fixed-update mode.
1.2.14
- Add update mode (
UpdatevsFixedUpdate) to Boing Bones. Use a matching update mode to other game logic to avoid jitter. - Fix Boing Bones issues with switching and reloading scenes.
- Fix bone transform drift over prolonged periods.
1.2.13
- Fix bones drifting further apart over time.
1.2.12
- Fix issues with multiple cameras in-game and multiple views in the editor.
- Add README files with a new overview, quick-start guide, and instructions for setting up effects demonstrated in some examples.
1.2.11
- Fix namespace conflicts with the Oculus SDK in examples.
1.2.10
- Fix bad child rotation under bones with multiple children.
1.2.9
- Use a globally shared dummy collider for all Boing Bones.
1.2.8
- Fix crash when exceeding the initial effector count limit.
1.2.7
- Fix profiler error messages.
1.2.6
- Fix for multiple cameras.
- Note: Due to technical limitations, effects appear in only one active Edit or Game view under Play Mode in the Unity editor (whichever gets rendered first). Effects show up normally on all cameras in built games.
1.2.5
- SRP support (including LWRP and HDRP) for Unity 2019.1 or newer.
- Note: Materials in the examples are still targeted for the built-in render pipeline. If using LWRP or HDRP, they need to be upgraded via Edit > Render Pipeline. The example materials used alongside the reactor field's compute shader are modified from Unity's standard materials and cannot be automatically upgraded — try the examples under the built-in pipeline first.
1.2.4
- Dynamic bouncy bones.
1.1.3
- Reactor field propagation.
1.0.2
- Registry callbacks.
1.0.1
- Fix for the custom shader example.
1.0.0
- Initial release.