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(有赞团队 ...
 
随机推荐
- HTTP协议发展历程
			
HTTP协议发展历程 HTTP超文本传输协议是一个用于传输超文本文档的应用层协议,它是为Web浏览器与Web服务器之间的通信而设计的,HTTP协议到目前为止全部的版本可以分为HTTP 0.9.HTTP ...
 - [Android 逆向]frida 破解 切水果大战原版.apk
			
1. 手机安装该apk,运行,点击右上角礼物 提示 支付失败,请稍后重试 2. apk拖入到jadx中,待加载完毕后,搜素失败,找到疑似目标类MymmPay的关键方法payResultFalse 4. ...
 - .Net 6 WebAPI 使用JWT进行 授权认证配置
			
.Net 6 WebAPI 使用JWT进行 授权认证 1.安装组件(Nuget) Microsoft.AspNetCore.Authentication.JwtBearer 2.Program.cs ...
 - InSAR处理软件——Gamma 安装教程
			
Gamma是由瑞士 GAMMA Remote Sensing 公司开发SAR数据处理软件,支持SAR数据全流程处理,是最InSAR最常用的软件.下面介绍该软件的安装流程,安装环境为Ubuntu16.0 ...
 - RK3568开发笔记(八):开发板烧写buildroot固件(支持hdmi屏),搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试
			
前言 前面发现开发板用ubuntu固件发现空间不够,本篇使用buildroot固件,来实现目标板运行qt界面应用. 烧写buildroot固件 这部分更详细的参照<RK3568开发笔 ...
 - Flask学习(三)
			
数据库操作 数据库驱动(drivers)模块:pymysql.MySQLDB ORM ORM 全拼Object-Relation Mapping,中文意为 对象-关系映射.主要实现模型对象到关系数据库 ...
 - ASP.NET  读取FTP文件流
			
参考资料 ASP.NET 上传文件到共享文件夹 工具类代码 /// <summary> /// 读取ftp文件流 /// </summary> /// <param na ...
 - GPS坐标系转换 go golang 版本
			
GPS坐标系转换 坐标系 解释 WGS84坐标系 地球坐标系,国际通用坐标系 GCJ02坐标系 火星坐标系,WGS84坐标系加密后的坐标系:Google国内地图.高德.腾讯地图 使用 BD09坐标系 ...
 - 【Azure Storage Account Table】询问批量将存储账户中的表嵌入另一个账户中的办法
			
问题描述 询问批量将存储账户中的表嵌入另一个账户中的办法? 问题解答 方式一:使用 AzCopy 使用Az copy做表格的导入导出,注意您需要使用Azcopy 7.3版本来实现对Table的操作,可 ...
 - 【Azure 事件中心】Spring Cloud Stream Event Hubs Binder 发送Event Hub消息遇见 Spec. Rule 1.3 - onSubscribe, onNext, onError and onComplete signaled to a Subscriber MUST be signaled serially 异常
			
问题描述 开发Java Spring Cloud应用,需要发送消息到Azure Event Hub中.使用 Spring Cloud Stream Event Hubs Binder 依赖,应用执行一 ...