原标题:【程序猿】虚幻引擎4: 将C++变量暴露给蓝图
翻译:王成林(麦克斯韦的麦斯威尔)
审校:黄秀美(厚德载物)
在这篇教程中我将为你们展示将代码中的变量暴露给UE4编辑器所需要的工作流程。虽然这篇教程是关于变量的,但是暴露代码的其它内容所需的工作流程几乎相同。即使这篇文章有些长,但是该过程很简单。在你完成该教程后,暴露变量和代码的其它内容对你来说就是小菜一碟了。
将变量,方法,等等……暴露给UE4编辑器要用到宏。在虚幻引擎中宏被用来(大多数情况但不是所有情况)通知编辑器关于你的类、变量和函数的特殊属性。举个例子来说,这些特性可以让你在编辑器中直接设置蓝图的一个变量,或者可以让你锁定某个变量使设计师们不能改变它的值。
如果听上去还是一头雾水也不要着急——这根本就不复杂!当你完成本教程后一切都会变得明白了。那么让我们开始吧!
创建所需的C++类和变量
如果你想要将C++变量暴露给蓝图,你首先需要有一个包含想要暴露的变量的类。所以我们从这开始。
我创建了一个名为MyActor的C++类,在头文件中我声明了一个变量,如下图所示:
创建一个基于C++类的蓝图
在这一步中,我要创建一个基于以上C++类的蓝图。为此:
1. 打开你想要保存蓝图的文件夹
2. 在文件夹空白处点击右键然后选择蓝图类(BlueprintClass)
3. 拓展所有的类(All Classes)菜单
4. 在文字框中输入“MyActor”
5. 选择MyActor然后点击下一步
6. 将新蓝图重新命名为BP_MyActor(这一步可选——我只是想保持名称的简洁)
使用宏暴露变量
为了将我在第一步中创建的Health变量暴露给虚幻引擎编辑器:
1. 打开MyActor.h,也就是该变量被声明的位置
2. 在第22行加入以下宏:UPROPERTY(EditAnywhere)[1]
3. 编译你的项目
你的代码应该如下:
现在打开你刚刚创建的蓝图然后查看一下细节面板。你的结果应该和下图相似:
如果你没有得到以上结果,且你的代码成功编译了,关闭你的蓝图然后重新打开它就行了。
注[1]:EditAnywhere是一个宏说明符(specifier)。每个宏都有一套相应的说明符。想要了解UPROPERTY()宏所有的说明符请查看官方文档。
点击一下
立即阅读近期热文
……
添加小编微信,发送“程序”,可享双重福利
1.加入GAD程序猿交流基地
获取行业干货资讯
观看大牛分享直播
2.直接领取60G独家程序资料库
内含
腾讯内部分享、文章教程、视频教程等
全套资料
↓长按添加小编GAD-沫沫↓返回搜狐,查看更多
责任编辑: