Gah - a solution with more questions. – EntropicLqd

Difference between revisions of "UE3:Camera (UDK)"

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(Talk)
 
(Talk)
Line 32: Line 32:
  
 
===Internal variables===
 
===Internal variables===
====AccumulatorCameraActor====
+
====AccumulatedCameraAnimPPSettings====
'''Type:''' {{cl|DynamicCameraActor}}
+
'''Type:''' {{tl|PostProcessSettings|PostProcessVolume|structs}}
  
'''[[Variables#Modifiers|Modifiers]]:''' protected, transient
+
'''[[Variables#Modifiers|Modifiers]]:''' transient
  
Internal.  Collects and blends the output of all of the camera animations, before being applied to the camera
+
Internal.  Used to collect PP settings changes from running CameraAnims for later application.
  
 
====ActiveAnims====
 
====ActiveAnims====
Line 148: Line 148:
  
 
====CamPostProcessSettings====
 
====CamPostProcessSettings====
'''Type:''' {{tl|PostProcessSettings|PostProcessVolume}}
+
'''Type:''' {{tl|PostProcessSettings|PostProcessVolume|structs}}
  
 
Post-process settings to use if bCamOverridePostProcess is TRUE.
 
Post-process settings to use if bCamOverridePostProcess is TRUE.
Line 154: Line 154:
 
'''Default value:'''  
 
'''Default value:'''  
 
