unreal.PaperTileMapComponent

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

Bases: unreal.MeshComponent

A component that handles rendering and collision for a single instance of a UPaperTileMap asset.

This component is created when you drag a tile map asset from the content browser into a Blueprint, or contained inside of the actor created when you drag one into the level.

NOTE: This is an early access preview class. While not considered production-ready, it is a step beyond ‘experimental’ and is being provided as a preview of things to come:

  • We will try to provide forward-compatibility for content you create.
  • The classes may change significantly in the future.
  • The code is in an early state and may not meet the desired polish / quality bar.
  • There is probably no documentation or example content yet.
  • They will be promoted out of ‘Early Access’ when they are production ready.

UPrimitiveComponent, UPaperTileMap:

C++ Source:

  • Plugin: Paper2D
  • Module: Paper2D
  • File: PaperTileMapComponent.h

Editor Properties: (see get_editor_property/set_editor_property)

  • absolute_location (bool): [Read-Write] If RelativeLocation should be considered relative to the world, rather than the parent

  • absolute_rotation (bool): [Read-Write] If RelativeRotation should be considered relative to the world, rather than the parent

  • absolute_scale (bool): [Read-Write] If RelativeScale3D should be considered relative to the world, rather than the parent

  • affect_distance_field_lighting (bool): [Read-Write] Controls whether the primitive should affect dynamic distance field lighting methods. This flag is only used if CastShadow is true. *

  • affect_dynamic_indirect_lighting (bool): [Read-Write] Controls whether the primitive should inject light into the Light Propagation Volume. This flag is only used if CastShadow is true. *

  • allow_cull_distance_volume (bool): [Read-Write] Whether to accept cull distance volumes to modify cached cull distance.

  • always_create_physics_state (bool): [Read-Write] Indicates if we’d like to create physics state all the time (for collision and simulation). If you set this to false, it still will create physics state if collision or simulation activated. This can help performance if you’d like to avoid overhead of creating physics state when triggers

  • apply_impulse_on_damage (bool): [Read-Write] True for damage to this component to apply physics impulse, false to opt out of these impulses.

  • asset_user_data (Array(AssetUserData)): [Read-Write] Array of user data stored with the component

  • auto_activate (bool): [Read-Write] Whether the component is activated at creation or must be explicitly activated.

  • body_instance (BodyInstance): [Read-Write] Physics scene information for this component, holds a single rigid body with multiple shapes.

  • bounds_scale (float): [Read-Write] Scales the bounds of the object. This is useful when using World Position Offset to animate the vertices of the object outside of its bounds. Warning: Increasing the bounds of an object will reduce performance and shadow quality! Currently only used by StaticMeshComponent and SkeletalMeshComponent.

  • cached_max_draw_distance (float): [Read-Only] The distance to cull this primitive at. A CachedMaxDrawDistance of 0 indicates that the primitive should not be culled by distance.

  • can_character_step_up_on (CanBeCharacterBase): [Read-Write] Determine whether a Character can step up onto this component. This controls whether they can try to step up on it when they bump in to it, not whether they can walk on it after landing on it. FWalkableSlopeOverride:

  • can_ever_affect_navigation (bool): [Read-Write] Whether this component can potentially influence navigation

  • cast_cinematic_shadow (bool): [Read-Write] Whether this component should cast shadows from lights that have bCastShadowsFromCinematicObjectsOnly enabled. This is useful for characters in a cinematic with special cinematic lights, where the cost of shadowmap rendering of the environment is undesired.

  • cast_dynamic_shadow (bool): [Read-Write] Controls whether the primitive should cast shadows in the case of non precomputed shadowing. This flag is only used if CastShadow is true. *

  • cast_far_shadow (bool): [Read-Write] When enabled, the component will be rendering into the far shadow cascades (only for directional lights).

  • cast_hidden_shadow (bool): [Read-Write] If true, the primitive will cast shadows even if bHidden is true. Controls whether the primitive should cast shadows when hidden. This flag is only used if CastShadow is true.

  • cast_inset_shadow (bool): [Read-Write] Whether this component should create a per-object shadow that gives higher effective shadow resolution. Useful for cinematic character shadowing. Assumed to be enabled if bSelfShadowOnly is enabled.

  • cast_shadow (bool): [Read-Write] Controls whether the primitive component should cast a shadow or not.

    This flag is ignored (no shadows will be generated) if all materials on this component have an Unlit shading model.

  • cast_shadow_as_two_sided (bool): [Read-Write] Whether this primitive should cast dynamic shadows as if it were a two sided material.

  • cast_static_shadow (bool): [Read-Write] Whether the object should cast a static shadow from shadow casting lights. This flag is only used if CastShadow is true.

  • cast_volumetric_translucent_shadow (bool): [Read-Write] Whether the object should cast a volumetric translucent shadow. Volumetric translucent shadows are useful for primitives with smoothly changing opacity like particles representing a volume, But have artifacts when used on highly opaque surfaces.

  • component_tags (Array(Name)): [Read-Write] Array of tags that can be used for grouping and categorizing. Can also be accessed from scripting.

  • custom_depth_stencil_value (int32): [Read-Write] Optionally write this 0-255 value to the stencil buffer in CustomDepth pass (Requires project setting or r.CustomDepth == 3)

  • custom_depth_stencil_write_mask (RendererStencilMask): [Read-Write] Mask used for stencil buffer writes.

  • detail_mode (DetailMode): [Read-Write] If detail mode is >= system detail mode, primitive won’t be rendered.

  • editable_when_inherited (bool): [Read-Write] True if this component can be modified when it was inherited from a parent actor class

  • enable_auto_lod_generation (bool): [Read-Write] If true, and if World setting has bEnableHierarchicalLOD equal to true, then this component will be included when generating a Proxy mesh for the parent Actor

  • enable_material_parameter_caching (bool): [Read-Write] Enable Material Parameter Caching

  • exclude_for_specific_hlod_levels (Array(int32)): [Read-Write] Which specific HLOD levels this component should be excluded from

  • force_mip_streaming (bool): [Read-Write] If true, forces mips for textures used by this component to be resident when this component’s level is loaded.

  • generate_overlap_events (bool): [Read-Write] Generate Overlap Events

  • hidden_in_game (bool): [Read-Write] Whether to hide the primitive in game, if the primitive is Visible.

  • ignore_radial_force (bool): [Read-Write] Will ignore radial forces applied to this component.

  • ignore_radial_impulse (bool): [Read-Write] Will ignore radial impulses applied to this component.

  • indirect_lighting_cache_quality (IndirectLightingCacheQuality): [Read-Write] Quality of indirect lighting for Movable primitives. This has a large effect on Indirect Lighting Cache update time.

  • is_editor_only (bool): [Read-Write] If true, the component will be excluded from non-editor builds

  • ld_max_draw_distance (float): [Read-Write] Max draw distance exposed to LDs. The real max draw distance is the min (disregarding 0) of this and volumes affecting this object.

  • light_attachments_as_group (bool): [Read-Write] Whether to light this component and any attachments as a group. This only has effect on the root component of an attachment tree. When enabled, attached component shadowing settings like bCastInsetShadow, bCastVolumetricTranslucentShadow, etc, will be ignored. This is useful for improving performance when multiple movable components are attached together.

  • lighting_channels (LightingChannels): [Read-Write] Channels that this component should be in. Lights with matching channels will affect the component. These channels only apply to opaque materials, direct lighting, and dynamic lighting and shadowing.

  • lightmap_type (LightmapType): [Read-Write] Controls the type of lightmap used for this component.

  • lpv_bias_multiplier (float): [Read-Write] Multiplier used to scale the Light Propagation Volume light injection bias, to reduce light bleeding. Set to 0 for no bias, 1 for default or higher for increased biasing (e.g. for thin geometry such as walls)

  • min_draw_distance (float): [Read-Write] The minimum distance at which the primitive should be rendered, measured in world space units from the center of the primitive’s bounding sphere to the camera position.

  • mobility (ComponentMobility): [Read-Write] How often this component is allowed to move, used to make various optimizations. Only safe to set in constructor.

  • multi_body_overlap (bool): [Read-Write] If true, this component will generate individual overlaps for each overlapping physics body if it is a multi-body component. When false, this component will generate only one overlap, regardless of how many physics bodies it has and how many of them are overlapping another component/body. This flag has no influence on single body components.

  • never_distance_cull (bool): [Read-Write] When enabled this object will not be culled by distance. This is ignored if a child of a HLOD.

  • on_begin_cursor_over (ComponentBeginCursorOverSignature): [Read-Write] Event called when the mouse cursor is moved over this component and mouse over events are enabled in the player controller

  • on_clicked (ComponentOnClickedSignature): [Read-Write] Event called when the left mouse button is clicked while the mouse is over this component and click events are enabled in the player controller

  • on_component_activated (ActorComponentActivatedSignature): [Read-Write] Called when the component has been activated, with parameter indicating if it was from a reset

  • on_component_begin_overlap (ComponentBeginOverlapSignature): [Read-Write] Event called when something starts to overlaps this component, 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. Both this component and the other one must have GetGenerateOverlapEvents() set to true to generate overlap events.: When receiving an overlap from another object’s movement, the directions of ‘Hit.Normal’ and ‘Hit.ImpactNormal’ will be adjusted to indicate force from the other object against this object.:

  • on_component_deactivated (ActorComponentDeactivateSignature): [Read-Write] Called when the component has been deactivated

  • on_component_end_overlap (ComponentEndOverlapSignature): [Read-Write] Event called when something stops overlapping this component Both this component and the other one must have GetGenerateOverlapEvents() set to true to generate overlap events.:

  • on_component_hit (ComponentHitSignature): [Read-Write] Event called when a component 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 for this component.: When receiving a hit from another object’s movement, the directions of ‘Hit.Normal’ and ‘Hit.ImpactNormal’ will be adjusted to indicate force from the other object against this object.: NormalImpulse will be filled in for physics-simulating bodies, but will be zero for swept-component blocking collisions.:

  • on_component_sleep (ComponentSleepSignature): [Read-Write] Event called when the underlying physics objects is put to sleep

  • on_component_wake (ComponentWakeSignature): [Read-Write] Event called when the underlying physics objects is woken up

  • on_end_cursor_over (ComponentEndCursorOverSignature): [Read-Write] Event called when the mouse cursor is moved off this component and mouse over events are enabled in the player controller

  • on_input_touch_begin (ComponentOnInputTouchBeginSignature): [Read-Write] Event called when a touch input is received over this component when touch events are enabled in the player controller

  • on_input_touch_end (ComponentOnInputTouchEndSignature): [Read-Write] Event called when a touch input is released over this component when touch events are enabled in the player controller

  • on_input_touch_enter (ComponentBeginTouchOverSignature): [Read-Write] Event called when a finger is moved over this component when touch over events are enabled in the player controller

  • on_input_touch_leave (ComponentEndTouchOverSignature): [Read-Write] Event called when a finger is moved off this component when touch over events are enabled in the player controller

  • on_released (ComponentOnReleasedSignature): [Read-Write] Event called when the left mouse button is released while the mouse is over this component click events are enabled in the player controller

  • only_owner_see (bool): [Read-Write] If this is True, this component will only be visible when the view actor is the component’s owner, directly or indirectly.

  • override_materials (Array(MaterialInterface)): [Read-Write] Material overrides.

  • owner_no_see (bool): [Read-Write] If this is True, this component won’t be visible when the view actor is the component’s owner, directly or indirectly.

  • physics_volume_changed_delegate (PhysicsVolumeChanged): [Read-Write] Delegate that will be called when PhysicsVolume has been changed *

  • primary_component_tick (ActorComponentTickFunction): [Read-Write] Main tick function for the Component

  • receive_mobile_csm_shadows (bool): [Read-Write] Mobile only: If disabled this component will not receive CSM shadows. (Components that do not receive CSM may have reduced shading cost)

  • receives_decals (bool): [Read-Write] Whether the primitive receives decals.

  • relative_location (Vector): [Read-Write] Location of the component relative to its parent

  • relative_rotation (Rotator): [Read-Write] Rotation of the component relative to its parent

  • relative_scale3d (Vector): [Read-Write] Non-uniform scaling of the component relative to its parent. Note that scaling is always applied in local space (no shearing etc)

  • render_custom_depth (bool): [Read-Write] If true, this component will be rendered in the CustomDepth pass (usually used for outlines)

  • render_in_main_pass (bool): [Read-Write] If true, this component will be rendered in the main pass (z prepass, basepass, transparency)

  • replicate_physics_to_autonomous_proxy (bool): [Read-Write] True if physics should be replicated to autonomous proxies. This should be true for

    server-authoritative simulations, and false for client authoritative simulations.

  • replicates (bool): [Read-Write] Is this component currently replicating? Should the network code consider it for replication? Owning Actor must be replicating first!

  • return_material_on_move (bool): [Read-Write] If true, component sweeps will return the material in their hit result. MoveComponent(), FHitResult:

  • self_shadow_only (bool): [Read-Write] When enabled, the component will only cast a shadow on itself and not other components in the world. This is especially useful for first person weapons, and forces bCastInsetShadow to be enabled.

  • should_update_physics_volume (bool): [Read-Write] Whether or not the cached PhysicsVolume this component overlaps should be updated when the component is moved. GetPhysicsVolume():

  • show_outline_when_unselected (bool): [Read-Write] Should this component show an outline around the first layer when the component is not selected?

  • show_per_layer_grid_when_selected (bool): [Read-Write] Should this component show an outline around each layer when the component is selected?

  • show_per_layer_grid_when_unselected (bool): [Read-Write] Should this component show an outline around each layer when the component is not selected?

  • show_per_tile_grid_when_selected (bool): [Read-Write] Should this component show a tile grid when the component is selected?

  • show_per_tile_grid_when_unselected (bool): [Read-Write] Should this component show a tile grid when the component is not selected?

  • single_sample_shadow_from_stationary_lights (bool): [Read-Write] Whether the whole component should be shadowed as one from stationary lights, which makes shadow receiving much cheaper. When enabled shadowing data comes from the volume lighting samples precomputed by Lightmass, which are very sparse. This is currently only used on stationary directional lights.

  • tile_map (PaperTileMap): [Read-Write] The tile map used by this component

  • tile_map_color (LinearColor): [Read-Write] The color of the tile map (multiplied with the per-layer color and passed to the material as a vertex color)

  • trace_complex_on_move (bool): [Read-Write] If true, component sweeps with this component should trace against complex collision during movement (for example, each triangle of a mesh). If false, collision will be resolved against simple collision bounds instead. MoveComponent():

  • translucency_sort_priority (int32): [Read-Write] Translucent objects with a lower sort priority draw behind objects with a higher priority. Translucent objects with the same priority are rendered from back-to-front based on their bounds origin.

    Ignored if the object is not translucent. The default priority is zero. Warning: This should never be set to a non-default value unless you know what you are doing, as it will prevent the renderer from sorting correctly. It is especially problematic on dynamic gameplay effects.

  • treat_as_background_for_occlusion (bool): [Read-Write] Treat this primitive as part of the background for occlusion purposes. This can be used as an optimization to reduce the cost of rendering skyboxes, large ground planes that are part of the vista, etc.

  • use_as_occluder (bool): [Read-Write] Whether to render the primitive in the depth only pass. This should generally be true for all objects, and let the renderer make decisions about whether to render objects in the depth only pass. if any rendering features rely on a complete depth only pass, this variable needs to go away.:

  • use_attach_parent_bound (bool): [Read-Write] If true, this component uses its parents bounds when attached. This can be a significant optimization with many components attached together.

  • use_max_lod_as_imposter (bool): [Read-Write] Use the Maximum LOD Mesh (imposter) instead of including Mesh data from this component in the Proxy Generation process

  • use_single_layer (bool): [Read-Write] Should we draw a single layer?

  • use_single_layer_index (int32): [Read-Write] The index of the single layer to use if enabled

  • visible (bool): [Read-Write] Whether to completely draw the primitive; if false, the primitive is not drawn, does not cast a shadow.

  • visible_in_ray_tracing (bool): [Read-Write] If true, this component will be visible in ray tracing effects. Turning this off will remove it from ray traced reflections, shadows, etc.

  • visible_in_reflection_captures (bool): [Read-Write] If true, this component will be visible in reflection captures.

