大家好,我叫人宅,目前工作上比较忙,更新内容会很不及时。

在这里简单的介绍一下关于UE4C++既基础又比较核心的技术,方便大家在开发游戏或者项目的时候有一丝借鉴。UE4引擎是一个庞大,复杂,又井然有序的系统,如果你是一位游戏软体开发爱好者,在开发中有对某个模块,功能,架构无从下手,这款引擎绝对是一本非常优秀的教科书,当然,它并不是什么内容包含了。既然要学习这款引擎,必备一颗敬畏的心。在很多年前,人宅自己入门UE4的时候迫切的希望有一部能讲解比较全面的基础教程,最好是涉及到UE4游戏开发方方面面的教程,但很可惜,当年并没有这类型的教程和书籍,讲解的也是比较单一,除了蓝图,几个变数和函数,射线等,再没有类似的比较全面的内容,都是需要自己摸索,当年的官网,这方面内容十分缺少!这个时间也过去很久。到现在很多模块都在摸索,弯路十八弯。这些基础应该在初学的时候就应当掌握的技能,学习很多年的UE4程序员有的地方也不太了解,这也是极其正常的情况。这在开发中会十分阻碍,往往就陷入到了闭门造轮子的地步,等造出来发现UE4有这个功能。白白加班。

以下的内容适合转行过来想系统了解UE4的或者毕业生想从事UE4行业等新人;


一.常用的变数:

这个是基础,没什么好解释,C和C++基础,必须搞懂这些基础东西,否则数据都不知道该怎么处理;在这一章我们会讲解基础变数,bool,int等基础变数,同时会关联C++变数相对应的内容。字元串的处理,也会在这一章讲解。同时会系统讲解FName ,FText,FString.所暴露给蓝图的函数节点。字元串操作,切割字元串,(这个很重要,在做序列化和反序列化的时候知道应该怎么切割,知晓UE4蓝图字元串处理,使我们事半功倍,而不至于重新造轮子)。还有基本的变化。二.流程式控制制:这个也是基础,比如for(;;) ,if() ,while ,do {}while()等基础内容,UE4蓝图由扩展了几个,比如DoOnce,阀门等;我们会用C++和蓝图结合的方式讲解这方面的内容,在学习蓝图的基本的同时可以了解C++里面对这些基本流程的控制。三.容器:

C++标准模板库STL,里面拥有各种各样的容器,有C++基础的人基本上都清楚这些容器,不管怎么样还是要解释一下容器,容器是具有动态的数组,可以将变数存储在里面,用户不需要直接分配一块内存,只需要添加即可,完全可以当做黑盒使用,里面的细节都是由容器自己完成,等下次需要的时候取出;由于存储方式不同,存储内部原理不同,出现了各种容器,这是STL容器。UE4容器取其精华去其糟粕,将STL里面的容器总结为常用的三种容器它们分别是 TArray<>;TMap<>;TSet(当然还有很多容器,比如链表和队列等,目前的UE4版本暂时不支持蓝图版本的队列和链表);这些必须都要掌握.什么时候用TMap,什么时候用TArray,什么时候TSet;别看这些很简单,用不好,效率会变得很低。基础扎实的有经验的看看官网文档就能解决,但是基础薄弱的或者转行到计算机这个行业的新人,知识储备和经验没有到那个程度,官网很多技术内容 看不懂的,这个非常理解。

四.蓝图介面:这一章我们主要讲解蓝图介面,什么是蓝图介面,就是我们的基础类暴露给上层蓝图使用的函数,事件函数,事件。比如GameMode,在多人游戏当中,它充当著服务端,里面有关于登陆,登出,开服和闭服,加入和T人的介面。了解这些介面,对我们架构UE4伺服器非常有利。同样Actor也有,Controller,UMG也有,它们都不同,而这一章我们就系统的聊聊这些介面的使用方式。五.蓝图间的访问这一章主要讲解关于蓝图间的通讯方式,如果你是新人,这章非常重要。六.UE4组件这一章节主要讲解UE4常用组件,在设计与架构里,有一种架构,装饰模式,UE4组件模式就是基于此,比如一个角色,它可以成为任何东西,一旦被分配了组件,它的意义就具体。那我们形象一点,一个玩家控制的角色,它没有技能,所有的技能都是组件,我们给它安装了几个技能组件,它就有了这些组件的技能,去掉后就没有了。基于此的架构下角色非常灵活,这就是UE4组件的威力。

