UE4 中的蓝图好用,但一旦涉及到复杂流程/迭代,和全局函数/GameInstance变量等,BUG就多得一批(很可能是由于蓝图本身的原因,不太容易看得出其生成的代码具有的静态/动态,权限,野指针,无限循环等问题),往往只能绕路找另一种方法做;此非本人危言耸听,本人从UE4.6版本就开始使用,至今UE4.22,期间也目睹公司项目碰过稀奇古怪蓝图BUG。
所以UE4蓝图最好只用来做线性居多,比较简单的流程。蓝图最大的优点就在此处。智能输入框和优美的框架设计使得蓝图使用接近了“想干什么,搜一下,然后节点就出来了,然后就成了”的完美境界。
即使如此,扛不住设计系统的之多,和历史框架遗留问题。蓝图还是有些地方设计不巧妙和极其不自然,至少下面这些问题都是我一时卡住,不得已Google的问题。在此列举。
1.执行流程
1.Switch 字符串类型
1.Switch内容位置设计
在蓝图中可以对String类型进行Switch,但每个case的选项需要先点一下Switch节点,再在Detail面板中设置。右键/双击节点都没有用。
2.Switch空字符串/空格
空字符串/空格怎么也不能Switch正确,框里会自动补全None.只能事先判断,如空串先用==判断一下。
2.UI
1.Widget Blueprint(UMG)中Image Widget切换图片
需要先得到原来Widget的Brush,再新建Brush,而且这里的image参数仅仅是一个Object Reference(??)
2.删除某个UMG
只能先通过笨皮方式得到此UMG,再删除
3.成品相关
1.简单设置分辨率
连这个节点都没有,还是老式的命令行。1920x1080,这里面是x战警的x,后面的f加上代表全屏