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);
}
}
UE4 c++重构简单死亡之眼的效果的更多相关文章
- Page Scroll Effects - 简单的页面滚动效果
Codyhouse 收集了一组页面滚动效果,就是目前大家很常见的用户在浏览网页的时候.一些效果虽然极端,但如果你的目标是创建一个身临其境的用户体验,他们是非常有用的.所有的动画都使用 Velocity ...
- 利用JS实现简单的瀑布流效果
哈哈, 我又来啦, 在这一段时间里, 我简单的学习了一下javascript(JS), 虽然不是很懂啦, 但是我也简单的尝试着做了点小东西, 就比如现在流行的瀑布流效果, 经过我的努力终于成功的完成了 ...
- jQuery 简单滑动轮播图效果
一般页面简单轮播图效果用jQuery制作更加简单.我们来看看以下效果是如何来进行制作的. 其html结构下所示: <div id="box"> < ...
- 拖拽系列一、JavaScript实现简单的拖拽效果
前端拖拽相关应用汇总 在现实生活中就像男孩子牵着(拖着)女朋友的手穿过马路:从马路的一端走到另一端这种场景很常见: 而在前端开发中拖拽效果也算是前端开发中应用最常见.最普遍的特效:其拖拽涉及知 ...
- JavaScript实现最简单的拖拽效果
一.一些无关痛痒的唠叨 拖拽还是挺不错的一个页面效果,我个人认为,其生命力在于可以让用户自己做一些操作,所谓自定义.例如: ①浏览器标签顺序的拖拽切换 现在基本上所有的选项卡式的浏览器都有顺序拖拽切换 ...
- jquery监听事件on写法以及简单的拖拽效果
引子——关于jquery的某些写法 我先不对监听事件做解释,我们先来看下jquery的一些写法吧!我们最常用的是jquery的css()方法,相信大家都会用! 假如用css设置一个属性,我们写法如下: ...
- 【UE4 设计模式】简单工厂模式 Simple Factory Pattern
概述 描述 又称为静态工厂方法 一般使用静态方法,根据参数的不同创建不同类的实例 套路 创建抽象产品类 : 创建具体产品类,继承抽象产品类: 创建工厂类,通过静态方法根据传入不同参数从而创建不同具体产 ...
- UE4简单实现描边高亮效果
材质文件下载地址: 链接:https://pan.baidu.com/s/10HUmXR_YNMOTF-Cg4ybuUg 提取码:m1my 1. 将材质文件放到Content目录中 2. 在项目中添加 ...
- UE4 距离场简单分析
距离上一篇博客已经有点久了,中间忙的飞起,忽然发现很久没写了,这样不好,写一篇和工作无关的吧. 一直想搞清UE4距离场的原理,网上有几乎找不到任何有关UE4距离场实现的内容,加上上篇末说要写一个完全的 ...
- vue中引入mintui、vux重构简单的APP项目
最近在学习vue时也了解到一些常用的UI组件,有用于PC的和用于移动端的.用于PC的有:Element(饿了么).iView等:用于移动端APP的有Vux.Mint UI(饿了么).Vant(有赞团队 ...
随机推荐
- 使用DeskPins工具钉住窗口
需求 我们经常一边看着PDF或视频教程,一边又打开一个文本编辑器/word/markdown编辑器在做一些笔记.问题是有时候呀需要来回切换(alt+tab)窗口,时间长了其实费时费力,这是一名工程师无 ...
- 使用 Oracle PL/SQL NOCOPY 提示
参考文献: official document: http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/tuning.htm#LNPL ...
- Flex 弹性盒子布局
可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? 1. 弹性盒子布局概念 Flex 是 Flexible Box 的缩写,意为"弹性布 ...
- C语言之牛必克拉斯 main() 函数
C语言之main()函数 C程序最大的特点就是所有的程序都是用函数来装配的.main()称之为主函数,是所有程序运行的入口.其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的 ...
- AT_abc342_d 题解
UD 2024/2/24 22:36 感谢 Lixiang_is_potato 指出一处笔误. 本文同步发表于洛谷. 赛时挂了,但是赛后 3min AC,我是飞舞. 题意 给你一个长度为 \(N\) ...
- 单词本z ctrl shift alt - tr踩踏 shi流出 al不同
单词本z ctrl shift alt ctrl = control = 控制 con = com = 一起 tr- = 踩 踏 - 原始印欧语形式为 *der- contra = 相对,相反(一起踩 ...
- idea branch 分支比较 | git 查看分支命令 `git branch -vv`
git 查看分支命令 git branch -vv
- C#项目管理引用的dll文件
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期使用. 设置dll路径 参考C#开发奇技淫巧三:把dll放在不同的目录让你的程序更整洁中间的 方法一:配置App.config文件的pri ...
- C#泛型的类型参数约束
常用约束 约束告知编译器类型参数必须具备的功能. 在没有任何约束的情况下,类型参数可以是任何类型. 编译器只能假定 System.Object 的成员,它是任何 .NET 类型的最终基类. 如果客户端 ...
- Python 动态网页Fetch/XHR爬虫——以获取NBA球员信息为例
Python 动态网页Fetch/XHR爬虫--以获取NBA球员信息为例 动态网页抓取信息,一般利用F12开发者工具-网络-Fetch/XHR获取信息,实现难点有: 动态网页的加载方式 获取请求Url ...