{| class="list defaults"
 
{| class="list defaults"
! {{tl|PostProcessSettings||PostProcessVolume|Member}}
+
! {{tl|PostProcessSettings||PostProcessVolume structs|Member}}
 
! Value
 
! Value
 
|-
 
|-
Line 174: Line 174:
 
| Bloom_Scale
 
| Bloom_Scale
 
| 1.0
 
| 1.0
 +
|-
 +
| bOverride_AllowAmbientOcclusion
 +
| True
 +
|-
 +
| bOverride_Bloom_InterpolationDuration
 +
| True
 +
|-
 +
| bOverride_Bloom_Scale
 +
| True
 +
|-
 +
| bOverride_DOF_BlurBloomKernelSize
 +
| True
 +
|-
 +
| bOverride_DOF_BlurKernelSize
 +
| True
 +
|-
 +
| bOverride_DOF_FalloffExponent
 +
| True
 +
|-
 +
| bOverride_DOF_FocusDistance
 +
| True
 +
|-
 +
| bOverride_DOF_FocusInnerRadius
 +
| True
 +
|-
 +
| bOverride_DOF_FocusPosition
 +
| True
 +
|-
 +
| bOverride_DOF_FocusType
 +
| True
 +
|-
 +
| bOverride_DOF_InterpolationDuration
 +
| True
 +
|-
 +
| bOverride_DOF_MaxFarBlurAmount
 +
| True
 +
|-
 +
| bOverride_DOF_MaxNearBlurAmount
 +
| True
 +
|-
 +
| bOverride_DOF_ModulateBlurColor
 +
| True
 +
|-
 +
| bOverride_EnableBloom
 +
| True
 +
|-
 +
| bOverride_EnableDOF
 +
| True
 +
|-
 +
| bOverride_EnableMotionBlur
 +
| True
 +
|-
 +
| bOverride_EnableSceneEffect
 +
| True
 +
|-
 +
| bOverride_MotionBlur_Amount
 +
| True
 +
|-
 +
| bOverride_MotionBlur_CameraRotationThreshold
 +
| True
 +
|-
 +
| bOverride_MotionBlur_CameraTranslationThreshold
 +
| True
 +
|-
 +
| bOverride_MotionBlur_FullMotionBlur
 +
| True
 +
|-
 +
| bOverride_MotionBlur_InterpolationDuration
 +
| True
 +
|-
 +
| bOverride_MotionBlur_MaxVelocity
 +
| True
 +
|-
 +
| bOverride_OverrideRimShaderColor
 +
| True
 +
|-
 +
| bOverride_RimShader_Color
 +
| True
 +
|-
 +
| bOverride_RimShader_InterpolationDuration
 +
| True
 +
|-
 +
| bOverride_Scene_Desaturation
 +
| True
 +
|-
 +
| bOverride_Scene_HighLights
 +
| True
 +
|-
 +
| bOverride_Scene_InterpolationDuration
 +
| True
 +
|-
 +
| bOverride_Scene_MidTones
 +
| True
 +
|-
 +
| bOverride_Scene_Shadows
 +
| True
 +
|-
 +
| DOF_BlurBloomKernelSize
 +
| 16.0
 
|-
 
|-
 
| DOF_BlurKernelSize
 
| DOF_BlurKernelSize
Line 446: Line 545:
  
 
==Enums==
 
==Enums==
 +
====ECameraAnimPlaySpace====
 +
<!-- enter enum description -->
 +
; CAPS_CameraLocal : This anim is applied in camera space
 +
; CAPS_World : This anim is applied in world space
 +
; CAPS_UserDefined : This anim is applied in a user-specified space (defined by UserPlaySpaceMatrix)
 +
 
====EViewTargetBlendFunction====
 
====EViewTargetBlendFunction====
 
<!-- enter enum description -->
 
<!-- enter enum description -->
Line 501: Line 606:
  
 
====PlayWorldCameraShake====
 
====PlayWorldCameraShake====
{{code|static function '''PlayWorldCameraShake''' ({{cl|CameraShake}}&nbsp;'''Shake''', {{cl|Actor}}&nbsp;'''ShakeInstigator''', {{tl|Vector|Object|structs}}&nbsp;'''Epicenter''', [[float]]&nbsp;'''InnerRadius''', [[float]]&nbsp;'''OuterRadius''', [[float]]&nbsp;'''Falloff''', [[bool]]&nbsp;'''bTryForceFeedback''')}}
+
{{code|static function '''PlayWorldCameraShake''' ({{cl|CameraShake}}&nbsp;'''Shake''', {{cl|Actor}}&nbsp;'''ShakeInstigator''', {{tl|Vector|Object|structs}}&nbsp;'''Epicenter''', [[float]]&nbsp;'''InnerRadius''', [[float]]&nbsp;'''OuterRadius''', [[float]]&nbsp;'''Falloff''', [[bool]]&nbsp;'''bTryForceFeedback''', optional&nbsp;[[bool]]&nbsp;'''bOrientShakeTowardsEpicenter''')}}
  
 
Static.  Plays an in-world camera shake that affects all nearby players, with distance-based attenuation.
 
Static.  Plays an in-world camera shake that affects all nearby players, with distance-based attenuation.
Line 603: Line 708:
 
{{code|protected function {{cl|CameraModifier}}&nbsp;'''CreateCameraModifier''' ([[class]]<{{cl|CameraModifier}}>&nbsp;'''ModifierClass''')}}
 
{{code|protected function {{cl|CameraModifier}}&nbsp;'''CreateCameraModifier''' ([[class]]<{{cl|CameraModifier}}>&nbsp;'''ModifierClass''')}}
  
<!-- enter function description -->
+
Internal. Creates and initializes a new camera modifier of the specified class, returns the object ref.
  
 
====DisplayDebug====
 
====DisplayDebug====
Line 652: Line 757:
  
 
====PlayCameraShake====
 
====PlayCameraShake====
{{code|function '''PlayCameraShake''' ({{cl|CameraShake}}&nbsp;'''Shake''', [[float]]&nbsp;'''Scale''')}}
+
{{code|function '''PlayCameraShake''' ({{cl|CameraShake}}&nbsp;'''Shake''', [[float]]&nbsp;'''Scale''', optional&nbsp;{{tl|ECameraAnimPlaySpace}}&nbsp;'''PlaySpace''', optional&nbsp;{{tl|Rotator|Object|structs}}&nbsp;'''UserPlaySpaceRot''')}}
  
 
Play a camera shake
 
Play a camera shake

Revision as of 05:24, 17 January 2010

UDK Object >> Actor >> Camera

Contents

Package: 
Engine
Direct subclass:
GamePlayerCamera
This class in other games:
RTNP, U1, UT, UT2003, UT2004, U2, UE2Runtime, U2XMP, UT3

Camera: defines the Point of View of a player in world space.

Constants

MAX_ACTIVE_CAMERA_ANIMS

Value: 8


Properties

Property group 'Camera'

CameraShakeCamMod

Type: CameraModifier_CameraShake

Modifiers: editinline, transient

Camera modifier for cone-driven screen shakes

CameraShakeCamModClass

Type: class<CameraModifier_CameraShake>

Modifiers: protected

Class to use when instantiating screenshake modifier object. Provided to support overrides.

Default value: Class'Engine.CameraModifier_CameraShake'

Internal variables

AccumulatedCameraAnimPPSettings

Type: PostProcessVolume.PostProcessSettings

Modifiers: transient

Internal. Used to collect PP settings changes from running CameraAnims for later application.

ActiveAnims

Type: array<CameraAnimInst>

Modifiers: protected

Array of anim instances that are currently playing and in-use

AnimCameraActor

Type: DynamicCameraActor

Modifiers: protected, transient

Internal. Receives the output of individual camera animations.

AnimInstPool

Type: CameraAnimInst

Array size: 8 (MAX_ACTIVE_CAMERA_ANIMS)

Modifiers: protected

Pool of anim instance objects available with which to play camera animations

bCamOverridePostProcess

Type: bool

Indicates if CamPostProcessSettings should be used when using this Camera to view through.

bConstrainAspectRatio

Type: bool

If we should insert black areas when rendering the scene to ensure an aspect ratio of ConstrainedAspectRatio

bEnableColorScaleInterp

Type: bool

Should interpolate color scale values

bEnableColorScaling

Type: bool

Turn on scaling of color channels in final image using ColorScale property.

bEnableFading

Type: bool

If we should apply FadeColor/FadeAmount to the screen.

BlendParams

Type: ViewTargetTransitionParams


Default value:

Member Value
BlendExp 2.0
BlendFunction VTBlend_Cubic

BlendTimeToGo

Type: float

Time left when blending to pending view target

bLockedFOV

Type: bool

true if FOV is locked to a constant value

CameraCache

Type: TCameraCache


Default value:

Member Value
POV
Member Value
FOV 90.0

CameraLensEffects

Type: array<EmitterCameraLensEffectBase>

Modifiers: protected, transient

CameraBlood emitter attached to this camera

CameraStyle

Type: name

Camera Mode

CamPostProcessSettings

Type: PostProcessVolume.PostProcessSettings

Post-process settings to use if bCamOverridePostProcess is TRUE.

Default value:

Member Value
bAllowAmbientOcclusion True
bEnableBloom True
bEnableMotionBlur True
bEnableSceneEffect True
Bloom_InterpolationDuration 1.0
Bloom_Scale 1.0
bOverride_AllowAmbientOcclusion True
bOverride_Bloom_InterpolationDuration True
bOverride_Bloom_Scale True
bOverride_DOF_BlurBloomKernelSize True
bOverride_DOF_BlurKernelSize True
bOverride_DOF_FalloffExponent True
bOverride_DOF_FocusDistance True
bOverride_DOF_FocusInnerRadius True
bOverride_DOF_FocusPosition True
bOverride_DOF_FocusType True
bOverride_DOF_InterpolationDuration True
bOverride_DOF_MaxFarBlurAmount True
bOverride_DOF_MaxNearBlurAmount True
bOverride_DOF_ModulateBlurColor True
bOverride_EnableBloom True
bOverride_EnableDOF True
bOverride_EnableMotionBlur True
bOverride_EnableSceneEffect True
bOverride_MotionBlur_Amount True
bOverride_MotionBlur_CameraRotationThreshold True
bOverride_MotionBlur_CameraTranslationThreshold True
bOverride_MotionBlur_FullMotionBlur True
bOverride_MotionBlur_InterpolationDuration True
bOverride_MotionBlur_MaxVelocity True
bOverride_OverrideRimShaderColor True
bOverride_RimShader_Color True
bOverride_RimShader_InterpolationDuration True
bOverride_Scene_Desaturation True
bOverride_Scene_HighLights True
bOverride_Scene_InterpolationDuration True
bOverride_Scene_MidTones True
bOverride_Scene_Shadows True
DOF_BlurBloomKernelSize 16.0
DOF_BlurKernelSize 16.0
DOF_FalloffExponent 4.0
DOF_FocusInnerRadius 2000.0
DOF_InterpolationDuration 1.0
DOF_MaxFarBlurAmount 1.0
DOF_MaxNearBlurAmount 1.0
DOF_ModulateBlurColor
Member Value
A 255
B 255
G 255
R 255
MotionBlur_Amount 0.5
MotionBlur_CameraRotationThreshold 45.0
MotionBlur_CameraTranslationThreshold 10000.0
MotionBlur_FullMotionBlur True
MotionBlur_InterpolationDuration 1.0
MotionBlur_MaxVelocity 1.0
RimShader_Color
Member Value
A 1.0
B 0.827726
G 0.585973
R 0.47044
RimShader_InterpolationDuration 1.0
Scene_HighLights
Member Value
X 1.0
Y 1.0
Z 1.0
Scene_InterpolationDuration 1.0
Scene_MidTones
Member Value
X 1.0
Y 1.0
Z 1.0

ColorScale

Type: Object.Vector

Allows control over scaling individual color channels in the final image.

ColorScaleInterpDuration

Type: float

Total time for color scale interpolation to complete

ColorScaleInterpStartTime

Type: float

Time at which interpolation started

ConstrainedAspectRatio

Type: float

If bConstrainAspectRatio is true, add black regions to ensure aspect ratio is this. Ratio is horizontal/vertical.

DefaultAspectRatio

Type: float

Default aspect ratio

Default value: 1.33333

DefaultFOV

Type: float

default FOV

Default value: 90.0

DesiredColorScale

Type: Object.Vector

Desired color scale which ColorScale will interpolate to

FadeAlpha

Type: Object.Vector2D

camera fade management

FadeAmount

Type: float

Amount of fading to apply.

FadeColor

Type: Object.Color

Color to fade to.

FadeTime

Type: float


FadeTimeRemaining

Type: float


FreeAnims

Type: array<CameraAnimInst>

Modifiers: protected

Array of anim instances that are not playing and available

FreeCamDistance

Type: float

Distance to place free camera from view target

Default value: 256.0

FreeCamOffset

Type: Object.Vector

Offset to Z free camera position

LockedFOV

Type: float

value FOV is locked at

ModifierList

Type: array<CameraModifier>

List of camera modifiers to apply during update of camera position/ rotation

OriginalColorScale

Type: Object.Vector

Color scale value at start of interpolation

PCOwner

Type: PlayerController

PlayerController Owning this Camera Actor

PendingViewTarget

Type: TViewTarget

Pending view target for blending

Default value:

Member Value
POV
Member Value
FOV 90.0

ViewTarget

Type: TViewTarget

Current ViewTarget

Default value:

Member Value
POV
Member Value
FOV 90.0

Default values

Property Value
bHidden True
CollisionType COLLIDE_CustomDefault

Enums

ECameraAnimPlaySpace

CAPS_CameraLocal 
This anim is applied in camera space
CAPS_World 
This anim is applied in world space
CAPS_UserDefined 
This anim is applied in a user-specified space (defined by UserPlaySpaceMatrix)

EViewTargetBlendFunction

VTBlend_Linear 
Camera does a simple linear interpolation.
VTBlend_Cubic 
Camera has a slight ease in and ease out, but amount of ease cannot be tweaked.
VTBlend_EaseIn 
Camera immediately accelerates, but smoothly decelerates into the target. Ease amount controlled by BlendExp.
VTBlend_EaseOut 
Camera smoothly accelerates, but does not decelerate into the target. Ease amount controlled by BlendExp.
VTBlend_EaseInOut 
Camera smoothly accelerates and decelerates. Ease amount controlled by BlendExp.

Structs

TCameraCache

Modifiers: native

The actors which the camera shouldn't see. Used to hide actors which the camera penetrates.

float TimeStamp 
Cached Time Stamp
Object.TPOV POV 
cached Point of View

TViewTarget

Modifiers: native

View Target definition A View Target is responsible for providing the Camera with an ideal Point of View (POV)

Actor Target 
Target Actor used to compute ideal POV
Controller Controller 
Controller of Target (only for non Locally controlled Pawns)
Object.TPOV POV 
Point of View
float AspectRatio 
Aspect ratio
PlayerReplicationInfo PRI 
PlayerReplicationInfo (used to follow same player through pawn transitions, etc., when spectating)

ViewTargetTransitionParams

Modifiers: native

A set of parameters to describe how to transition between viewtargets.

float BlendTime 
Total duration of blend to pending view target. 0 means no blending.
EViewTargetBlendFunction BlendFunction 
Function to apply to the blend parameter
float BlendExp 
Exponent, used by certain blend functions to control the shape of the curve.

Default values:

Property Value
BlendExp 2.0
BlendFunction VTBlend_Cubic

Functions

Static functions

CalcRadialShakeScale

static function float CalcRadialShakeScale (Camera Cam, Object.Vector Epicenter, float InnerRadius, float OuterRadius, float Falloff)

Internal. Returns intensity scalar in the range [0..1] for a shake originating at Epicenter.

PlayWorldCameraShake

static function PlayWorldCameraShake (CameraShake Shake, Actor ShakeInstigator, Object.Vector Epicenter, float InnerRadius, float OuterRadius, float Falloff, bool bTryForceFeedback, optional bool bOrientShakeTowardsEpicenter)

Static. Plays an in-world camera shake that affects all nearby players, with distance-based attenuation.

Native functions

ApplyCameraModifiers

native function ApplyCameraModifiers (float DeltaTime, out Object.TPOV OutPOV)

Apply modifiers on Camera.

Parameters:

  • DeltaTime - Time is seconds since last update
  • OutPOV - Point of View

CheckViewTarget

native function CheckViewTarget (out TViewTarget VT)

Make sure ViewTarget is valid

PlayCameraAnim

simulated native function CameraAnimInst PlayCameraAnim (CameraAnim Anim, optional float Rate, optional float Scale, optional float BlendInTime, optional float BlendOutTime, optional bool bLoop, optional bool bRandomStartTime, optional float Duration, optional bool bSingleInstance)

Play the indicated CameraAnim on this camera. Returns the CameraAnim instance.

SetViewTarget

native final function SetViewTarget (Actor NewViewTarget, optional ViewTargetTransitionParams TransitionParams)

Set a new ViewTarget with optional BlendTime

StopAllCameraAnims

simulated native function StopAllCameraAnims (optional bool bImmediate)

Stop playing all instances of the indicated CameraAnim. bImmediate: TRUE to stop it right now, FALSE to blend it out over BlendOutTime.

StopAllCameraAnimsByType

simulated native function StopAllCameraAnimsByType (CameraAnim Anim, optional bool bImmediate)

Stop playing all instances of the indicated CameraAnim. bImmediate: TRUE to stop it right now, FALSE to blend it out over BlendOutTime.

StopCameraAnim

simulated native function StopCameraAnim (CameraAnimInst AnimInst, optional bool bImmediate)

Stops the given CameraAnim instance from playing. The given pointer should be considered invalid after this.

Events

Destroyed

event Destroyed ()

Overrides: Actor.Destroyed


PostBeginPlay

event PostBeginPlay ()

Overrides: Actor.PostBeginPlay


UpdateCamera

simulated event UpdateCamera (float DeltaTime)

Performs camera update. Called once per frame after all actors have been ticked.

Other instance functions

AddCameraLensEffect

function AddCameraLensEffect (class<EmitterCameraLensEffectBaseLensEffectEmitterClass)

Initiates a camera lens effect of the given class on this camera.

AllowPawnRotation

function bool AllowPawnRotation ()


BlendViewTargets

final function Object.TPOV BlendViewTargets (const out TViewTarget A, const out TViewTarget B, float Alpha)

Blend 2 viewtargets.

Parameters:

  • A - Source view target
  • Alpha - Alpha, % of blend from A to B.

Paramn: B destination view target

ClearAllCameraShakes

function ClearAllCameraShakes ()


ClearCameraLensEffects

function ClearCameraLensEffects ()

Removes all Camera Lens Effects.

CreateCameraModifier

protected function CameraModifier CreateCameraModifier (class<CameraModifierModifierClass)

Internal. Creates and initializes a new camera modifier of the specified class, returns the object ref.

DisplayDebug

simulated function DisplayDebug (HUD HUD, out float out_YL, out float out_YPos)

Overrides: Actor.DisplayDebug

list important Camera variables on canvas. HUD will call DisplayDebug() on the current ViewTarget when the ShowDebug exec is used

Parameters:

  • HUD - HUD with canvas to draw on
  • out_YL - Height of the current font
  • out_YPos - Y position on Canvas. out_YPos += out_YL, gives position to draw text for next debug line.

FillCameraCache

final function FillCameraCache (const out Object.TPOV NewPOV)

Cache update results

FindCameraLensEffect

function EmitterCameraLensEffectBase FindCameraLensEffect (class<EmitterCameraLensEffectBaseLensEffectEmitterClass)

Finds the first instance of a lens effect of the given class, using linear search.

GetCameraViewPoint

final function GetCameraViewPoint (out Object.Vector OutCamLoc, out Object.Rotator OutCamRot)

Master function to retrieve Camera's actual view point. do not call this directly, call PlayerController::GetPlayerViewPoint() instead.

Parameters:

  • OutCamLoc - Camera Location
  • OutCamRot - Camera Rotation

GetFOVAngle

function float GetFOVAngle ()

returns camera's current FOV angle

InitializeFor

function InitializeFor (PlayerController PC)

Initialize Camera for associated PlayerController

Parameters:

  • PC - PlayerController attached to this Camera.

PlayCameraShake

function PlayCameraShake (CameraShake Shake, float Scale, optional ECameraAnimPlaySpace PlaySpace, optional Object.Rotator UserPlaySpaceRot)

Play a camera shake

ProcessViewRotation

function ProcessViewRotation (float DeltaTime, out Object.Rotator OutViewRotation, out Object.Rotator OutDeltaRot)

Give each modifier a chance to change view rotation/deltarot

RemoveCameraLensEffect

function RemoveCameraLensEffect (EmitterCameraLensEffectBase Emitter)

Removes this particular lens effect from the camera.

SetDesiredColorScale

simulated function SetDesiredColorScale (Object.Vector NewColorScale, float InterpTime)

Sets the new desired color scale and enables interpolation.

SetFOV

function SetFOV (float NewFOV)

Lock FOV to a specific value. A value of 0 to beyond 170 will unlock the FOV setting.

StopCameraShake

function StopCameraShake (CameraShake Shake)

Stop playing a camera shake.

UpdateViewTarget

function UpdateViewTarget (out TViewTarget OutVT, float DeltaTime)

Query ViewTarget and outputs Point Of View.

Parameters:

  • OutVT - ViewTarget to use.
  • DeltaTime - Delta Time since last camera update (in seconds).