add_new_layer() → PaperTileLayer

Creates and adds a new layer to the tile map Note: This will only work on components that own their own tile map (OwnsTileMap returns true), you cannot modify standalone tile map assets

Returns:
Return type:PaperTileLayer
create_new_tile_map(map_width=4, map_height=4, tile_width=32, tile_height=32, pixels_per_unreal_unit=1.000000, create_layer=True) → None

Creates a new tile map of the specified size, replacing the TileMap reference (or dropping the previous owned one)

Parameters:
  • map_width (int32) – Width of the map (in tiles)
  • map_height (int32) – Height of the map (in tiles)
  • tile_width (int32) – Width of one tile (in pixels)
  • tile_height (int32) – Height of one tile (in pixels)
  • pixels_per_unreal_unit (float) –
  • create_layer (bool) – Should an empty layer be created?
get_layer_color(layer=0) → LinearColor

Gets the per-layer color multiplier for a specific layer (multiplied with the tile map color and passed to the material as a vertex color)

Parameters:layer (int32) –
Returns:
Return type:LinearColor
get_map_size() -> (map_width=int32, map_height=int32, num_layers=int32)

Returns the size of the tile map

Returns:map_width (int32):

map_height (int32):

num_layers (int32):

Return type:tuple
get_tile(x, y, layer) → PaperTileInfo

