我想。
粉丝116获赞762


我们来聊聊在虚幻引擎中使用 c 加加。如果你来看这个视频,那你可能是从 unity 这类引擎转过来的, 或者你已经看过我的虚幻引擎基础教程系列。那个系列里我们用的是蓝图,但如果你没看过,最好去扫一眼, 看看有没有你感兴趣想先了解的内容。我们从一个项目设置开始。我用的虚幻引擎版本是五点一点一, 但大部分内容应该都能应用到整个 ue 五,甚至一些 ue 四版本,以及向上到五点三。可能未来很长一段时间都适用在这个系列里。我们要做一个类似双摇杆射击游戏的东西, 现有的模板对这个类型支持的不是很好。我得这么说, 所以我们需要重新编写不少代码,但我认为俯视角模板可能最接近我们要用的,所以我打算用它作为模板。这样我们有个起点,不必真正从零开始。项目默认设置,我们选 c 加加, 因为我们要写 c 加加代码,其他设置不太重要。项目名就叫 c p p 教程基础吧,创建项目需要一点时间。 趁这个空档我给你们看看。我用的 ide 是 visual studio code 的, 我会在下面描述里留下载链接。因为我用了这个 unreal engine 四代码片段插件。我强烈推荐 它。虽然是给 ue 四的,但 ue 五完全兼容,它能让你省不少事, 处理那些通常很麻烦的红会轻松很多。哦。看来它还有个 set timer 的 片段,我从来没用过,不过知道也好。在 vs code 里转到扩展面板搜索 enreal n 卷四 snippets, 安装到你的 id 一 里就行。我刚说完,项目就启动好了。我们快速进一下编辑器,偏好设置,确保原代码。编辑器这里选的是 visual studio code。 如果你装了其他 id 一, 比如 visual studio 或者 writer 什么的, 我也不知道什么时候装的。你要确保这里选的是 vs code 的。 我习惯用这个,主要是因为那个插件。现在可以看到项目文件结构和我们平时看到的一样,不过多了一个 c 加加类文件夹。打开它能看到有一个 player controller, 一个 game mode 和一个 character。 我们打开那个 character 类,打开时可能会弹出这个提示点是我信任作者就行,这样我们的头几个文件就打开了。后续章节我们会详细讲这些文件的结构和作用。 现在你需要确保这里没有任何报错。如果有错误,而你还没开始写代码,不知道如何处理, 那很可能是因为你需要先生成 visual studio 项目文件。你可以在左侧资源管理器里右键点击 our project 文件。 如果没看到这个资源管理器面板,点上面这个图标,可以展开它。在资源管理器里找到项目文件。在 windows 资源管理器里右键点击它,选择 generate visual studio project files, 这会重新生成所有缺失的 vs 项目文件。 有时候你添加了星 c 加加类后,需要手动做这一步,按理说应该自动生成,但在我这儿经常不行。我把画面放大点,方便你们看清。 今天我们先不写代码,只是设置项目,并过一遍最基础的功能,其中一个就是实时编码。因为不同于在蓝图里,你是在引擎内部编辑器里编辑逻辑,在编辑器里编辑所有代码。 我们是在另一个程序里写代码,所以每次想应用修改时都需要重新编辑引擎。 这个过程非常耗时,因为需要关闭引擎翻译再重新打开,那会非常烦人。幸运的是有个叫实时编码的功能。回到引擎里,在项目设置里找 live coding。 可能是在编辑器偏好设置里,我老高混 找到了 live coding。 在 编辑器偏好设置里,我们可以起用它。当然,如果你实在不想用,也可以禁用。假设我们想给我们的 tutorial basics character 加个新变量, 我们就加个 float, 暂时叫 test float。 别太在意我具体写什么,后续视频会详细讲。我用 upper property 红标记,它设为 wazabaniware。 要让这个 test load 在 引擎里可见,我们现在就需要用实时编码。回到引擎里,看到右下角这个小图标可能看不清楚,我指一下就右下角这个。 它能实时重新编辑并重新加载你游戏的 c 加加代码。点击它就会开始重新编辑所有内容。我刚把 visablanca 拼错了,现在我改好了,再试一次。它会编辑你做的修改。 第一次编辑需要点时间,尤其是初次会慢一点,因为要编辑很多东西, 之后它就只翻译你修改过的部分。现在如果我们打开基于那个 c 加加类的蓝图,就是我们刚添加变量的那个类, 应该能在里面某个地方打开完整蓝图。编辑器看到 test float 了,是可见的, 只是可见不能编辑,因为我设的是 visible anywhere。 关于 our property, 我 们会单独做一期视频,因为这个概念非常重要,必须理解,但现在先不深入。另一种方法是回到你的代码编辑器,也就是 id 一, 我们复制这行,再加一个 test float。 二、在 vs code 里有个快捷键, 这样你就不用切回虚幻引擎点那个小按钮了。那个按钮有时候很难点,尤其在高分辨率屏幕上,你可以按 ctrl 加 alt 加 f 十一,这个快捷键也能触发实时重新翻译。 现在就能看到 test float 和 test float 二了。顺便说个很有用的点,我用的这种变量命名规范,每个单词首字母大写, 引擎会自动为我们加上空格,这样可读性更好一些,挺方便的。现在关闭引擎重新启动,你会发现有个问题,因为我重启了引擎, 可能是我下班了,或者引擎崩溃了,自动重启,自动重启了,那两个 float 变量不见了。这是因为实时编码,通俗地说,只是在你当前绘画中打补丁, 把你新加的内容临时打进去,并不是完整地重新翻译整个引擎。有两种方法解决这个问题,第一种,在编辑机偏好设置里,可能是在项目设置里。我们看看, 在编辑器偏好设置里,你可以开启启动时强制翻译,这样每次启动项目时都会强制翻译原代码到引擎中。这对解决这类问题很有用, 因为这样每次你启动项目时,都会得到你写的最新代码版本,因为它总是会翻译。但话说回来,如果你的原代码里有错误,比如我们拼错了,写了个 float, 而不是 float, 这就翻译不了,因为这个数据类型不存在。而如果你设置了每次启动都翻译, 因为这个错误,引擎根本就启动不了。所以虽然每次启动都翻译引擎很有用, 但也有点麻烦,因为它可能导致你项目都打不开。当然,你仍然可以访问所有代码,因为它们都在单独的文件里。但也许你暂时不想碰代码,只想摆弄粒子特效, 那就倒霉了。因为如果你开了那个选项,你得先修复翻译错误,才能做其他事。所以我个人不喜欢开这个选项。但话说回来,如果你觉得自己够胆量应对这种情况,另一种解决方案是我们先把这个改回去, 把引擎关掉,这点很重要。引擎运行时无法翻译构建,所以必须先关闭,然后按 ctrl 加 shift 加 b。 我 们会触发一个构建任务,可以构建我们的游戏和引擎。 找到我们的项目名 editor winixfour development build。 选这个构建目标,点击它,就会开始构建整个引擎。这样之后当我们再次打开引擎时, 所有这些修改就真正固化进去了。好处是,如果我再次按 ctrl 加 shift 加 b, 它会在最近使用的任务里显示在最上面,这样我就不用每次都去找它了。 现在引擎又重新打开了,我们打开那个蓝图,现在完全没有启用实施编码,但可以看到我们的两个 test float 变量都在,因为我们已经完整构建了引擎。这些就是你需要了解的一些基础知识, 关于 i、 d, e 和引擎交互的基础知识。今天我们不涉及实际编码,下次我们会讲如何创建类,以及何时使用 c 加加,何时使用蓝图, 因为两者结合才能为我们带来流畅愉快的开发体验。

我是江苏领学技术发展有限公司的工程师,我从业 软件行业已经十多年了吧,我最擅长的应该就是游戏渲染技术啊,游戏引擎的使用技术,包括 ue, 还有国产的一些比较知名的公司等等。 总的来说,我这个人还是非常喜欢接触这个行业的,每天跟各种各样的代码打交道,其实是一件很轻松而且快乐的事情。 所以说嘛,这个行业我会一直做下去,因为现在很多孩子,我看到他们其实连最基本的呃,灭火器的使用啊等等都不会啊,包括家庭上的一些隐患。 嗯,我插座了也好,插排了也好,用电了也好啊,灶台也好,他们也都没有这种属于这种意识。所以我觉得如果说对于安全,你如果每个人都去 自己去学会如何去安全,那对对于社会来说,对于我们来说的意义是非常大的。 嗯,真正的做到就说像大家讲的一样,人人讲安全,各个会应急, 我觉得这个应该是我做这个行业意义最大的地方,希望通过我的软件,我的硬件, 我树立的一些知识,给大家呢带来更多更好的体验,以及对这个行业知识的一些反思和深思,这个应该就是我最想讲的一个地方,谢谢。


