最近一直在研究自定义资产的一些东西,在很多资料中找到了如何自定义一个资产,其Action继承的是FAssetTypeAction_Base,资产的界面需要自己去构建,而UE本身有蓝图这种很通用的界面,所以我想再一些自定的资产的界面可以直接去使用。 下面是代码:初学者很垃圾 大致分为四个类: 一:资产类 UCLASS(Blueprintable,Abstract,Hi...
UCLASS(...) UE类宏 UCLASS宏用于标记UObject的派生类,只能修饰UObject的子类。 Abstract 抽象类 Blueprintable 可被蓝图继承(AActor已声明) / NotBlueprintable BlueprintType 可用于蓝图的变量类型 Placeable 可通过编辑器放置到关卡/蓝图,可继承 NotPlaceable Deprecated 已弃用 UPROPERTY(...) UE类的属性宏 通过U...
这是我在今年的Unreal FestShanghai 2024上面做的分享:UE5(标识符, meta=(详解, 史上最全)),有兴趣的可以回头对照录播视频查看。为了让虚幻社区的更多人也能尽快的访问下载到这些资源,因此在这里也发一遍。 今天的主题,是介绍在UE中写C++代码时经常遇见的标识符,比如Blueprintable,EditAnywhere之类的,还有其他众多...
UCLASS(BlueprintType, Blueprintable) class AURA_API UOverlayWidgetController : public UMyWidgetController 1. 2. 直接在类上面的UCLASS()内添加上两个参数。 BlueprintType将此类公开为可用于蓝图中的变量的类型。 Blueprintable将此类公开为用于创建蓝图的可接受基类。默认为NotBlueprintable,除非继承时就并非如此。
UCLASS(Blueprintable) 修饰的类可被蓝图继承 反之(NotBlueprintable) UPROPERTY() 修饰把变量公开为该类扩展的蓝图 UFUNCTION(BlueprintCallable) 从蓝图调用C++函数 BlueprintImplementableEvent 本地函数调用蓝图的主要方式 BlueprintNativeEvent 蓝图没有覆盖此函数,则调用此本地实现 ...
1//新建头文件: AbilityOwned.h2#pragmaonce34#include"CoreMinimal.h"5#include"AbilitySystemComponent.h"6#include"EnhancedInputSubsystems.h"7#include"AbilityOwned.generated.h"89classAAbilityCharacterBase;1011UCLASS(BlueprintType, Blueprintable)12classABILITYTEST_API UAbilityOwned13:publicUGameplayAbility14{...
UCLASS(BlueprintType, Blueprintable) class AURA_API UAttributeMenuWidgetController : public UMyWidgetController { GENERATED_BODY() public: virtual void BindCallbacksToDependencies() override; virtual void BroadcastInitialValues() override; UPROPERTY(BlueprintAssignable, Category="GAS|Attributes") ...
2.1一个UObject,创建的东西 这里的要创建的UObject,我是一个DataAsset UCLASS(Blueprintable,BlueprintType)classCOMBONODEPLUGIN_APIUComboDataAsset:publicUDataAsset{GENERATED_BODY()public:UPROPERTY(EditAnywhere,BlueprintReadOnly,Category="ComboDataAsset")TArray<FComboNode>ComboNodes;TWeakObjectPtr<UGameInstance>Ga...
Blueprintable NotBlueprintable 用来标明当前类是否可被蓝图继承,默认可被继承, 标记关系向子类传递,子类可覆盖描述关系 Abstract Abstract类修饰符,将类声明为"抽象基类", 这样会阻止用户在虚幻编辑器中,向世界场景中添加这个类的Actor, 或者在游戏过程中创建这个类的实例。
其次,UINTERFACE类不是实际的接口;它是一个空白类,它的存在只是为了向虚幻引擎反射系统确保可见性。将由其他类继承的实际接口必须具有相同的类名,但是开头字母"U"必须改为"I"。 如果想让蓝图实现此接口,则需要Blueprintable说明符 hljs code #pragmaonce#include"ReactToTriggerInterface.generated.h"UINTERFACE(Minima...