起步
最近跟着师兄一起做项目,要做一个UE的插件,UE版本为4.26,作为初学者希望一起交流一起进步。
创建一个C++项目
点击所指示的图标可以看见有C++类的目录,创建好后的的页面如下所示:
新建一个插件:
在弹出来的页面点击新插件:
这里我们选择空白插件,此外可以在下方设置插件的名字,作者和描述:
好啦,创建完毕之后会等几秒钟进行编译,编译完成后,当前目录下就会出现我们创建的新插件:
然后在C++类中创建一个C++类:
这里选择蓝图函数库,然后点击下一步:
将函数库存放到我们刚刚创建的插件目录下,名字我们就取默认的默认的名字,然后点击创建类:
创建之后系统会进行一段时间的加载,可能会弹出以下弹窗,我们点“否”即可:
此时HelloWorld文件夹下面并没有刚刚所创建的C++类,此时我们关闭虚幻引擎,在VS中会提示如下内容,我们点击“全部重新加载”:
完成后,点击本地windows调试器打开UE:
然后就可以在HelloWorld文件夹里面看见刚刚创建的C++类了,然后就可以开始愉快地编写插件啦:
编译
我们点击刚刚创建的C++类,进入VS中:
MyBlueprintFunctionLibrary.h:
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "MyBlueprintFunctionLibrary.generated.h"
/**
*
*/
UCLASS()
class NEWPLUGIN_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "MyBlueprintFunctionLibrary")
static void HelloWorld();
};
MyBlueprintFunctionLibrary.cpp:
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyBlueprintFunctionLibrary.h"
#include "Engine.h"
void UMyBlueprintFunctionLibrary::HelloWorld()
{
GEngine->AddOnScreenDebugMessage(0, 30.f, FColor::Red, "Hello!");
}
插件编译不能直接使用UE编辑器中的编译按钮,在编辑器中点击窗口->开发者工具->模块,对刚刚创建的C++类进行编译:
搜索Hello,找到需要编译的模块,从而进行编译:
调试
创建一个新关卡,打开关卡蓝图,在关卡蓝图中右键搜索我们刚刚创建好的插件:
然后点击运行就可以在窗口上看见结果啦