UE4 c++重构简单死亡之眼的效果
虚幻社区中有蓝图教学视频
使用C++重构,主要用到UGameplayStatics类中的SetGlobalTimerDilation方法,以及角色的相机管理器的调用,之后通过StartCameraFade方法实现显示效果
UE4中的时间膨胀
参考
全局方法:SetGlobalTimerDilation(GetWorld(),Timer);
对单个对象的时间膨胀:this->CustomTimeDilation = Timer;
Timer的选择主要有4个层级
- 0:super lenta
- 0.25: lenta
- 1: normal
- 2: rapida
获取相机管理器
UE4为相机管理器专门建立了一个类APlayerCameraManager,我们需要利用UGameplayStatics::GetPlayerCameraManager获取当前角色的相机。需要传入UObject和index。
实现颜色变化效果
相当于给摄像机加一个滤镜,所以利用上一步获取的摄像机对象调用StartCameraFade()方法
void APlayerCameraManager::StartCameraFade(float FromAlpha, float ToAlpha, float InFadeTime, FLinearColor InFadeColor, bool bInFadeAudio, bool bInHoldWhenFinished)
实现FlipFlop效果
参考
首先定义一个布尔变量,然后每次调用函数,改变这个布尔变量的值。
bool bFlipFlop = false;
void FlipFlop()
{
bFlipFlop = !bFlipFlop;
}
完整c++代码
//.h文件
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
bool bFlipFlop;
/** 实现慢动作播放*/
void DeathEyes();
//.cpp文件
bFlipFlop = false;//构造函数中
//void ASimpleDeathEyesCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent)
PlayerInputComponent->BindAction("DE", IE_Pressed, this, &ASimpleDeathEyesCharacter::DeathEyes);
void ASimpleDeathEyesCharacter::DeathEyes()
{
bFlipFlop = !bFlipFlop;
if (bFlipFlop)
{
UGameplayStatics::SetGlobalTimeDilation(GetWorld(), 0.25f);
APlayerCameraManager* TargetCamera = UGameplayStatics::GetPlayerCameraManager(this, 0);
FColor MyColor1 = FColor(255, 192, 203, 255);
TargetCamera->StartCameraFade(0.0f, 0.25f, 1.0f, MyColor1, false, true);
}
else
{
UGameplayStatics::SetGlobalTimeDilation(GetWorld(), 1.0f);
APlayerCameraManager* TargetCamera = UGameplayStatics::GetPlayerCameraManager(this, 0);
FColor MyColor2 = FColor(0, 0, 0, 255);
TargetCamera->StartCameraFade(0.0f, 0.0f, 0.0f, MyColor2, false, false);
}
}
作者:XTG111
出处:https://www.cnblogs.com/XTG111/p/17818123.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律