UE4 WidgetComponent 在玩家死亡进入spectator以后不显示的问题

Posted 冯海亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 WidgetComponent 在玩家死亡进入spectator以后不显示的问题相关的知识,希望对你有一定的参考价值。

  总之,这是个十分十分奇葩的Bug,我在baidu,google,answerhub......各种各样的方式都尝试过了,没有其他人遇到过这个问题,哭了。

  问题是这样的,游戏世界中可交互物体添加了标签功能,类似下图,主要是为了显示远距离目标的名称与距玩家距离。

  

  然后,问题就来了, 当玩家死亡然后进入到观察者模式以后,这个标签不显示了,游戏世界中其他可交互的物体标签神奇的消失了。。。     尝试了很多次,最后解决了这个问题,就是要在玩家死亡的时候将widgetcomponent 的visible设为false,然后进入到观察者模式以后再重新将widgetcomponent visible设为true。。。     很重要的事情是当你按照这个流程(玩家死亡→widgetcomponent.setvisible(false)→spawnSpectator→widgetcomponent.setvisible(true))可能是不行的,你必须让widgetcomponent.setvisible(false)发生在spawnspectator之前(有些难懂,描述的不太好),因为我不可能遍历游戏世界所有物体,然后将所有物体的widgetcomponent.setvisible(false),而是声明了一个显示与否的属性,如果我按照前边的流程去做,那么属性的变化并不能反应在其他物体的tick中,所有,我在spawnspectator之前设置了延时,才能保证我的属性变化能被其他物体察觉到并tick。

  哎,真是坑呀,搞了一下午

以上是关于UE4 WidgetComponent 在玩家死亡进入spectator以后不显示的问题的主要内容,如果未能解决你的问题,请参考以下文章

UE4 C++实现发出伤害与接收伤害

[UE4]死亡后调整视角

UE4 回合游戏项目 15- 生成玩家控制玩家

(转载)(官网)UE4--PlayerController(玩家控制器)

ue4如何判断物体是不是在玩家可视范围内

(转载)(官网)UE4--Pawn