我们了解了组件的架构,但是不清楚UE4自带的那些组件具体的意义,很容易导致自造轮子。这章节的目的就是为此而设立的,我们会讲解常用到的组件,帮您解决这方面疑惑,避免自造轮子,造成不必要的时间成本;

详细可以参考下面的目录。七.资料库UE4也有资料库.本地资料库,如果不考虑多并发,当然也可以作为线上资料库。在我们架构伺服器常常用到的资料库MySql,MySql主要提供了这几个功能 增删查改 ,我们可以基于UE4的序列化结构,实现一套自己的增删查改,以及多表联查,索引等;不仅如此,我们可以让它做的更多,比如支持Json,CSV,使策划修改这些表的属性后,我们能及时更新到这些基础属性。这个章节我们会讲解这方面的内容,方便入门的同学尽快了解这些概念。八.UE4服务端和客户端这一章我们会像讲解UE4服务端和客户端相关架构下的基础内容。比如UE4提供的RPC,游戏中的开房的概念。我们还会讨论UE4下服务端和客户端通信原理,帮助学员理解什么是同步,复制,多播,所有权,房间概念,如何进行简单的网路游戏思路。这一章都会讲解。

九.Session

这一章我们会讲解基于UE4网路架构下的Session的通讯原理,并且使用Session演示如何制作一款简单的多人联机游戏,最终目的是一定要让学员把概念吃透。十.UMG这一章我们会讲解UE4UMG,主要讲解常常使用到的UMG控制项,知己知彼 方能百战不殆,这一节的讲解内容会对我们后面学习编辑器slate UI有很大帮助。以下是 UE4游戏开发核心技术基础 --- 目录:

第一章 变数1-1第三人称模板介绍1-2Blueprint和C++基础变数讲解

1-3Name与Text

1-4String操作1-5字元串切割1-6坐标转换与万象锁第二章 流程式控制制2-1C++和蓝图循环2-2C++和蓝图的结构体枚举和switch2-3Gate和DoOnceDelayFlipFlop2-4SequenceDoOneceMutiInputMultiGate2-5用C++实现蓝图节点流程式控制制

第三章UE4容器和C++Stl容器

3-1Array和vector容器3-2蓝图Set和stl里面的set3-3蓝图Map和stlMap3-4容器之间的优缺点第四章 事件介面4-1封装逻辑与UE4蓝图代理使用4-2Actor事件介面4-3Character事件介面4-4服务端事件介面上

4-5服务端事件介面下

4-6UMG介面坐标转换4-7UMG介面绘制图形和滑鼠响应4-8UMG介面动画和键盘按键响应4-9UMG介面图标的拖拽第五章 蓝图间的访问5-1通过实例访问5-2管理模式访问5-3蓝图介面访问5-4UMG访问的正确方式

第六章 组件

6-1基础组件6-2渲染组件自定义UE4模型6-3渲染组件系列6-4AI组件和A星演算法第七章 资料库搭建7-1基于Save增删查改7-2SCV和Json7-3动态更新本地数据第八章 UE4服务端客户端

8-1网路游戏通信原理

8-2网路复制变数8-3网路复制事件第九章 Session9-1基于Socket原理的Session讲解9-2部署多人网路游戏简单案例上9-3部署多人网路游戏简单案例下第十章 UMG控制项10-1UMG_Board10-2UMG_Button10-3UMG_ImageCheckBoxText10-4MultiTextEditableText10-5RichTextBlock10-6SpinSliderProgressBarAreaCombo10-7Panel

这套教程你能学会什么?

熟悉UE4为开发者提供的基础蓝图功能,基础的逻辑操作能力,了解UE4蓝图的网路编程原理,资料库概念,常用的UI控制项,和常用的组件。比如,渲染组件,模型生成组件,AI组件等;这套教程能帮助不了解UE4的新人快速上手UE4开发项目,不仅能开发单机项目也能开发网路多人游戏项目,本教程的特点是没有多余的废话,只讲解干货。如果您不会安装UE4,在文章的最后有关于如何安装UE4的内容;宣传视频:UE4游戏开发核心技术基础一教程网址:UE4游戏开发核心技术基础教程第一部 | ABOUTCG视频教程?

www.aboutcg.org
图标

其他教程网址:

人宅:人宅系列教程?

zhuanlan.zhihu.com
图标

专栏:

Game Development?

zhuanlan.zhihu.com
图标
UE4 独立游戏制作知识体系?

zhuanlan.zhihu.com
图标

推荐阅读:
相关文章