格格她爹讲程序---用传统程序员的方式玩UE4(四)

2024-04-11 02:32

本文主要是介绍格格她爹讲程序---用传统程序员的方式玩UE4(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

格格她爹讲程序---用传统程序员的方式玩UE4(四)

 

两年多没有更新了,最近创业,为了生存,天天在外面跑着拿项目,验收,先得能吃得上饭吧,嘿嘿。

不过,UE4的源码对我的诱惑力还是太大了,前几天过十一,抽了个空下载了最新的代码准备编译,结果,结果,结果,我居然没编译过,后来,仔细看了人家的说明才知道,UE4的最新代码,必须用VS2017,我也是醉了。我到底是和技术脱离了多久了。

慢慢看吧,打开源码,还好大部分的内容没有改变。

废话不多说了,我们原来已经把编辑器的代码改了一部分了,如果大家按我的方法,现在编译器运行起来,应该已经没有原来UE的影子了,但是还不够,毕竟,这次编译让我费了劲了,我打算从“根本”上干掉部分代码,这样,编译速度会快一些。

还是老规矩,从UE4的商店做起。

打开UEditorEngine::InitEditor函数,找到我们注释掉的代码。

很容易就能找到ILauncherPlatform这个类了,如果你连这个都找不到,那你还不是一个真正的程序猿。

找到这个类,我们可以发现,它在Runtime中,既然,我们想去掉这个,很简单,按照程序员的基本规则,直接删除了再说。然后哪报错,改哪。

但是不行,UE4还是很高深的,如果你直接把这个文件夹删除,他给你报的错误,能把你气死。

 

看到没,这就是你直接删除的后果,再找到那个所谓的target文件,你是不是有一种想死的感觉?

其实,我们更希望得到这种提示,至少,我们按提示,把这些我们觉得没用的删除就可以了。但是,事与愿违了吧,惊不惊喜,意不意外?

好吧,既然如此,我们就得看看,UE4的代码与普通的代码有什么不一样的?

认真一点,你就会发现,每个文件夹下,都有一个cs的脚本。明明是C++的代码,为什么要有一个这种文件呢,打开看一下吧

看到ModuleNames你有没有一个大胆的想法?

删吧!大不了再下载一份(智商高的人一般会备份一下的)。

把所有“LauncherPlatform”相关的都注释掉。再编译!

这时,你是不是已经能看到熟悉的错误了。

把所有LauncherPlatform相关的都删除掉,把错误改掉,好了,商店模块已经从平台代码中去掉了。

怎么说呢,人生就是一段代码,你永远不知道什么时候会出bug,但是做为一个真正的程序猿,就要敢于直面代码的error正视给定的warning。

 

其实研究UE4源码挺好玩的,这些UE4大神们还是偶尔会写出来一些好玩的代码的。嘿嘿嘿嘿

这篇关于格格她爹讲程序---用传统程序员的方式玩UE4(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892846

相关文章

Linux之UDP和TCP报头管理方式

《Linux之UDP和TCP报头管理方式》文章系统讲解了传输层协议UDP与TCP的核心区别:UDP无连接、不可靠,适合实时传输(如视频),通过端口号标识应用;TCP有连接、可靠,通过确认应答、序号、窗... 目录一、关于端口号1.1 端口号的理解1.2 端口号范围的划分1.3 认识知名端口号1.4 一个进程

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R