多人游戏的关卡切换分为无缝和非无缝.非无缝切换时,客户端将跟服务器断开连接,然后重新连接到同一个服务器,服务器则加载一个新地图.无缝切换不会发生这样的情况. 有三个函数供我们使用:UEngine::Browse.UWorld::ServerTravel 和 APlayerController::ClientTravel. 1,UEngine::Browse 非无缝切换,切换到目标地图前将断开跟客户端的连接. 2,UWorld::ServerTravel 只能在服务器调用,将服务器跳转到新地图,所…
切换关卡 基于 UGameplayStatics:: OenLevel UGameplayStatics::OpenLevel(GetWorld(), TEXT("NewMap")); OpenLevelBySoftObjectPtr FSoftObjectPath NewMapPath(TEXT("World'/Game/CPPFunction/Interface/NewMap.NewMap'")); TSoftObjectPtr<UWorld> Ne…
前言   根据UE4官方文档的介绍,UE4引擎在架构时就已经考虑到了多人游戏的情景,多人游戏基于客户端-服务器模式(CS模式).也就是说,会有一个服务器担当游戏状态的主控者,而连接的客户端将保持近似的副本.服务器是UE4多人游戏的一个重要部分,其作用是:做出所有重要决定,包含所有的主控状态.处理客户端连接.转移到新的地图以及处理比赛开始/结束时的总体游戏流程.   服务器的功能开发在UE4中也非常简单,UE4本身是支持客户端/服务器逻辑混合开发的,在蓝图中创建好自定义事件(Custom Even…
UE4 概念知识 基础概念--文件结构.类型.反射.编译.接口.垃圾回收.序列化[导图] GamePlay架构[导图] 类的继承层级关系[导图] 反射机制 垃圾回收机制/算法 序列化 Actor 的生命周期 引擎运行流程 渲染流程 UE4 C++ 基础编程 UPROPERTY宏.属性说明符.元数据说明符 UFUNCTION宏.函数说明符.元数据说明符 基本数据类型.字符串处理及转换 枚举 Enum.结构体 Struct 容器--TArray 容器--TMap 容器--TSet Delegate…
在介绍UE4渲染体系前,我们有必要来先看一下UE4是用什么样的方式来构建游戏场景数据的. 1 Object 在UE4中当我们说Object,通常是指代引擎代码中的UObject类,它是引擎里管理绝大部分类和对象的基石,这是因为它提供了非常多的开发者需要的功能特性,例如元数据.反射.垃圾回收.序列化.编辑器支持等一系列功能. 与Unity中的物体容器GameObject相比(名字上类似),个人理解UObject存在更像是一种UE4提供的开发核心工具箱,各种需要高复用性的核心功能都集成到里面,不仅仅…
我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIController.Actor的逻辑编写介绍完了,那么本篇,我们继续爬升,对于由Actors组成的Level这一层次,UE又是怎么控制的呢? 对Level记不太清楚的朋友,可以翻回去查看"GamePlay架构(二)Level和World"的讲述,简单概括就是World是由一个PersisitentLe…
UE4自带网络联机功能,但是似乎只有蓝图接口,而真正写功能的时候不能用C++,让人感觉相当诡异 还是作一个简单记录 1.建一个第三人称模板,为什么会用他呢,因为它自带模板的很多组件,直接支持联机功能,相当方便,找到工程目录下的Config/DefaultEngine.ini,在里面添加OnlineSubsystem,开启联机功能(最好重启一下工程,他才会读取这个文件配置) [OnlineSubsystem] DefaultPlatformService=<Default Platform Ide…
Note:因为在切换关切时,会GC掉所有GameThread线程下的Object类,如果Static是UOBject 请调用AddToRoot函数  当然如果你的UObject子类Object是在自己的FRunnable 下创建的非RenderThread线程是不存在在OpenLevel时被GC的 UE4 无法在.H 定义C++ Static 成员: 要实现类似功能 可通过以下代码 或参考Singleton 单例设计模式: .Cpp文件 TMap<int32, FDataCpp_BaseGood…
截至UE4  4.10 runtime 无法生成BSP类 ,只能通过自定义的Mesh的Vertex 进行绘制 ( Google 考证,能改UE4源码的请忽略 ) 可用到的 UE4 集成的Render Plugins : CustomMeshComponent ProceduralMeshComponent 以下是参考 参考文献: https://wiki.unrealengine.com/Procedural_Mesh_Generation https://answers.unrealengin…
转自:http://blog.csdn.net/u011707076/article/details/44903223 LevelStream 实现超大无缝地图--官方文档学习 The Level Streaming feature makes it possible to load and unload map files into memory as well as toggle their visibility all during play. This makes it possible…