Skip to content

Wave Buoyancy

WaveBuoyancy moves Rigidbody objects using float points. Each float point samples the water and applies force at its position.

Setup

  1. Add Rigidbody to the floating object root.
  2. Add WaveBuoyancy to the same root.
  3. Assign a WaveSurface.
  4. Add child objects at the intended waterline.
  5. Add WaveFloatPoint to each child.
  6. Use Auto Assign Float Points.

Fields

Field Description
Surface The water surface to sample.
Float Points Child transforms that apply buoyancy force.
Point Radius Extra depth tolerance around each point.
Buoyancy Strength Main upward force multiplier.
Max Point Force Maximum force per point.
Water Drag Velocity damping applied while points are underwater.
Water Angular Drag Rigidbody angular damping while submerged.
Height Smoothing Smooths sampled water height per float point.
Normal Smoothing Smooths sampled water normals for softer roll and pitch.
Surface Normal Influence How much force direction follows the wave normal.
Upright Stability Torque that keeps the object aligned to the averaged water normal.
Upright Damping Angular damping applied to the stability torque.
Draw Debug Draws water sample lines for float points.

Wave Float Point

WaveFloatPoint is a small marker component. It has:

Field Description
Buoyancy Multiplier Per-point force multiplier. Useful for heavier bows, sterns, or asymmetric props.

Good Starting Values

Buoyancy Strength: 2 - 6
Point Radius: 0.3 - 1.0
Max Point Force: 40 - 200
Water Drag: 0.5 - 1.5
Water Angular Drag: 0.5 - 3
Height Smoothing: 0.05 - 0.35
Normal Smoothing: 0.1 - 0.5