Returns the contents of a specified tile cell

Parameters:
  • x (int32) –
  • y (int32) –
  • layer (int32) –
Returns:

Return type:

PaperTileInfo

get_tile_center_position(tile_x, tile_y, layer_index=0, world_space=False) → Vector

Returns the position of the center of the specified tile

Parameters:
  • tile_x (int32) –
  • tile_y (int32) –
  • layer_index (int32) –
  • world_space (bool) –
Returns:

Return type:

Vector

get_tile_corner_position(tile_x, tile_y, layer_index=0, world_space=False) → Vector

Returns the position of the top left corner of the specified tile

Parameters:
  • tile_x (int32) –
  • tile_y (int32) –
  • layer_index (int32) –
  • world_space (bool) –
Returns:

Return type:

Vector

get_tile_map_color() → LinearColor

Gets the tile map global color multiplier (multiplied with the per-layer color and passed to the material as a vertex color)

Returns:
Return type:LinearColor
get_tile_polygon(tile_x, tile_y, layer_index=0, world_space=False) -> Array(Vector)

Returns the polygon for the specified tile (will be 4 or 6 vertices as a rectangle, diamond, or hexagon)

Parameters:
  • tile_x (int32) –
  • tile_y (int32) –
  • layer_index (int32) –
  • world_space (bool) –
