Wave Buoyancy
WaveBuoyancy moves Rigidbody objects using float points. Each float point samples the water and applies force at its position.
Setup
- Add
Rigidbodyto the floating object root. - Add
WaveBuoyancyto the same root. - Assign a
WaveSurface. - Add child objects at the intended waterline.
- Add
WaveFloatPointto each child. - 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