从虚幻3到虚幻4.之前都已经习惯了在脚本中写节点,然后在编辑器中供关卡师使用。所以对于这种开发模式,也不会有什么不适应的感觉!可视化编辑,也是以后游戏开发的重要的一环吧!但是国内游戏开发还没有这一种概念!对于关卡师,尤其懂游戏逻辑的。这是多么稀有的古董啊!现在的Blueprint比Kismet更强大了。可以自定义函数,宏等高级语言的特征。现在的UE4的Blueprint就是UE3的UnrealScript脚本。
对于虚幻的开发模式 = 脚本语言 + 可视化编辑 。知道怎样把自己写的代码,不管是类封装成可视化节点,还是调用这个类的函数的功能封装成节点,然后在Blueprint中调用。
1.让自己的类可以变成可以调用的Blueprint可视化节点编辑。就是Blueprint类
UCLASS(Blueprintable)
class AMyBlueprintableClass : AActor
{
GENERATED_UCLASS_BODY()
}
这个创建Blueprint类的原理,有点UE3的原型的创建。不过前者前者和后者的实现功能不是在一个数量级上。
在UCLASS 宏的后面跟上类所需的标识即可,这个功能是告诉虚幻引擎,我创建的这个类是可以被用于创建Blueprint类的哦。
在类中使用与Blueprint有关的类标识有一下几个:
Blueprintable: 这个类是可以创建Blueprint类,默认是NotBlueprintable。这个标识是可以继承的。如果父类声明了 Blueprintable 那么继承这个类的子类也能够创建Blueprint。
BlueprintType : 这个标识是告诉虚幻引擎,我创建的这个类是可以当做类型的。如虚幻引擎的内置数据类型 uint32 一样。如果我创建一个新的类,名为 APickupActor 为了在游戏开始的时候用,我们想要知道当前的关卡中有好多APickupActor 的对象。我们可以在Blueprint中创建一个APickupActor 类型的数组,遍历关卡中所有的APickupActor 实例。然后添加到这个数组中,方便我们在需要的时候进行索引。我们就可以在这个类的UCLASS中加上这个标识符。
NotBlueprintable: 这个标识符是告诉虚幻引擎,我们的这个类不能够被Blueprint使用。当然默认选择的是这个,就像传统的c++类一样来对待