unreal.PlayerCameraManager
¶
- class unreal.PlayerCameraManager(outer=None, name='None')¶
Bases:
unreal.Actor
A PlayerCameraManager is responsible for managing the camera for a particular player. It defines the final view properties used by other systems (e.g. the renderer), meaning you can think of it as your virtual eyeball in the world. It can compute the final camera properties directly, or it can arbitrate/blend between other objects or actors that influence the camera (e.g. blending from one CameraActor to another).
The PlayerCameraManagers primary external responsibility is to reliably respond to various Get*() functions, such as GetCameraViewPoint. Most everything else is implementation detail and overrideable by user projects.
By default, a PlayerCameraManager maintains a “view target”, which is the primary actor the camera is associated with. It can also apply various “post” effects to the final view state, such as camera animations, shakes, post-process effects or special effects such as dirt on the lens. see: https://docs.unrealengine.com/latest/INT/Gameplay/Framework/Camera/
C++ Source:
Module: Engine
File: PlayerCameraManager.h
Editor Properties: (see get_editor_property/set_editor_property)
actor_guid
(Guid): [Read-Only] The GUID for this actor.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 consideredcan_be_damaged
(bool): [Read-Write] Whether this actor can take damage. Must be true for damage events (e.g. ReceiveDamage()) to be called. see: https://www.unrealengine.com/blog/damage-in-ue4 see: 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 performanceclient_simulating_view_target
(bool): [Read-Write] True if clients are handling setting their own viewtarget and the server should not replicate it (e.g. during certain Matinee sequences)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_aspect_ratio
(float): [Read-Write] Default aspect ratio. Most of the time the value from a camera component will be used instead.default_constrain_aspect_ratio
(bool): [Read-Write] True if black bars should be added if the destination view has a different aspect ratio (only used when a view target doesn’t specify whether or not to constrain the aspect ratio; most of the time the value from a camera component is used instead)default_fov
(float): [Read-Write] FOV to use by default.default_modifiers
(Array(type(Class))): [Read-Write] List of modifiers to create by default for this cameradefault_ortho_width
(float): [Read-Write] The default desired width (in world units) of the orthographic view (ignored in Perspective mode)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 see: 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 Actorfind_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.free_cam_distance
(float): [Read-Write] Distance to place free camera from view target (used in certain CameraStyles)free_cam_offset
(Vector): [Read-Write] Offset to Z free camera position (used in certain CameraStyles)game_camera_cut_this_frame
(bool): [Read-Write] True if we did a camera cut this frame. Automatically reset to false every frame. This flag affects various things in the renderer (such as whether to use the occlusion queries from last frame, and motion blur).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. see: UpdateOverlapsMethodDuringLevelStreaminghidden
(bool): [Read-Write] Allows us to only see this Actor in the Editor, and not in the actual game. see: 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 buildsis_orthographic
(bool): [Read-Write] True when this camera should use an orthographic perspective instead of FOVmin_net_update_frequency
(float): [Read-Write] Used to determine what rate to throttle down to when replicated properties are changing infrequentlynet_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 loadnet_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 replicatenet_update_frequency
(float): [Read-Write] How often (per second) this actor will be considered for replication, used to determine NetUpdateTimenet_use_owner_relevancy
(bool): [Read-Write] If actor has valid Owner, call Owner’s IsNetRelevantFor and GetNetPriorityon_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. note: 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. note: 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. note: For collisions during physics simulation to generate hit events, ‘Simulation Generates Hit Events’ must be enabled.on_audio_fade_change_event
(OnAudioFadeChangeSignature): [Read-Write] If bound, broadcast on fade start (with fade time) instead of manually altering audio device’s master volume directlyon_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.pivot_offset
(Vector): [Read-Write] Local space pivot offset for the actor, only used in the editorprimary_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. see: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/FTickFunction/ see: 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 IsLevelBoundsRelevantreplay_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. see: SetReplicates() see: https://docs.unrealengine.com/latest/INT/Gameplay/Networking/Replication/replicated_movement
(RepMovement): [Read-Write] Used for replication of our RootComponent’s position and velocityreplicates
(bool): [Read-Write] If true, this actor will replicate to remote machines see: 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 somehowspawn_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.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.transform_component
(SceneComponent): [Read-Only] Dummy component we can use to attach things to the camera.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. see: bGenerateOverlapEventsDuringLevelStreaming, DefaultUpdateOverlapsMethodDuringLevelStreaming, GetUpdateOverlapsMethodDuringLevelStreaming()
use_client_side_camera_updates
(bool): [Read-Write] True if server will use camera positions replicated from the client instead of calculating them locally.view_pitch_max
(float): [Read-Write] Maximum view pitch, in degrees.view_pitch_min
(float): [Read-Write] Minimum view pitch, in degrees.view_roll_max
(float): [Read-Write] Maximum view roll, in degrees.view_roll_min
(float): [Read-Write] Minimum view roll, in degrees.view_target_offset
(Vector): [Read-Write] Offset to view target (used in certain CameraStyles)view_yaw_max
(float): [Read-Write] Maximum view yaw, in degrees.view_yaw_min
(float): [Read-Write] Minimum view yaw, in degrees.
- add_camera_lens_effect(lens_effect_emitter_class) → EmitterCameraLensEffectBase¶
Creates a camera lens effect of the given class on this camera.
- add_new_camera_modifier(modifier_class) → CameraModifier¶
Creates and initializes a new camera modifier of the specified class.
- blueprint_update_camera(camera_target) → (new_camera_location=Vector, new_camera_rotation=Rotator, new_camera_fov=float) or None¶
Blueprint hook to allow blueprints to override existing camera behavior or implement custom cameras. If this function returns true, we will use the given returned values and skip further calculations to determine final camera POV.
- property client_simulating_view_target¶
[Read-Write] True if clients are handling setting their own viewtarget and the server should not replicate it (e.g. during certain Matinee sequences)
- Type
(bool)
- property default_aspect_ratio¶
[Read-Write] Default aspect ratio. Most of the time the value from a camera component will be used instead.
- Type
(float)
- property default_constrain_aspect_ratio¶
[Read-Write] True if black bars should be added if the destination view has a different aspect ratio (only used when a view target doesn’t specify whether or not to constrain the aspect ratio; most of the time the value from a camera component is used instead)
- Type
(bool)
- property default_modifiers¶
[Read-Only] List of modifiers to create by default for this camera
- property default_ortho_width¶
[Read-Write] The default desired width (in world units) of the orthographic view (ignored in Perspective mode)
- Type
(float)
- find_camera_modifier_by_class(modifier_class) → CameraModifier¶
Returns camera modifier for this camera of the given class, if it exists. Exact class match only. If there are multiple modifiers of the same class, the first one is returned.
- Parameters
- Returns
- Return type
- property free_cam_distance¶
[Read-Write] Distance to place free camera from view target (used in certain CameraStyles)
- Type
(float)
- property free_cam_offset¶
[Read-Write] Offset to Z free camera position (used in certain CameraStyles)
- Type
(Vector)
- property game_camera_cut_this_frame¶
[Read-Only] True if we did a camera cut this frame. Automatically reset to false every frame. This flag affects various things in the renderer (such as whether to use the occlusion queries from last frame, and motion blur).
- Type
(bool)
- get_fov_angle() → float¶
Returns the camera’s current full FOV angle, in degrees.
- Returns
- Return type
- get_owning_player_controller() → PlayerController¶
Returns the PlayerController that owns this camera.
- Returns
- Return type
- property is_orthographic¶
[Read-Write] True when this camera should use an orthographic perspective instead of FOV
- Type
(bool)
- kismet_update_camera(camera_target)¶
deprecated: ‘kismet_update_camera’ was renamed to ‘blueprint_update_camera’.
- property on_audio_fade_change_event¶
[Read-Write] If bound, broadcast on fade start (with fade time) instead of manually altering audio device’s master volume directly
- Type
- on_photography_multi_part_capture_end() → None¶
Event triggered upon the end of a multi-part photograph capture, when manual free-roaming photographic camera control is about to be returned to the user. Here you may re-enable whatever was turned off within OnPhotographyMultiPartCaptureStart.
- on_photography_multi_part_capture_start() → None¶
Event triggered upon the start of a multi-part photograph capture (i.e. a stereoscopic or 360-degree shot). This is an ideal time to turn off rendering effects that tile badly (UI, subtitles, vignette, very aggressive bloom, etc; most of these are automatically disabled when r.Photography.AutoPostprocess is 1).
- on_photography_session_end() → None¶
Event triggered upon leaving Photography mode (after unpausing, if r.Photography.AutoPause is 1).
- on_photography_session_start() → None¶
Event triggered upon entering Photography mode (before pausing, if r.Photography.AutoPause is 1).
- photography_camera_modify(new_camera_location, previous_camera_location, original_camera_location) → Vector¶
Implementable blueprint hook to allow a PlayerCameraManager subclass to constrain or otherwise modify the camera during free-camera photography. For example, a blueprint may wish to limit the distance from the camera’s original point, or forbid the camera from passing through walls. NewCameraLocation contains the proposed new camera location. PreviousCameraLocation contains the camera location in the previous frame. OriginalCameraLocation contains the camera location before the game was put into photography mode. Return ResultCameraLocation as modified according to your constraints.
- play_camera_anim(anim, rate=1.0, scale=1.0, blend_in_time=0.0, blend_out_time=0.0, loop=False, random_start_time=False, duration=0.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0]) → CameraAnimInst¶
Play the indicated CameraAnim on this camera.
- Parameters
anim (CameraAnim) – The animation that should play on this instance.
rate (float) – How fast to play the animation. 1.0 is normal.
scale (float) – How “intense” to play the animation. 1.0 is normal.
blend_in_time (float) – Time to linearly ramp in.
blend_out_time (float) – Time to linearly ramp out.
loop (bool) – True to loop the animation if it hits the end.
random_start_time (bool) – Whether or not to choose a random time to start playing. Useful with bLoop=true and a duration to randomize things like shakes.
duration (float) – Optional total playtime for this animation, including blends. 0 means to use animations natural duration, or infinite if looping.
play_space (CameraShakePlaySpace) – Which space to play the animation in.
user_play_space_rot (Rotator) – Custom play space, used when PlaySpace is UserDefined.
- Returns
The CameraAnim instance, which can be stored to manipulate/stop the anim after the fact.
- Return type
- play_camera_shake(shake_class, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0])¶
deprecated: ‘play_camera_shake’ was renamed to ‘start_camera_shake’.
- play_camera_shake_from_source(shake_class, source_component, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0])¶
deprecated: ‘play_camera_shake_from_source’ was renamed to ‘start_camera_shake_from_source’.
- remove_camera_lens_effect(emitter) → None¶
Removes the given lens effect from the camera.
- Parameters
emitter (EmitterCameraLensEffectBase) – the emitter actor to remove from the camera
- remove_camera_modifier(modifier_to_remove) → bool¶
Removes the given camera modifier from this camera (if it’s on the camera in the first place) and discards it.
- Parameters
modifier_to_remove (CameraModifier) –
- Returns
True if successfully removed, false otherwise.
- Return type
- set_game_camera_cut_this_frame() → None¶
Sets the bGameCameraCutThisFrame flag to true (indicating we did a camera cut this frame; useful for game code to call, e.g., when performing a teleport that should be seamless)
- set_manual_camera_fade(fade_amount, color, fade_audio) → None¶
Turns on camera fading at the given opacity. Does not auto-animate, allowing user to animate themselves. Call StopCameraFade to turn fading back off.
- Parameters
fade_amount (float) –
color (LinearColor) –
fade_audio (bool) –
- start_camera_fade(from_alpha, to_alpha, duration, color, should_fade_audio=False, hold_when_finished=False) → None¶
Does a camera fade to/from a solid color. Animates automatically.
- Parameters
from_alpha (float) – Alpha at which to begin the fade. Range [0..1], where 0 is fully transparent and 1 is fully opaque solid color.
to_alpha (float) – Alpha at which to finish the fade.
duration (float) – How long the fade should take, in seconds.
color (LinearColor) – Color to fade to/from.
should_fade_audio (bool) – True to fade audio volume along with the alpha of the solid color.
hold_when_finished (bool) – True for fade to hold at the ToAlpha until explicitly stopped (e.g. with StopCameraFade)
- start_camera_shake(shake_class, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0]) → CameraShakeBase¶
Plays a camera shake on this camera.
- Parameters
scale (float) – Scalar defining how “intense” to play the shake. 1.0 is normal (as authored).
play_space (CameraShakePlaySpace) – Which coordinate system to play the shake in (affects oscillations and camera anims)
user_play_space_rot (Rotator) – Coordinate system to play shake when PlaySpace == CAPS_UserDefined.
- Returns
- Return type
- start_camera_shake_from_source(shake_class, source_component, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0]) → CameraShakeBase¶
Plays a camera shake on this camera.
- Parameters
source_component (CameraShakeSourceComponent) – The source from which the camera shake originates.
scale (float) – Applies an additional constant scale on top of the dynamic scale computed with the distance to the source
play_space (CameraShakePlaySpace) – Which coordinate system to play the shake in (affects oscillations and camera anims)
user_play_space_rot (Rotator) – Coordinate system to play shake when PlaySpace == CAPS_UserDefined.
- Returns
- Return type
- start_matinee_camera_shake(shake_class, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0])¶
deprecated: ‘start_matinee_camera_shake’ was renamed to ‘start_camera_shake’.
- start_matinee_camera_shake_from_source(shake_class, source_component, scale=1.0, play_space=CameraShakePlaySpace.CAMERA_LOCAL, user_play_space_rot=[0.0, 0.0, 0.0])¶
deprecated: ‘start_matinee_camera_shake_from_source’ was renamed to ‘start_camera_shake_from_source’.
- stop_all_camera_anims(immediate=False) → None¶
Stop playing all CameraAnims on this CameraManager.
- Parameters
immediate (bool) – True to stop it right now and ignore blend out, false to let it blend out as indicated.
- stop_all_camera_shakes(immediately=True) → None¶
Stops all active camera shakes on this camera.
- Parameters
immediately (bool) –
- stop_all_camera_shakes_from_source(source_component, immediately=True) → None¶
Stops playing all shakes originating from the given source.
- Parameters
source_component (CameraShakeSourceComponent) –
immediately (bool) –
- stop_all_instances_of_camera_anim(anim, immediate=False) → None¶
Stop playing all instances of the indicated CameraAnim.
- Parameters
anim (CameraAnim) –
immediate (bool) – True to stop it right now and ignore blend out, false to let it blend out as indicated.
- stop_all_instances_of_camera_shake(shake, immediately=True) → None¶
Stops playing all shakes of the given class.
- stop_all_instances_of_camera_shake_from_source(shake, source_component, immediately=True) → None¶
Stops playing all shakes of the given class originating from the given source.
- Parameters
source_component (CameraShakeSourceComponent) –
immediately (bool) –
- stop_camera_anim_inst(anim_inst, immediate=False) → None¶
Stops the given CameraAnimInst from playing. The given pointer should be considered invalid after this.
- Parameters
anim_inst (CameraAnimInst) –
immediate (bool) – True to stop it right now and ignore blend out, false to let it blend out as indicated.
- stop_camera_shake(shake_instance, immediately=True) → None¶
Immediately stops the given shake instance and invalidates it.
- Parameters
shake_instance (CameraShakeBase) –
immediately (bool) –
- property transform_component¶
[Read-Only] Dummy component we can use to attach things to the camera.
- Type
- property use_client_side_camera_updates¶
[Read-Only] True if server will use camera positions replicated from the client instead of calculating them locally.
- Type
(bool)