Water Compatibility
Version 1.0 of DWP2 only supports multiple water surfaces when used with Unreal Water plugin.
Flat Water
Any flat water system can be used with DWP2, even a simple StaticMesh or just an empty Actor. Performance-wise this is the least CPU-intensive way to use DWP2 since there are no water height queries that otherwise have to be run each frame with wavy water systems.
To use flat water:
- Attach
WaterDataBase
to the Actor. - Assign the reference Actor to the
WaterDataBase
so the script knows at which level the water is.
If the position of the reference Actor never changes, there is an option to use the WaterObject
without any WaterData
components. In that case, the Default Water Height
of WaterObject
will be used. Same as for the No Water scenario below.
Unreal Water (4.26+)
Unreal Water is still under heavy development by Unreal and some bugs are present.
Known bugs (affecting DWP2):
- Objects that are touching the water on BeginPlay will (sometimes) not get detected by the water surface, meaning that these objects have to be placed slightly above the water.
Setup
- Set up the Unreal Water scene as you would normally or use the Water demo scene (Content Browser > Water Content).
- Attach
WaterDataUnrealWater
to the actor containingWaterObjectComponent
(s). The rest will be set up automatically.
After entering play mode WaterDataUnrealWater
a Buoyancy
component will be attached to the actor. This is because DWP2 uses the default buoyancy system for detecting the currently active water surface. The Buoyancy
component is otherwise not being used for any physics calculations.
Oceanology
Setup
- Add Oceanology plugin to Unreal.
- Extract
DWP2\Content\Blueprints\Water\BP_OceanologyWaterDataProvider.zip
(navigate to Content Drawer ⇒ Engine ⇒ Plugins ⇒ DWP2 Content ⇒ Blueprints and the right click Water ⇒ Show in Explorer). - Add Oceanology to the scene or open one of the included demo scenes using
Oceanology_Infinite
, e.g. Content Drawer ⇒ OCEANOLOGY 5 Content > Maps > Demonstration > Beaufort_03_Map. - Attach
BP_OceanologyWaterDataProvider
to the actor containingWaterObjectComponent
(s). E.g. BP_Barrel_WaterObject from the DWP2 Content ⇒ Blueprints ⇒ Props. - Remove any buoyancy actor components from the object as they are no longer needed, or any other WaterDataProviders (e.g. Unreal one).
No additional setup is needed. BP_OceanologyWaterDataProvider
will interface between Oceanology_Infinite
and
any WaterObjectComponent
s on the actor.
No Water
WaterObject
can be used with no water of any kind present in the scene.
In that case the Default Water Height
, Default Water Normal
and Default Water Flow
settings of the WaterObject
will be used. The same settings will also be used if the WaterObject
is configured with a WaterData
script but the water in question can not be found. For example, when WaterDataUnrealWater
is used and there is no Unreal water present at the current position.