概要
UnrealEngine の APlayerCameraManager
のフェード機能についてのメモ書き。
環境
Windows10
Visual Studio 2017
UnrealEngine 4.26
参考
以下を参考にさせて頂きました、ありがとうございます。
公式:カメラ
公式:APlayerCameraManager
参考コード
"Engine\Source\Runtime\Engine\Classes\Camera\PlayerCameraManager.h"
"Engine\Source\Runtime\Engine\Private\PlayerCameraManager.cpp"
フェード機能について
APlayerCameraManager
にフェード機能があります。
以下メソッド名。
StartCameraFade
指定カラーでカメラをフェードします。
引数名 | 説明 |
---|---|
FromAlpha | フェード処理開始時のアルファ値 |
ToAlpha | フェード処理終了時のアルファ値 |
Duration | フェード処理時間 |
Color | フェードカラー |
ShouldFadeAudio | アルファ値と共にオーディオボリュームをフェードさせるか |
HoldWhenFinished | フェード処理終了時にその状態を維持するか |
StopCameraFade
フェード処理を中止します。
SetManualCameraFade
アニメーションではなく指定の不透明度でフェードします。
引数名 | 説明 |
---|---|
InFadeAmount | 指定のアルファ値 |
Color | フェードカラー |
InFadeAudio | アルファ値と共にオーディオボリュームをフェードさせるか |
BP使用例
1
キーで黒色フェードアウト、2
キーでフェードインしてみる例。
Hold When Finished
にチェックを入れると ToAlpha
で処理が止まります。
画面を不透明度0.5に設定してみる例。アニメーションはしません。
C++コード
フェードに関したC++メソッド。
// 指定されたカラーでフェード処理を行う。不透明度は `FromAlpha` から `ToAlpha` まで。`bHoldWhenFinished` を `true` にした場合は `ToAlpha`で処理が止まります。
UFUNCTION(BlueprintCallable, Category = "Camera Fades")
virtual void StartCameraFade(float FromAlpha, float ToAlpha, float Duration, FLinearColor Color, bool bShouldFadeAudio = false, bool bHoldWhenFinished = false);
// フェード処理を停止
UFUNCTION(BlueprintCallable, Category = "Camera Fades")
virtual void StopCameraFade();
// 指定された不透明度でフェード処理を行う、アニメーションはしません。終了する場合は`StopCameraFade`を呼ぶ。
UFUNCTION(BlueprintCallable, Category = "Camera Fades")
virtual void SetManualCameraFade(float InFadeAmount, FLinearColor Color, bool bInFadeAudio);
まとめ
最近まで知らなかった機能だったのでメモ書きしました。
UE5にもあるようなのでいずれ使う時がくるはず。。