Returns:

points (Array(Vector)):

Return type:

Array(Vector)

make_tile_map_editable() → None

Makes the tile map asset pointed to by this component editable. Nothing happens if it was already instanced, but if the tile map is an asset reference, it is cloned to make a unique instance.

owns_tile_map() → bool

Does this component own the tile map (is it instanced instead of being an asset reference)?

Returns:
Return type:bool
rebuild_collision() → None

Rebuilds collision for the tile map

resize_map(new_width_in_tiles, new_height_in_tiles) → None

Resizes the tile map (Note: This will only work on components that own their own tile map (OwnsTileMap returns true), you cannot modify standalone tile map assets)

Parameters:
  • new_width_in_tiles (int32) –
  • new_height_in_tiles (int32) –
set_default_collision_thickness(thickness, rebuild_collision=True) → None

Sets the default thickness for any layers that don’t override the collision thickness Note: This will only work on components that own their own tile map (OwnsTileMap returns true), you cannot modify standalone tile map assets

Parameters:
  • thickness (float) –
  • rebuild_collision (bool) –
set_layer_collision(layer=0, has_collision=True, override_thickness=True, custom_thickness=50.000000, override_offset=False, custom_offset=0.000000, rebuild_collision=True) → None

Sets the collision thickness for a specific layer Note: This will only work on components that own their own tile map (OwnsTileMap returns true), you cannot modify standalone tile map assets

