unreal.WaterBody

class unreal.WaterBody(outer=None, name='None')

Bases: unreal.Actor

Remove Blueprintable:

C++ Source:

  • Plugin: Water

  • Module: Water

  • File: WaterBodyActor.h

Editor Properties: (see get_editor_property/set_editor_property)

  • actor_guid (Guid): [Read-Only] The GUID for this actor.

  • affects_landscape (bool): [Read-Write] If enabled, landscape will be deformed based on this water body placed on top of it and landscape height will be considered when determining water depth at runtime

  • allow_tick_before_begin_play (bool): [Read-Write] Whether we allow this Actor to tick before it receives the BeginPlay event. Normally we don’t tick actors until after BeginPlay; this setting allows this behavior to be overridden. This Actor must be able to tick for this setting to be relevant.

  • always_relevant (bool): [Read-Write] Always relevant for network (overrides bOnlyRelevantToOwner).

  • auto_destroy_when_finished (bool): [Read-Write] If true then destroy self when “finished”, meaning all relevant components report that they are done and no timelines or timers are in flight.

  • auto_receive_input (AutoReceiveInput): [Read-Write] Automatically registers this actor to receive input from a player.

  • block_input (bool): [Read-Write] If true, all input on the stack below this actor will not be considered

  • can_affect_navigation (bool): [Read-Write] Can Affect Navigation

  • can_be_damaged (bool): [Read-Write] Whether this actor can take damage. Must be true for damage events (e.g. ReceiveDamage()) to be called. https://www.unrealengine.com/blog/damage-in-ue4: TakeDamage(), ReceiveDamage():

  • can_be_in_cluster (bool): [Read-Write] If true, this actor can be put inside of a GC Cluster to improve Garbage Collection performance

  • collision_profile_name (Name): [Read-Write] Collision Profile Name

  • curve_settings (WaterCurveSettings): [Read-Write] Curve Settings

  • custom_time_dilation (float): [Read-Write] Allow each actor to run at a different time speed. The DeltaTime for a frame is multiplied by the global TimeDilation (in WorldSettings) and this CustomTimeDilation for this actor’s tick.

  • default_update_overlaps_method_during_level_streaming (ActorUpdateOverlapsMethod): [Read-Only] Default value taken from config file for this class when ‘UseConfigDefault’ is chosen for ‘UpdateOverlapsMethodDuringLevelStreaming’. This allows a default to be chosen per class in the matching config. For example, for Actor it could be specified in DefaultEngine.ini as:

    [/Script/Engine.Actor] DefaultUpdateOverlapsMethodDuringLevelStreaming = OnlyUpdateMovable

    Another subclass could set their default to something different, such as:

    [/Script/Engine.BlockingVolume] DefaultUpdateOverlapsMethodDuringLevelStreaming = NeverUpdate UpdateOverlapsMethodDuringLevelStreaming:

  • enable_auto_lod_generation (bool): [Read-Write] If true, and if World setting has bEnableHierarchicalLOD equal to true, then it will generate LODActor from groups of clustered Actor

  • exclusion_volumes (Array(WaterBodyExclusionVolume)): [Read-Write] Exclusion Volumes

  • fill_collision_under_water_bodies_for_navmesh (bool): [Read-Write] Prevent navmesh generation under the water geometry

  • find_camera_component_when_view_target (bool): [Read-Write] If true, this actor should search for an owned camera component to view through when used as a view target.

  • generate_collisions (bool): [Read-Write] If true, one or more collision components associated with this water will be generated. Otherwise, this water body will only affect visuals.

  • generate_overlap_events_during_level_streaming (bool): [Read-Write] If true, this actor will generate overlap Begin/End events when spawned as part of level streaming, which includes initial level load. You might enable this is in the case where a streaming level loads around an actor and you want Begin/End overlap events to trigger. UpdateOverlapsMethodDuringLevelStreaming:

  • hidden (bool): [Read-Write] Allows us to only see this Actor in the Editor, and not in the actual game. SetActorHiddenInGame():

  • ignores_origin_shifting (bool): [Read-Write] Whether this actor should not be affected by world origin shifting.

  • initial_life_span (float): [Read-Write] How long this Actor lives before dying, 0=forever. Note this is the INITIAL value and should not be modified once play has begun.

  • input_priority (int32): [Read-Write] The priority of this input component when pushed in to the stack.

  • instigator (Pawn): [Read-Write] Pawn responsible for damage and other gameplay events caused by this actor.

  • is_editor_only_actor (bool): [Read-Write] Whether this actor is editor-only. Use with care, as if this actor is referenced by anything else that reference will be NULL in cooked builds

  • islands (Array(WaterBodyIsland)): [Read-Write] Islands in this water body

  • layer_weightmap_settings (Map(Name, WaterBodyWeightmapSettings)): [Read-Write] Layer Weightmap Settings

  • max_wave_height_offset (float): [Read-Write] Offset added to the automatically calculated max wave height bounds. Use this in case the automatically calculated max height bounds don’t match your waves. This can happen if the water surface is manually altered through World Position Offset or other means.

  • min_net_update_frequency (float): [Read-Write] Used to determine what rate to throttle down to when replicated properties are changing infrequently

  • net_cull_distance_squared (float): [Read-Write] Square of the max distance from the client’s viewpoint that this actor is relevant and will be replicated.

  • net_dormancy (NetDormancy): [Read-Write] Dormancy setting for actor to take itself off of the replication list without being destroyed on clients.

  • net_load_on_client (bool): [Read-Write] This actor will be loaded on network clients during map load

  • net_priority (float): [Read-Write] Priority for this actor when checking for replication in a low bandwidth or saturated situation, higher priority means it is more likely to replicate

  • net_update_frequency (float): [Read-Write] How often (per second) this actor will be considered for replication, used to determine NetUpdateTime

  • net_use_owner_relevancy (bool): [Read-Write] If actor has valid Owner, call Owner’s IsNetRelevantFor and GetNetPriority

  • on_actor_begin_overlap (ActorBeginOverlapSignature): [Read-Write] Called when another actor begins to overlap this actor, for example a player walking into a trigger. For events when objects have a blocking collision, for example a player hitting a wall, see ‘Hit’ events. Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.:

  • on_actor_end_overlap (ActorEndOverlapSignature): [Read-Write] Called when another actor stops overlapping this actor. Components on both this and the other Actor must have bGenerateOverlapEvents set to true to generate overlap events.:

  • on_actor_hit (ActorHitSignature): [Read-Write] Called when this Actor hits (or is hit by) something solid. This could happen due to things like Character movement, using Set Location with ‘sweep’ enabled, or physics simulation. For events when objects overlap (e.g. walking into a trigger) see the ‘Overlap’ event. For collisions during physics simulation to generate hit events, ‘Simulation Generates Hit Events’ must be enabled.:

  • on_begin_cursor_over (ActorBeginCursorOverSignature): [Read-Write] Called when the mouse cursor is moved over this actor if mouse over events are enabled in the player controller.

  • on_clicked (ActorOnClickedSignature): [Read-Write] Called when the left mouse button is clicked while the mouse is over this actor and click events are enabled in the player controller.

  • on_destroyed (ActorDestroyedSignature): [Read-Write] Event triggered when the actor has been explicitly destroyed.

  • on_end_cursor_over (ActorEndCursorOverSignature): [Read-Write] Called when the mouse cursor is moved off this actor if mouse over events are enabled in the player controller.

  • on_end_play (ActorEndPlaySignature): [Read-Write] Event triggered when the actor is being deleted or removed from a level.

  • on_input_touch_begin (ActorOnInputTouchBeginSignature): [Read-Write] Called when a touch input is received over this actor when touch events are enabled in the player controller.

  • on_input_touch_end (ActorOnInputTouchEndSignature): [Read-Write] Called when a touch input is received over this component when touch events are enabled in the player controller.

  • on_input_touch_enter (ActorBeginTouchOverSignature): [Read-Write] Called when a finger is moved over this actor when touch over events are enabled in the player controller.

  • on_input_touch_leave (ActorEndTouchOverSignature): [Read-Write] Called when a finger is moved off this actor when touch over events are enabled in the player controller.

  • on_released (ActorOnReleasedSignature): [Read-Write] Called when the left mouse button is released while the mouse is over this actor and click events are enabled in the player controller.

  • on_take_any_damage (TakeAnyDamageSignature): [Read-Write] Called when the actor is damaged in any way.

  • on_take_point_damage (TakePointDamageSignature): [Read-Write] Called when the actor is damaged by point damage.

  • on_take_radial_damage (TakeRadialDamageSignature): [Read-Write] Called when the actor is damaged by radial damage.

  • only_relevant_to_owner (bool): [Read-Write] If true, this actor is only relevant to its owner. If this flag is changed during play, all non-owner channels would need to be explicitly closed.

  • optimize_bp_component_data (bool): [Read-Write] Whether to cook additional data to speed up spawn events at runtime for any Blueprint classes based on this Actor. This option may slightly increase memory usage in a cooked build.

  • overlap_material_priority (int32): [Read-Write] Higher number is higher priority. If two water bodies overlap and they don’t have a transition material specified, this will be used to determine which water body to use the material from. Valid range is -8192 to 8191

  • override_water_mesh (bool): [Read-Write] TODO [jonathan.bard] : make sure override water mesh works for all types and remove the bool (WaterMeshOverride is already a pointer

  • physical_material (PhysicalMaterial): [Read-Write] Physical Material

  • pivot_offset (Vector): [Read-Write] Local space pivot offset for the actor, only used in the editor

  • primary_actor_tick (ActorTickFunction): [Read-Write] Primary Actor tick function, which calls TickActor(). Tick functions can be configured to control whether ticking is enabled, at what time during a frame the update occurs, and to set up tick dependencies. https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/FTickFunction/: AddTickPrerequisiteActor(), AddTickPrerequisiteComponent():

  • relevant_for_level_bounds (bool): [Read-Write] If true, this actor’s component’s bounds will be included in the level’s bounding box unless the Actor’s class has overridden IsLevelBoundsRelevant

  • replay_rewindable (bool): [Read-Write] If true, this actor will only be destroyed during scrubbing if the replay is set to a time before the actor existed. Otherwise, RewindForReplay will be called if we detect the actor needs to be reset. Note, this Actor must not be destroyed by gamecode, and RollbackViaDeletion may not be used.

  • replicate_movement (bool): [Read-Write] If true, replicate movement/location related properties. Actor must also be set to replicate. SetReplicates(): https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Replication/:

  • replicated_movement (RepMovement): [Read-Write] Used for replication of our RootComponent’s position and velocity

  • replicates (bool): [Read-Write] If true, this actor will replicate to remote machines SetReplicates():

  • root_component (SceneComponent): [Read-Write] The component that defines the transform (location, rotation, scale) of this Actor in the world, all other components must be attached to this one somehow

  • spawn_collision_handling_method (SpawnActorCollisionHandlingMethod): [Read-Write] Controls how to handle spawning this actor in a situation where it’s colliding with something else. “Default” means AlwaysSpawn here.

  • spline_comp (WaterSplineComponent): [Read-Only] The spline data attached to this water type.

  • sprite_scale (float): [Read-Write] The scale to apply to any billboard components in editor builds (happens in any WITH_EDITOR build, including non-cooked games).

  • tags (Array(Name)): [Read-Write] Array of tags that can be used for grouping and categorizing.

  • target_wave_mask_depth (float): [Read-Write] Water depth at which waves start being attenuated.

  • underwater_post_process_material (MaterialInterface): [Read-Write] Post process material to apply when the camera goes underwater (only available when bGenerateCollisions is true because collisions are needed to detect if it’s under water).

  • underwater_post_process_mid (MaterialInstanceDynamic): [Read-Only] Underwater Post Process MID

  • underwater_post_process_settings (UnderwaterPostProcessSettings): [Read-Write] Post process settings to apply when the camera goes underwater (only available when bGenerateCollisions is true because collisions are needed to detect if it’s under water).

    Note: Underwater post process material is setup using UnderwaterPostProcessMaterial.

  • update_overlaps_method_during_level_streaming (ActorUpdateOverlapsMethod): [Read-Write] Condition for calling UpdateOverlaps() to initialize overlap state when loaded in during level streaming. If set to ‘UseConfigDefault’, the default specified in ini (displayed in ‘DefaultUpdateOverlapsMethodDuringLevelStreaming’) will be used. If overlaps are not initialized, this actor and attached components will not have an initial state of what objects are touching it, and overlap events may only come in once one of those objects update overlaps themselves (for example when moving). However if an object touching it does initialize state, both objects will know about their touching state with each other. This can be a potentially large performance savings during level loading and streaming, and is safe if the object and others initially overlapping it do not need the overlap state because they will not trigger overlap notifications.

    Note that if ‘bGenerateOverlapEventsDuringLevelStreaming’ is true, overlaps are always updated in this case, but that flag determines whether the Begin/End overlap events are triggered. bGenerateOverlapEventsDuringLevelStreaming, DefaultUpdateOverlapsMethodDuringLevelStreaming, GetUpdateOverlapsMethodDuringLevelStreaming():

  • water_body_index (int32): [Read-Only] Unique Id for accessing (wave, … ) data in GPU buffers

  • water_body_type (WaterBodyType): [Read-Write] Remove and always use GetWaterBodyType():

  • water_heightmap_settings (WaterBodyHeightmapSettings): [Read-Write] Water Heightmap Settings

  • water_material (MaterialInterface): [Read-Write] Water Material

  • water_mesh_override (StaticMesh): [Read-Write] Water Mesh Override

  • water_mid (MaterialInstanceDynamic): [Read-Only] Water MID

  • water_nav_area_class (type(Class)): [Read-Write] The navigation area class that will be generated on nav mesh

  • water_waves (WaterWavesBase): [Read-Write] Water Waves

property affects_landscape

[Read-Write] If enabled, landscape will be deformed based on this water body placed on top of it and landscape height will be considered when determining water depth at runtime

Type

(bool)

property can_affect_navigation

[Read-Write] Can Affect Navigation

Type

(bool)

property collision_profile_name

[Read-Only] Collision Profile Name

Type

(Name)

property curve_settings

[Read-Write] Curve Settings

Type

(WaterCurveSettings)

property generate_collisions

[Read-Only] If true, one or more collision components associated with this water will be generated. Otherwise, this water body will only affect visuals.

Type

(bool)

get_exclusion_volumes()

Gets the exclusion volume that influence this water body

Returns

Return type

Array(WaterBodyExclusionVolume)

get_islands()

Gets the islands that influence this water body

Returns

Return type

Array(WaterBodyIsland)

get_max_wave_height()float

Returns the max height that this water body’s waves can hit. Can be called regardless of whether the water body supports waves or not

Returns

Return type

float

get_river_to_lake_transition_material_instance()MaterialInstanceDynamic

Returns River to lake transition material instance (For internal use. Please use AWaterBodyRiver instead.)

Returns

Return type

MaterialInstanceDynamic

get_river_to_ocean_transition_material_instance()MaterialInstanceDynamic

Returns River to ocean transition material instance (For internal use. Please use AWaterBodyRiver instead.)

Returns

Return type

MaterialInstanceDynamic

get_underwater_post_process_material_instance()MaterialInstanceDynamic

Returns under water post process MID

Returns

Return type

MaterialInstanceDynamic

get_water_material()MaterialInterface

Returns water material

Returns

Return type

MaterialInterface

get_water_material_instance()MaterialInstanceDynamic

Returns water MID

Returns

Return type

MaterialInstanceDynamic

get_water_spline()WaterSplineComponent

Returns water spline component

Returns

Return type

WaterSplineComponent

property layer_weightmap_settings

[Read-Write] Layer Weightmap Settings

Type

(Map(Name, WaterBodyWeightmapSettings))

on_water_body_changed(shape_or_position_changed, weightmap_settings_changed=False)None

On Water Body Changed

Parameters
  • shape_or_position_changed (bool) –

  • weightmap_settings_changed (bool) –

property overlap_material_priority

[Read-Only] Higher number is higher priority. If two water bodies overlap and they don’t have a transition material specified, this will be used to determine which water body to use the material from. Valid range is -8192 to 8191

Type

(int32)

property override_water_mesh

make sure override water mesh works for all types and remove the bool (WaterMeshOverride is already a pointer

Type

(bool)

Type

[Read-Only] TODO [jonathan.bard]

set_water_waves(water_waves)None

Set Water Waves

Parameters

water_waves (WaterWavesBase) –

property spline_comp

[Read-Only] The spline data attached to this water type.

Type

(WaterSplineComponent)

property target_wave_mask_depth

[Read-Write] Water depth at which waves start being attenuated.

Type

(float)

property underwater_post_process_material

[Read-Only] Post process material to apply when the camera goes underwater (only available when bGenerateCollisions is true because collisions are needed to detect if it’s under water).

Type

(MaterialInterface)

property underwater_post_process_settings

[Read-Write] Post process settings to apply when the camera goes underwater (only available when bGenerateCollisions is true because collisions are needed to detect if it’s under water). Note: Underwater post process material is setup using UnderwaterPostProcessMaterial.

Type

(UnderwaterPostProcessSettings)

property water_body_index

[Read-Only] Unique Id for accessing (wave, … ) data in GPU buffers

Type

(int32)

property water_body_type

[Read-Write] Remove and always use GetWaterBodyType():

Type

(WaterBodyType)

property water_heightmap_settings

[Read-Write] Water Heightmap Settings

Type

(WaterBodyHeightmapSettings)

property water_material

[Read-Only] Water Material

Type

(MaterialInterface)

property water_mesh_override

[Read-Only] Water Mesh Override

Type

(StaticMesh)

property water_nav_area_class

[Read-Write] The navigation area class that will be generated on nav mesh

Type

(type(Class))

property water_waves

[Read-Only] Water Waves

Type

(WaterWavesBase)