一枚野生的程序猿,正在追求以最最正确的姿势开发独立游戏
大家好,我叫人宅,很高兴和大家讲解一下这趟课程的内容——UE4核心技术进阶。
在我们用蓝图或者C++去设计游戏的时候经常犯很多困惑,虽然有效果,但是为什么这么做?
于是耐下性子去看引擎源码,会发现UE4内部大量使用UE4智能指针,断言,代理,以及多线程。如果这一块比较陌生的同学,引擎基本上很难看懂,很多高级的用法也很难领悟到。查看官方文档,也是一片雾水,知乎论坛,有高手大神详细解释,但是还是不知道在讲什么,只能领略些皮毛,如果有这种经历,也不要自责,这个很正常,如果那么容易掌握,C++也就不会成为语言中最难,学习周期最长的语言。人宅愿意为大家引导,缩短学习周期,快速掌握UE4核心技术。
如果您能看到这篇文章,说明您需要这方面知识,不管您决定学还是不学,先看看有什么具体内容:
UE4游戏开发核心技术进阶介绍
目录
第一章.游戏架构
1-1.创建工程
1-2.游戏架构
1-3.游戏框架
第二章.Actor生命周期
2-1.编辑器加载Actor初始化
2-2.初始化Actor组件与启动BeginPlay
2-3.SpawnActor流程讲解1
2-4.SpawnActor流程讲解2
2-5.销毁Actor流程讲解
第三章.断言
3-1.简单断言
3-2.额外信息断言
3-3.阻塞流程断言
3-4.断点式断言
第四章.智能指针基础
4-1.共享指针
4-2.共享引用
4-3.弱指针
4-4.智能指针优缺点
4-5.智能指针转换
4-6.TSharedFromThis解析
第五章.智能指针进阶
5-1.强引用和弱引用在架构中的运用
5-2.暴露裸指针注意事项
5-3.静态分配对象的智能指针
第六章.UE4基础代理
6-1.单播代理与原生C++
6-2.单播代理与共享指针
6-3.单播代理与UObject对象
6-4.单播代理与静态函数
6-5.单播代理与自函数名
第七章.复杂代理
7-1.动态与动态多播代理和序列化
7-2.多播代理绑定与值传递
7-3.多态事件代理
第八章.UE4多线程基础
8-1.Runnable线程实例
8-2.线程切换
8-3.GraphTask线程实例
8-4.AsyncTask线程实例
8-5.UE4三种线程的使用区别
第九章.多线程进阶
9-1.线程安全
9-2.TGraphTask运行原理
9-3.AsyncTask运行原理
9-4.UE4线程封装与跨平台
以上是UE4游戏开发核心技术进阶内容,人宅详细介绍一下这部基础进阶教程要讲解什么:
UE4游戏框架:
UE4为我们提供了相当好的游戏设计环境,游戏引擎其实属于游戏开发的半成品,只提供框架,以及一些常用的库,功能等,基于这个框架可以开发任何类型的游戏。
理解UE4游戏开发框架是开发游戏最高效的方式,所以我们将这个游戏框架特别编写了进这套课程,方便大家了解关于UE4引擎为我们提供的游戏框架,用正确的姿势开发我们的游戏。
Actor生命周期:
我们知道Actor是UE4作为实例化最基础最基本单位,凡是我们能看到的对象必须都基于Actor,在游戏开发中最常用的就是Actor,Actor里开发者最近,又经常忽视,研究Actor生命周期变得尤为重要。
官网有这方面的资料,可惜寥寥几笔,只表明了使用的函数,调取方式,却没有对Actor生命周期做分析。人宅会在本章节带着大家看看UE4Actor生命周期到底都干了些啥。
UE4智能指针:
UE4智能指针,这是一个相当重要的话题,用的好,代码条例清楚,层次结构分明,但是用不好,会出现各种奇奇怪怪的奔溃问题。
UE4官方,参考C++标准库作为模型创建出一套自己的智能指针,优点缺点并存,和标准库里面的智能指针稍微有些区别,在使用上需要认真思考如何管理内存,否则很容易奔溃掉。
学习UE4,智能指针必须掌握,这个没什么好说的。
UE4代理:
UE4建立了自己的一套代理绑定实现了在不知道具体类的情况下也能回调。这种方式也使我们的架构更加清晰,不用到处获取实例,同时用该方式解觉很多耦合架构,比如封装一套线插件,非常方便。代理的方式有很多,目前论坛,知乎,相关的知识比较离散,底子薄弱的同学学起来吃力也是正常的。 想了解更深一些的需要看英文书籍,英语不好的同学又是一道阻碍。综合来讲就是费时费力。
UE4多线程:
UE4自己封装了一套多线程,实现了跨平台。如何正确的使用多线程一直都是经久不衰的话题。看过很多论坛的UE4多线程,有的讲解的很深,没有底子是看不懂的,有的讲解的很浅,也就是能使用UE4提供一种或者两种方式实现多线程。线程的使用有很多地方需要很小心,线程安全,线程同步,线程异步等,结合智能指针的多线程应该如何使用,这些都是需要掌握的基础知识。我们不仅讲解UE4多线程使用,而且会深入剖析UE4多线程原理,作为讲解知识不是讲完了就完了,深入浅出,浅显易懂。
学完这套课程会有什么收获?
明白UE4为开发者提供的游戏框架,用正确的姿势开发游戏。
掌握UE4多线程,可以为项目提供异步支持,优化等,理解智能指针在项目中的实战运用以及和线程配合使用方式,理解掌握UE4中的不同代理使用,比如封装嵌套,实现解耦合操作,同时理解UE4断言,为开发者在初期更容易发现奔溃原因,及时纠正,节约了时间成本。
UE4游戏开发核心技术基础简介:
如果您还是UE4刚入门,转行UE4程序,会写一些蓝图交互,不会C++,这套课程对您还是有些难度,您可以看看我们前面的知乎推文,UE4游戏开发核心技术基础,这套教程会最大程度帮助您补上在代码基础编程中拉下的知识,UE4游戏开发核心技术基础 这套课程不仅仅讲解蓝图基础操作,还会讲解C++ .Stl,网络,数据库等相关基础内容,我们会类比蓝图中拥有的功能,在C++或者是UE4C++里是什么,什么意思等,方便您将这些内容很快适应到当前UE4开发。
这两套教程是相互独立的,您只要有C++基础,稍微懂一些UE4,看哪一部都可以的。
售后服务:
关于售后服务这块,可以留言在我的新浪博客,知乎,QQ中
,如果不忙,一般会在晚上答复。
有几种问题由于时间是没办法答复的,比如:
...
老师,我不会C++,但是希望通过C++看看在场景里面如何获取Light实例.(建议系统学习C++)
老师,您能演示一下如何制作坦克游戏?(完全给老师布置了一个任务,建议系统尝试,如果有哪个功能不会的可以问)
老师,老师Slate不太会用~(...)
老师,老师我没有学习过这一块,如何架构服务器(这个有点大,建议先学习网络编程)
...
最快答复是在QQ,一定要加群。
售后是终身的。
教程链接 UE4游戏开发核心技术进阶教程