實(shí)際上該功能可以通過純藍(lán)圖寫出,以下展示藍(lán)圖中如何操作構(gòu)造器
僅需在創(chuàng)建"自定義事件"的時(shí)候勾選"編輯器中調(diào)用"屬性,然后就可以直接在藍(lán)圖中生成
但同時(shí),我們發(fā)現(xiàn)"從類生成Actor"該藍(lán)圖節(jié)點(diǎn)具有生成局限性
無法在當(dāng)前關(guān)卡外生成
以及無法生成某些在藍(lán)圖中公開卻不在該節(jié)點(diǎn)"Class"屬性中公開的Actor例如"PostProcessVolume"
當(dāng)遇到上述局限性時(shí),考慮藍(lán)圖無法解決該問題,此時(shí)我們需要C++介入
此處以PostProcessVolume為例子
.h
UFUNCTION(BlueprintCallable, Category = "Akie Tools")
static void SpawnMyActor(UWorld* World, UClass* Class, FVector const& Location);
.cpp
void UakietoolsBPLibrary::SpawnMyActor(UWorld*World, UClass* Class, FVector const& Location)
{
if (Class) {
if (World) {
World->SpawnActor<APostProcessVolume>(Class, Location, FRotator(0.f));
}
}
}
實(shí)際上 由于超高的解耦性
上述代碼可以在更改了UFUNCTION(中的規(guī)范)后源碼直接遷移到藍(lán)圖宏庫的插件中文章來源:http://www.zghlxwxcb.cn/news/detail-630014.html
UFUNCTION(BlueprintCallable, meta = (DisplayName = "SpawnClass", Keywords = "AKieTools sample test testing"), Category = "AKieSpawnTools")
在藍(lán)圖中如此調(diào)用即可,注意 該變量類型為場景(World)常規(guī)搜索不到
復(fù)制下述代碼到藍(lán)圖的創(chuàng)建變量欄粘貼就創(chuàng)建了該變量文章來源地址http://www.zghlxwxcb.cn/news/detail-630014.html
BPVar(VarName="指認(rèn)當(dāng)下關(guān)卡",VarGuid=DCB2E34241C4E6C912199E987236928E,VarType=(PinCategory="softobject",PinSubCategory="",PinSubCategoryObject=Class'"/Script/Engine.World"',PinSubCategoryMemberReference=(MemberParent=None,MemberName="",MemberGuid=00000000000000000000000000000000),PinValueType=(TerminalCategory="",TerminalSubCategory="",TerminalSubCategoryObject=None,bTerminalIsConst=False,bTerminalIsWeakPointer=False,bTerminalIsUObjectWrapper=False),ContainerType=None,bIsReference=False,bIsConst=False,bIsWeakPointer=False,bIsUObjectWrapper=True,bSerializeAsSinglePrecisionFloat=False),FriendlyName="指認(rèn)當(dāng)下關(guān)卡",Category=NSLOCTEXT("KismetSchema", "Default", "Default"),PropertyFlags=5,RepNotifyFunc="",ReplicationCondition=COND_None,MetaDataArray=((DataKey="MultiLine",DataValue="true")),DefaultValue="None")
到了這里,關(guān)于【UE5/UE4】【UE C++】制作一個(gè)藍(lán)圖宏庫用以在構(gòu)造器中Spawn Actor的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!