UE4 Replay重播系统(游戏死亡回放) 制作及问题解决
引擎版本:4.26
参考博客
Wiki上大神:Replay System Tutorial给出了教程基本可以实现功能。(翻译版本:重播系统测试版本)
根据上述案例制作后,在MyGameInstance.cpp中出现了一些问题,可以参考这位博主"JiangCoolguy"的文章:重播系统问题修复
其他问题修复
1. 无法打开包括文件: “NetworkVersion.h”: No such file or directory
解决:
在MyGameInstance.cpp中头文件,将
#include "NetworkVersion.h"
修改为
#include "Misc/NetworkVersion.h"
2.“INetworkReplayStreamer::EnumerateStreams”: 函数不接受 4 个参数
找到INetworkReplayStreamer::EnumerateStreams”的函数定义,
解决:
在MyGameInstance.cpp中FindReplays函数,
void UMyGameInstance::FindReplays()
{if (EnumerateStreamsPtr.Get()){EnumerateStreamsPtr.Get()->EnumerateStreams(FNetworkReplayVersion(), FString(), FString(), OnEnumerateStreamsCompleteDelegate);}
}
修改函数参数为:
void UMyGameInstance::FindReplays()
{if (EnumerateStreamsPtr.Get()){EnumerateStreamsPtr.Get()->EnumerateStreams(FNetworkReplayVersion(), int32(), FString(), TArray<FString>(), OnEnumerateStreamsCompleteDelegate);}
}
3.“GameSavedDir”: 不是“FPaths”的成员
解决:
需要找到项目的Save文件.
在MyGameInstance.cpp中RenameReplay()函数,
由
const FString DemoPath = FPaths::Combine(*FPaths::GameSavedDir(), TEXT("Demos/"));
修改为:
const FString DemoPath = FPaths::Combine(*FPaths::ProjectSavedDir(), TEXT("Demos/"));
总结:
Pawn派生出的三个重要的类:
DefaultPawn
DefaultPawn里默认带了一个DefaultPawnMovementComponent、spherical CollisionComponent(球形碰撞组件)和StaticMeshComponent。
SpectatorPawn
SpectatorPawn提供了一个基本的USpectatorPawnMovement(不带重力漫游),并关闭了StaticMesh的显示,碰撞也设置到了“Spectator”通道;用来提供某些游戏里解说视角,即可以不显示玩家角色,但玩家可以控制摄像机观察整个游戏世界;
Character
Character可以理解为一个人形的Pawn,在Pawn的基础上新增了像人一样行走的CharacterMovementComponent(移动组件),CapsuleComponent(胶囊体组件),mesh(骨骼上蒙皮的网格);
Replay Sepectator Player Controller Class:
当处于观察者模式时,调用的controller!! 这一点非常重要.
UE4 Replay重播系统(游戏死亡回放) 制作及问题解决相关推荐
- UE4 录制及重播功能(类似死亡回放) 基于Wiki教程修改
UE4中录制和重播功能也是通过网络功能实现的,即使是单机同样可以实现. 官方文档中介绍官方文档--重播系统 重播系统的工作原理是使用 DemoNetDriver从内置复制系统读取数据,类似于NetDr ...
- 【Unity学习】完全基于Ultimate Replay 2.0的UI回放系统
完全基于Ultimate Replay 2.0的UI回放系统 前言 针对固定UI实时更新的情况 针对代码生成的UI实时更新的情况 Demo下载 前言 前面两节已经介绍了本人在项目中使用的结合JSON和 ...
- 【UE4 第一人称射击游戏】41-让“M4A1”拥有独立的弹药系统
上一篇: [UE4 第一人称射击游戏]40-改变武器的可见性 本篇效果: 可以看到当玩家使用"AK47"消耗了弹药后切换为"M4A1","M4A1&q ...
- [玩转UE4/UE5动画系统>Control Rig篇] 之 Control Rig + Fullbody IK版的足部IK实现(附项目代码)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的资 ...
- UE4 热更新系统开发
哈喽,大家好,我叫人宅,很高兴和大家分享本套课程的内容. 在我们部署好我们的服务器后,有没有为我们的资源更新和资源下载而苦恼过,有没有为UE4 pak加载加密和读取解密而费尽脑汁过,有没有为我们资源压 ...
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 Foot IK系统(ALS V4实现方案详解)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式. 教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>. 教程中使 ...
- [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的 ...
- 【UE4 第一人称射击游戏】08-使用“AK47”发射子弹
上一篇: [UE4 第一人称射击游戏]07-添加"AK47"武器 本节效果: 步骤: 1.在"Blueprints"文件夹内添加一个Actor蓝图,命名为&qu ...
- [玩转UE4/UE5动画系统>Control Rig篇] 之 使用Control Rig实现目标偏移(Aim Offset)(附项目代码)
本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的资 ...
最新文章
- 2020,国产AI开源框架“亮剑”TensorFlow、PyTorch
- Docker(一):这可能是最为详细的Docker入门总结
- DIY混合BCI刺激系统:SSVEP-P300 LED刺激
- sublime text 3170 破解工具
- 开发进度月报(GB8567——88)
- CUDA实现QuickSortr排序算法(一)
- 微服务架构学习与思考(03):微服务总体架构图解
- antdesign——select搜索
- 计算机系统盘怎么扩充,如何给电脑c盘扩容
- 适合高中生的计算机相关知识,高中生学习计算机知识的方向浅议.doc
- 前后端分离,图片(资源)路径如何处理
- 基于高通SNPE推理引擎的yolov5目标检测算法
- 揣着一口袋的阳光满载而归--爱摸鱼的美工(13)
- 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
- VMware安装Centos7和卸载超详细过程(图文)
- APP安装与卸载测试点
- Python数据分析【第11天】| DataFrame转化格式并保存(to_excel(),to_json(),to_csv())
- 推荐系统论文笔记(1):Hybrid Recommender Systems:Survey and Experiments
- sdkman 管理开发中使用的sdk
- Box and Ball