今天遇到一个坑,那是相当的坑呀!(前提说明:这是一个C++工程,GameMode类被一个蓝图继承)做的好好工程关闭之后再也打不开了,每次打开的进度走到72%就卡住不走了,等很久都不动,然而Log文件中没有任何错误,还很诡异的停止在某个地方没写完,如下:
[2016.12.20-14.49.41:164][ 0]LogMeshUtilities: No automatic mesh reduction module available
[2016.12.20-14.49.41:164][ 0]LogMeshUtilities: No automatic mesh merging module available
[2016.12.20-14.49.41:164][ 0]LogMeshUtilities: No dist
于是各种解决,终于发现问题所在了,解决办法就是将GameMode蓝图删掉!!!!!!!!!!!!
分析了一下原因,可能是因为引擎Bug,或者因为GameMode的C++和蓝图出现了无限循环。
如果你的GameMode蓝图中有大量的蓝图节点,那么,恭喜你,你需要回退版本重新写那些蓝图节点,哈哈哈哈,如果你没有使用版本管理,意味着你得全部重写!
最终,我发现了根本原因,如下图连接蓝图铁定会出现上述问题:
所以,在调用GameMode的C++函数时必须Cast to成C++的GameMode。