unreal engine 4学习笔记:蓝图脚本

来源:互联网 发布:男士 爽肤水 知乎 编辑:程序博客网 时间:2024/05/17 21:51

上一篇文章中构建了一个蓝图类的壁灯,蓝图类可以理解为将各种部件调整好属性后打包成一个部件,以便于调用。

但是构建了蓝图类之后,如果要再次调整类的属性,就需要进入蓝图系统中进行更改,有没有更方便的方法呢?这就是针对于蓝图类的蓝图脚本的功能。


先在场景中选中上篇文章中构建的蓝图类壁灯,在右侧的detail面板中可以看到我们能够对其进行的操作。很显然,我们在非蓝图编辑器中并不能对其做像普通光源那样改变灯光颜色的操作。



为了在编辑器中能够对这个蓝图类做灯光操作,我们需要新建一个蓝图脚本。首先进入到蓝图类蓝图编辑器的构建脚本标签下:



我想要在编辑器中实现灯光的开关与改变颜色功能,所以需要在蓝图中加入如下部件(注意此时我们需要的是Set Visibility):


注意到改变灯光颜色的函数需要一个颜色输入,现在有两种方法创建函数所需的变量。

1、在左侧面板中添加一个Linear Color类型的新变量,命名为light_color,并设为公共变量(打开右边的小眼睛图标)

 

然后将其拖入蓝图


2、在函数图形块的New Light Color小圆点处按鼠标右键,选择Promote to Variable,蓝图系统会自动创建好正确类型的变量,仅需要自定义变量名即可。

连接好部件之后,我们需要先进行编译才能进行下一步工作。


点击左上角的编译按钮之后,接下来就是要通过构建脚本往非蓝图编辑器中添加自定义编辑插件了。


我们把脚本的起始部件连接进来,再选中Light Color变量,设置灯光的默认颜色(以蓝色为例):



回到普通编辑器,发现在蓝图类壁灯的Details面板下多出了一个Defaul选项,其下面的功能正是调节灯光颜色:



而对于Set Visibility函数块,发现它需要一个Bool类型(红色)的输入变量,同样为其新建一个变量并连接,最终连接图如下所示:


最后,分别先后选中脚本中的两个个变量swich与lihgt_color,将他们的Category属性设置为Light_Proporty,编译后关闭蓝图编辑器。

此时我们发现在普通编辑器中选中蓝图类壁灯时,Details面板下就多出了更改灯光属性的Light_Proporty项,于是就达到了在非蓝图编辑器中编辑灯光属性的目的。