格格她爹讲程序---用传统程序员的方式玩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

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的