游戏开发者UE4(虚幻引擎)游戏开发

UE4学习001——C++入门及使用UMG

2017-02-24  本文已影响990人  cdf02aaf6ae2

过程

UE4 从去年就开始学习,自己用 VS 编译了几次,成功过,失败过,却从来没有真正用它实际做一个——哪怕是小项目,哪怕是显示个 "Hello World!"。

这周终于下定决心要让自己的双手“沾沾水”了,就跟着官方文档中的教程做。

首先是编程快速入门,很顺利,工程像文档中所说的那样跑了起来。

接着是那个使用 UMG 用户接口,却是到第二步就出了问题,模块中添加了 UMG 依赖,但一直提示例子中那个 "Blueprint/UserWidget.h" 的头文件找不到。

这个文件是很容易就在我硬盘中找到了,却是不明白为什么 VS 会找不到。自己尝试把它加到项目的搜索目录中,没什么用。

后来注意到 UMG 的依赖是在项目的一个 **Build** 文件中添加的,而这个文件是 UE4 自己的构建工具 UnrealBuildTool 用的(以后简称 UBT),又依稀记得看文档的时候有说,UBT 会利用此文件生成一些项目文件。

我就在想是不是改了这个文件,要怎么让 UE4 重新生成一下项目文件应该能解决这个问题吧。

然后去看 UE4 的文件菜单,有一个刷新 VS 工程的菜单项,就试了一下,再切到 VS,果然提示要刷新,等刷新完,果然好了。

不过继续输入代码的时候,老是提示 UCLASS 那个宏的地方有问题,可是代码是一个字符一个字符照着文档输入的呀。郁闷……代码检查了又检查,删了又输入了几遍,折腾了半天,这个提示一直在。索性不管了,继续照着文档做下去,最后又在 UE4 中编译了一下,再切回到 VS,提示竟然消失了。

我猜想,可能是 UBT 在编译过程中,又根据这些宏生成了一些代码吧,但不确定。

继续往下做,所有的蓝图都编辑好了,运行的时候却还是不对,明明世界设置中的 GameMode 已经按文档设置成了我自己的 MenuGameMode,看运行的时候世界大纲中的实例也确实是我的 MenuGameMode,不过在 MenuGameMode 中配置的 Default Pawn 却没有生效。又检查了半天,后来想起来好像蓝图也是要编译的,才注意到打开 MenuGameMode 蓝图时,左上角有提示需要编译。

赶紧把所有蓝图全打开,有的显示已经编译了,有的也提示要编译,全编译好了,再运行项目,哈哈,成功了。

感觉

在 VS 中敲代码真是要死的节奏,代码提示不好,而且项目依赖 UE4,动不动要刷新一下,就要扫描上万个文件,需要几分钟。

反而用蓝图感觉 66 的,而且 UE4 的蓝图真的很强大,绝不是个玩具。

PS:也可能是我电脑不太好。以上只是初步的感觉。也许随着学习的深入,会有新的体会吧。

后记

后来 Google 发现,UE4 的官方论坛上也有人问到 "Blueprint/UserWidget.h" 头文件不能导入的问题,解决办法还真就是要重新生成一下项目。

上一篇下一篇

猜你喜欢

热点阅读