常见报错None Error
(注:当a蓝图中需要用b蓝图的参数,我将a蓝图称为受体蓝图,b蓝图成为递质蓝图)案例中传参失败原因为受体未暴露引脚,或受体未获取递质信息。
出现 "None" error 通常表示 (受体没拿,递质没给,访问变量时递质已经被摧毁)
-
未初始化变量:
- 你可能正在访问一个未初始化的变量。例如,如果你在蓝图或C++代码中尝试访问一个对象,但该对象还没有被赋值,程序会抛出 "None" error。
-
对象引用丢失:
- 如果某个对象在访问时已被销毁或未正确创建,且你仍然尝试访问它,也会导致此错误。
-
不正确的蓝图连接:
- 在蓝图中,如果节点之间的连线不正确,特别是试图访问一个空指针(None),会产生这种错误。
-
函数返回None:
- 某些函数在未找到或未成功执行时,可能会返回None。如果直接使用返回值而未进行检查,也可能导致错误。
1. 受体蓝图未暴露引脚导致传参失败
(案例: 玩家蓝图 给 血条UI蓝图传参,血条UI蓝图获取玩家的current hp值和max hp值)
1. 玩家蓝图和血条UI蓝图,player变量未暴露引脚,导致玩家蓝图无法传参(未将player的hp参数传入UI蓝图中)
未初始化变量导致none error,选择expose on spawn使该变量在蓝图中spawn时成为引脚
![](https://i-blog.csdnimg.cn/direct/d8a97cce623047b3b82cb61503901d72.png)
![](https://i-blog.csdnimg.cn/direct/92376acf01ed4eeba1998e1d546f0120.png)
![](https://i-blog.csdnimg.cn/direct/1cdbbb7f61094642a924aa11227ef8ab.png)
![](https://i-blog.csdnimg.cn/direct/f221613f7cab4bc2915396a04823eaab.png)
2.受体蓝图 未初始化 递质蓝图的变量
(案例: 玩家蓝图 给 锻造器蓝图传参,锻造器获得玩家的已有原材料信息)
在蓝图左侧variables面板
如下图的两个变量,直接新建变量player ref,改变variable type为对应的object reference,仍为无效做法。该僵尸变量只是和你要获取的变量为一个变量类型。但没有成功获取递质蓝图。初始化失败。
引用蓝图,必须要在使用前,在受体蓝图中,get actor of class,得到递质蓝图,提升为变量(此时new PlayerRef为有效变量)
![](https://i-blog.csdnimg.cn/direct/857fb9eefb004113b8170a7320b327aa.png)
——————————分割线 更新中,以下未整理————————
2.UI trick
ZOrder并不代表计算机图形学中的深度值,不限于【0,1】。所以想将背景置于所有图层后面,不用将其他所有图层的ZOrder一个个从default的 0 改为(0,+∞),只需要把背景改成-1
3.BPI