BP蓝图映射到C++笔记1

教程链接:示例1:CompleteQuest - 将蓝图转换为C++ (epicgames.com)

1.常用的引用需要记住,如图所示。

BP蓝图映射到C++笔记1_第1张图片

2.蓝图中可以调用C++函数,也可以实现C++函数

BlueprintImplementableEvent:C++只创建,不实现,在蓝图中实现

 BlueprintNativeEvent:C++中创建,实现,在蓝图中不必须实现

BP蓝图映射到C++笔记1_第2张图片

3.蓝图中,比如常用的结构体,最好在C++中写好,在蓝图中调用

注意:结构体如果改变,在蓝图中创建的结构体实例的数据,会清零

(可以添加,删减,不受影响;但是,改名或者改变量类型,改变量的蓝图类,肯定会清零)

4.使用Actor还是Component,取决于使用的方式和具体方法:

BP蓝图映射到C++笔记1_第3张图片

5,编辑器和蓝图对于Uproperty变量,不同级别的访问修改权限,下面为标识符代表的权限

BP蓝图映射到C++笔记1_第4张图片

6.蓝图中的类型,对应C++中的类型。

BP蓝图映射到C++笔记1_第5张图片

注意:UE5引入了 TObjectPtr,一种基于模板的64位指针系统。

TObjectPtr 变量在传递给函数或保存为局部变量时,会自动转换为原始指针

例如:AActor 的 RootComponent 属性在UE4中是一个 USceneComponent* 指针

UE5中:TObjectPtr 类型

例如:在调用容器函数的"Find"类函数时,请使用 TObjectPtr*(而非 T**)来获取返回值

7.创建组件,要写到构造函数处

记住该函数,所有创建组件都要用到
xxx类型对象 = CreateDefaultSubObject<类型>(TEXT("显示的名字"));

例如下:代码和蓝图中显示的组件是一一对应的

BP蓝图映射到C++笔记1_第6张图片

BP蓝图映射到C++笔记1_第7张图片

//.h文件
protected:

	UPROPERTY(VisibleAnywhere,BlueprintReadOnly)
	UParticleSystemComponent* ParticleSystem;

	UPROPERTY(VisibleAnywhere,BlueprintReadOnly)
	USceneComponent* Root;

//.cpp文件
protected:

	UPROPERTY(VisibleAnywhere,BlueprintReadOnly)
	UParticleSystemComponent* ParticleSystem;

	UPROPERTY(VisibleAnywhere,BlueprintReadOnly)
	USceneComponent* Root;

先记到这。。。。

你可能感兴趣的:(笔记)