一、创建材质函数
- 将之前实现的控制“自发光颜色”的部分蓝图复制粘贴到新建的材质函数蓝图中,连上“
OutputResult
”左边的引脚。 - 记得勾选材质函数的“公开到库”选项,这样才能在其他材质中使用。
- 还可以为材质函数添加输入。在
TimeToHit
节点后新增一个FunctionInput
节点,勾选其“将预览值用作默认值”。这样在其它场景调用这个函数时,就可以根据不同的场景选择输入,但本身有默认值。
二、UI材质
-
创建一个材质并应用掉之前实现的血量条UI上。首先,创建一个新材质
M_HealthBar
,将材质的材质域从默认的“表面”切换为“用户界面” -
蓝图细节如下:(1)
LinearGradient
是线性渐变函数,UV Channel (V2) UGradient
和VGradient
:负责定义UV坐标的变化,通常用于控制纹理的映射方式。在这里,它们用于确定渐变的方向和范围(渐变是水平还是垂直,以及渐变的起始和结束位置。)。
(2)ProgressAlpha (Param)
是一个参数节点,通常用于通过外部输入动态调整材质属性。ProgressAlpha
用来表示进度条的当前进度,从而控制显示的部分。默认下ProgressAlpha
值为1
,表示满血状态。
(3)If
表示超过百分比的部分显示白色,不超过的部分显示红色。 -
进入血条控件
PlayerHealth_Widget
,删除之前的ProgressBar
,然后使用一个Image
替代,这个Image
的“外观” -> “图像”就设置为刚创建的材质M_HealthBar
。