Version: Unity 6.6 Alpha (6000.6)
LanguageEnglish
  • C#

PhysicsShape.ApplyBuoyancy

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public void ApplyBuoyancy(BuoyancyInput input, float deltaTime);

Parameters

Parameter Description
input The fluid and force configuration. See BuoyancyInput.
deltaTime The simulation step duration in seconds. Used to clamp damping so it cannot overshoot in a single step.

Description

Apply buoyancy, flow and damping forces to this shape based on how it is submerged in a fluid plane. Unlike PhysicsBody.ApplyBuoyancy, only this shape contributes to its owning body's buoyancy - sibling shapes on the same body are left alone. Forces and torques are continuous (not impulses), so this is expected to be called every simulation step. The shape's owning body must be PhysicsBody.BodyType.Dynamic; otherwise a warning is logged and the call is a no-op.


Declaration

public static void ApplyBuoyancy(BuoyancyInput input, ReadOnlySpan<PhysicsShape> shapes, float deltaTime);

Parameters

Parameter Description
input The fluid and force configuration. See BuoyancyInput.
shapes The shapes that buoyancy should be applied to.
deltaTime The simulation step duration in seconds. Used to clamp damping so it cannot overshoot in a single step.

Description

Apply buoyancy, flow and damping forces to every shape in based on how each is submerged in a fluid plane. The same BuoyancyInput is applied to all listed shapes. Each shape's owning body must be PhysicsBody.BodyType.Dynamic; shapes on non-dynamic or invalid bodies log a warning and are skipped. Per-body sleep/wake decisions and damping clamps aggregate only across the listed shapes for each body, so siblings not in contribute nothing - this is the difference from PhysicsBody.ApplyBuoyancy, which always processes every shape on each listed body. Forces and torques are continuous (not impulses), so this is expected to be called every simulation step.