Login / Register

Boing Kit: Dynamic Bouncy Bones, Grass, and More

Dynamic Movement and Teleportation Logic

Boing Kit is designed to integrate bouncy visual effects into Unity projects by focusing on procedural movement for bones, grass, and other environmental elements. A primary challenge in physics-based or bouncy effects is handling sudden movements, such as character teleportation. To address this, the developer has implemented specific methods within the BoingBehavior and BoingBones classes. By calling HandleTeleport() after an object is moved instantly across a scene, developers can prevent the sudden, erratic jumps in bouncy effects that typically occur when a physics-based system attempts to catch up to a new coordinate.

Bone Chains and Rotational Constraints

The kit provides dedicated components for managing bone-based animation, specifically through the BoingBones system. This implementation allows for reactive movement that respects existing animation data. Recent updates have focused on ensuring that animation blending is correctly respected by rotational effects, preventing conflicts between baked animations and procedural bounce. For more granular control, the tool includes options to lock rotational effects along specific axes. These constraints can be applied in either global or local space, allowing for specialized movement patterns where bounce is only desired on a single axis, such as a vertical bobbing motion or a side-to-side sway.

To maintain stability, the system includes rebooting and rescanning logic for bone chains. The BoingBones.Reboot function handles cases where objects are instantiated at specific timings, ensuring that null reference exceptions are avoided during the initialization of complex bone hierarchies. Additionally, the inclusion of assembly definitions streamlines the compilation process within the Unity Editor.

Environmental Interaction via Reactor Fields

For environmental effects like grass or interactive foliage, the toolkit utilizes reactor fields. These fields allow multiple interactable objects to influence the bouncy behavior of a mesh simultaneously. Technical refinements have addressed previous limitations where only a single reactor field would function at one time; the current iteration supports multiple active fields, ensuring that various effectors in a scene can contribute to the final deformation. In the High Definition Render Pipeline (HDRP), materials that sample these reactor fields are specifically tuned to render correctly in edit mode, even when utilizing newer versions like Unity 6.

Shader Integration and Pipeline Compatibility

Boing Kit maintains compatibility across the Built-in, Universal Render Pipeline (URP), and HDRP workflows. For those working within URP and HDRP, the kit includes stock shaders and materials constructed using Unity’s Shader Graph. This approach allows for easier customization of how the bouncy effects interact with light and surface properties. The asset count totals 292 items, which include these pre-configured materials and the core logic components needed to drive the bouncy VFX.

Performance Optimizations and Resource Management

Performance is a significant focus in the kit’s development, particularly regarding memory management. The developer replaced standard Mathf.Min and Mathf.Max array-based calls with VectorUtil.MinComponent and VectorUtil.MaxComponent. This change was specifically implemented to remove garbage allocation, which can lead to performance stutters during runtime. Furthermore, the system is designed to skip the execution of disabled objects, ensuring that CPU cycles are not wasted on elements that are not currently visible or active in the scene.

When updating the tool, it is important to note that changes to the folder structure—including moved and renamed files—can disrupt existing builds. The recommended workflow for implementing updates is to remove the existing folder entirely before importing the latest package to ensure all file references are correctly mapped. This process prevents conflicts between legacy code and new optimizations like the improved float spring rest conditions and the refined effector logic found in BoingEffector.OnEnable and OnDisable overrides.

Asset Gallery


Boing Kit: Dynamic Bouncy Bones, Grass, and More Prev Blood-Damage Effect
Boing Kit: Dynamic Bouncy Bones, Grass, and More Next Crest Water 4 URP (Ocean, Rivers & Lakes)

Leave a Reply