在蓝图中类似于 SpawnActor
或者 GetClassDefaults
之类的函数,可以根据参数的变化来改变节点的信息(如增加引脚,修改返回值类型等等)。
其实在蓝图中这样的节点都是继承自 UK2Node
的类,每一个节点是一个类,如 SpawnActor
它就是定义在 Editor/BlueprintEditor
下的 K2Node_SpawnActor
类。UK2Node
提供了很多的方法供继承类重写,如:
1 | // 鼠标指到节点上的提示信息 |
上面列出的就是创建一个自定义的蓝图节点需要实现的最重要的几个函数。
当在蓝图中点击节点右键刷新的时候会调用到 ExpandNode
函数,如果在其中调用了 AllocateDefaultPins
要考虑从序列化中读取已有配置的问题。
一个例子,实现的效果为根据枚举值修改节点的参数类型:
代码放在了 Gist:CustomK2Node.cpp