I don't need to test my programs. I have an error-correcting modem.

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

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
(Talk)
 
m (1 revision: class descriptions for UDK January update (part 1))
 
(One intermediate revision by one other user not shown)
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

Latest revision as of 05:37, 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[edit]

MAX_ACTIVE_CAMERA_ANIMS[edit]

Value: 8


Properties[edit]

Property group 'Camera'[edit]

CameraShakeCamMod[edit]

Type: CameraModifier_CameraShake

Modifiers: editinline, transient

Camera modifier for cone-driven screen shakes

CameraShakeCamModClass[edit]

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[edit]

AccumulatedCameraAnimPPSettings[edit]

Type: PostProcessVolume.PostProcessSettings

Modifiers: transient

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

ActiveAnims[edit]

Type: array<CameraAnimInst>

Modifiers: protected

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

AnimCameraActor[edit]

Type: DynamicCameraActor

Modifiers: protected, transient

Internal. Receives the output of individual camera animations.

AnimInstPool[edit]

Type: CameraAnimInst

Array size: 8 (MAX_ACTIVE_CAMERA_ANIMS)

Modifiers: protected

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

bCamOverridePostProcess[edit]

Type: bool

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

bConstrainAspectRatio[edit]

Type: bool

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

bEnableColorScaleInterp[edit]

Type: bool

Should interpolate color scale values

bEnableColorScaling[edit]

Type: bool

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

bEnableFading[edit]

Type: bool

If we should apply FadeColor/FadeAmount to the screen.

BlendParams[edit]

Type: ViewTargetTransitionParams


Default value:

Member Value
BlendExp 2.0
BlendFunction VTBlend_Cubic

BlendTimeToGo[edit]

Type: float

Time left when blending to pending view target

bLockedFOV[edit]

Type: bool

true if FOV is locked to a constant value

CameraCache[edit]

Type: TCameraCache


Default value:

Member Value
POV
Member Value
FOV 90.0

CameraLensEffects[edit]

Type: array<EmitterCameraLensEffectBase>

Modifiers: protected, transient

CameraBlood emitter attached to this camera

CameraStyle[edit]

Type: name

Camera Mode

CamPostProcessSettings[edit]

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[edit]

Type: Object.Vector

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

ColorScaleInterpDuration[edit]

Type: float

Total time for color scale interpolation to complete

ColorScaleInterpStartTime[edit]

Type: float

Time at which interpolation started

ConstrainedAspectRatio[edit]

Type: float

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

DefaultAspectRatio[edit]

Type: float

Default aspect ratio

Default value: 1.33333

DefaultFOV[edit]

Type: float

default FOV

Default value: 90.0

DesiredColorScale[edit]

Type: Object.Vector

Desired color scale which ColorScale will interpolate to

FadeAlpha[edit]

Type: Object.Vector2D

camera fade management

FadeAmount[edit]

Type: float

Amount of fading to apply.

FadeColor[edit]

Type: Object.Color

Color to fade to.

FadeTime[edit]

Type: float


FadeTimeRemaining[edit]

Type: float


FreeAnims[edit]

Type: array<CameraAnimInst>

Modifiers: protected

Array of anim instances that are not playing and available

FreeCamDistance[edit]

Type: float

Distance to place free camera from view target

Default value: 256.0

FreeCamOffset[edit]

Type: Object.Vector

Offset to Z free camera position

LockedFOV[edit]

Type: float

value FOV is locked at

ModifierList[edit]

Type: array<CameraModifier>

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

OriginalColorScale[edit]

Type: Object.Vector

Color scale value at start of interpolation

PCOwner[edit]

Type: PlayerController

PlayerController Owning this Camera Actor

PendingViewTarget[edit]

Type: TViewTarget

Pending view target for blending

Default value:

Member Value
POV
Member Value
FOV 90.0

ViewTarget[edit]

Type: TViewTarget

Current ViewTarget

Default value:

Member Value
POV
Member Value
FOV 90.0

Default values[edit]

Property Value
bHidden True
CollisionType COLLIDE_CustomDefault

Enums[edit]

ECameraAnimPlaySpace[edit]

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[edit]

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[edit]

TCameraCache[edit]

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[edit]

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[edit]

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[edit]

Static functions[edit]

CalcRadialShakeScale[edit]

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[edit]

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[edit]

ApplyCameraModifiers[edit]

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[edit]

native function CheckViewTarget (out TViewTarget VT)

Make sure ViewTarget is valid

PlayCameraAnim[edit]

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[edit]

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

Set a new ViewTarget with optional BlendTime

StopAllCameraAnims[edit]

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[edit]

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[edit]

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[edit]

Destroyed[edit]

event Destroyed ()

Overrides: Actor.Destroyed


PostBeginPlay[edit]

event PostBeginPlay ()

Overrides: Actor.PostBeginPlay


UpdateCamera[edit]

simulated event UpdateCamera (float DeltaTime)

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

Other instance functions[edit]

AddCameraLensEffect[edit]

function AddCameraLensEffect (class<EmitterCameraLensEffectBaseLensEffectEmitterClass)

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

AllowPawnRotation[edit]

function bool AllowPawnRotation ()


BlendViewTargets[edit]

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[edit]

function ClearAllCameraShakes ()


ClearCameraLensEffects[edit]

function ClearCameraLensEffects ()

Removes all Camera Lens Effects.

CreateCameraModifier[edit]

protected function CameraModifier CreateCameraModifier (class<CameraModifierModifierClass)

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

DisplayDebug[edit]

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[edit]

final function FillCameraCache (const out Object.TPOV NewPOV)

Cache update results

FindCameraLensEffect[edit]

function EmitterCameraLensEffectBase FindCameraLensEffect (class<EmitterCameraLensEffectBaseLensEffectEmitterClass)

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

GetCameraViewPoint[edit]

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[edit]

function float GetFOVAngle ()

returns camera's current FOV angle

InitializeFor[edit]

function InitializeFor (PlayerController PC)

Initialize Camera for associated PlayerController

Parameters:

  • PC - PlayerController attached to this Camera.

PlayCameraShake[edit]

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

Play a camera shake

ProcessViewRotation[edit]

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

Give each modifier a chance to change view rotation/deltarot

RemoveCameraLensEffect[edit]

function RemoveCameraLensEffect (EmitterCameraLensEffectBase Emitter)

Removes this particular lens effect from the camera.

SetDesiredColorScale[edit]

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

Sets the new desired color scale and enables interpolation.

SetFOV[edit]

function SetFOV (float NewFOV)

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

StopCameraShake[edit]

function StopCameraShake (CameraShake Shake)

Stop playing a camera shake.

UpdateViewTarget[edit]

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).