Parameters:
  • layer (int32) –
  • has_collision (bool) –
  • override_thickness (bool) –
  • custom_thickness (float) –
  • override_offset (bool) –
  • custom_offset (float) –
  • rebuild_collision (bool) –
set_layer_color(new_color, layer=0) → None

Sets the per-layer color multiplier for a specific layer (multiplied with the tile map color and passed to the material as a vertex color) Note: This will only work on components that own their own tile map (OwnsTileMap returns true), you cannot modify standalone tile map assets

Parameters:
set_tile(x, y, layer, new_value) → None

Modifies the contents of a specified tile cell (Note: This will only work on components that own their own tile map (OwnsTileMap returns true), you cannot modify standalone tile map assets) Note: Does not update collision by default, call RebuildCollision after all edits have been done in a frame if necessary

Parameters:
  • x (int32) –
  • y (int32) –
  • layer (int32) –
  • new_value (PaperTileInfo) –
set_tile_map(new_tile_map) → bool

Change the PaperTileMap used by this instance.

Parameters:new_tile_map (PaperTileMap) –
Returns:
Return type:bool
set_tile_map_color(new_color) → None

Sets the tile map global color multiplier (multiplied with the per-layer color and passed to the material as a vertex color)

Parameters:new_color (LinearColor) –
tile_map

(PaperTileMap) – [Read-Only] The tile map used by this component