UE4 创建自定义模块

这篇具有很好参考价值的文章主要介绍了UE4 创建自定义模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建自定义模块

这篇文章是用 4.27 版本的引擎编写的。根据您阅读本文的时间,这些信息可能已经过时。

为了创建一个模块,我们必须做以下事情:

修改项目的 .uproject 文件以包含新模块
创建一个包含其他依赖项并包含私有和公共包含路径的模块构建文件
在我们的模块中创建至少一个类

在进一步移动之前,请确保关闭您当前正在编辑的项目。那么,让我们开始吧!

修改 .uproject 文件

要修改 .uproject 文件,请右键单击它并使用您选择的文本编辑器将其打开。

默认情况下,您的文件将包含至少一个与 UE4 项目同名的模块。在模块的结束括号后添加一个逗号,然后添加您的模块。在我的例子中,我添加了一个名为 OrfeasModule 的运行时模块。这是完整的 .uproject 文件:

{
	"FileVersion": 3,
	"EngineAssociation": "4.27",
	"Category": "",
	"Description": "",
	"Modules": [
		{
			"Name": "GDBlogPost",
			"Type": "Runtime",
			"LoadingPhase": "Default"
		},
		{
			"Name": "OrfeasModule",
			"Type": "Runtime",
			"LoadingPhase": "Default"
		}
	]
}

保存您的文件,让我们创建模块构建文件。

创建模块构建文件

在项目的 Source 文件夹中导航并创建一个与插件同名的新文件夹(在我的例子中,这将是 OrfeasModule)。然后,在该文件夹中添加:

一个名为 Public 的文件夹(这将包含您要添加的类的头文件)
一个名为 Private 的文件夹(这将包含您要添加的类的源文件)
具有以下名称的新 .cs 文件 [YourModuleName].Build.cs(在我的情况下,这将是 OrfeasModule.Build.cs)
这是到目前为止我的文件夹结构的屏幕截图:

UE4 创建自定义模块

打开 .cs 文件并添加以下代码:

//------------------ 4.27 VERSION
using UnrealBuildTool;
 
public class OrfeasModule : ModuleRules
{
	public OrfeasModule(ReadOnlyTargetRules Target) : base(Target)
	{
        PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
 
		//Public module names that this module uses.
		//In case you would like to add various classes that you're going to use in your game
		//you should add the core,coreuobject and engine dependencies.
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine","GDBlogPost"});
 
		//The path for the header files
		PublicIncludePaths.AddRange(new string[] {"OrfeasModule/Public"});
 
		//The path for the source files
		PrivateIncludePaths.AddRange(new string[] {"OrfeasModule/Private"});
	}
}

根据您的需要,您可能需要稍后向您的模块添加更多依赖项。此外,在 4.27 版本中,您可能需要删除 Binaries 和 Intermediate 文件夹,删除VS文件(.sln)并从 .uproject 文件重新生成 VS 文件。

创建模块类
我们需要做的最后一件事是添加一个新类来处理我们模块的启动和关闭。(再次)打开您选择的文本编辑器并添加以下代码:

#pragma once

#include "ModuleManager.h"

DECLARE_LOG_CATEGORY_EXTERN(OrfeasModule, All, All);

class FOrfeasModule : public IModuleInterface
{
	public:

	/* This will get called when the editor loads the module */
	virtual void StartupModule() override;

	/* This will get called when the editor unloads the module */
	virtual void ShutdownModule() override;
};

这是我们类的头文件。将它保存在我们之前添加的与您的模块同名的公共文件夹中(在我的例子中,这是 OrfeasModule.h)。

然后,使用您的文本编辑器创建以下文件并将其保存在我们之前添加的 Private 文件夹中:

#include "OrfeasModule.h"
 
DEFINE_LOG_CATEGORY(OrfeasModule);
 
#define LOCTEXT_NAMESPACE "FOrfeasModule"
 
void FOrfeasModule::StartupModule()
{
	UE_LOG(OrfeasModule, Warning, TEXT("Orfeas module has started!"));
}
 
void FOrfeasModule::ShutdownModule()
{
	UE_LOG(OrfeasModule, Warning, TEXT("Orfeas module has shut down"));
}
 
#undef LOCTEXT_NAMESPACE
 
IMPLEMENT_MODULE(FOrfeasModule,OrfeasModule)

最后在两个.Target.cs文件中添加模块名
UE4 创建自定义模块

然后,再次转到您的 .uproject 文件并选择生成项目文件。打开编辑器后,您的模块将被加载。如果您尝试使用类向导添加新的 c++ 类,您可以选择将您的类存储在新创建的模块中:
UE4 创建自定义模块文章来源地址https://www.toymoban.com/news/detail-485631.html

到了这里,关于UE4 创建自定义模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE4自定义资产类型编辑器实现

    在虚幻引擎中,资产是具有持久属性的对象,可以在编辑器中进行操作。 Unreal 附带多种资源类型,从 UStaticMesh 到 UMetasoundSources 等等。 自定义资源类型是实现专门对象的好方法,这些对象需要专门构建的编辑器来进行高效操作。 通过在插件中实现这些类型,它们可以在项目

    2024年02月11日
    浏览(35)
  • UE4 回合游戏项目 01- 创建人物-玩家角色

    步骤: 1.下载游戏资源,链接:https://pan.baidu.com/s/1l2hpeEtIoFcUC4vAhut-ig 提取码:wlcp 2.解压第一节课资源 双击打开项目:  3.新建一个空白工程  设置好项目的存储路径和项目名  4.打开含有游戏资源的虚幻编辑器,右键点击内容,选择迁移  将所有的游戏资源迁移到新项目中

    2024年02月08日
    浏览(41)
  • UE4-地形材质图层创建及使用

    1.选择模式中的地形,进入创建地形界面,支持自己设置地形大小以及导入高度图。导入高度图生成的地形有默认的大小,可以通过左侧面板中的分段大小等属性重新设置地形大小,高度图整体走势是不会更改。设置完抽点击创建,系统自动创建地形。 2.创建材质,使用Land

    2024年02月16日
    浏览(38)
  • UE4/5C++之SubSystem的了解与创建

    目录 了解生命周期 为什么用他,简单讲解? SubSystems创建和使用 创建SubSystems中的UGamelnstanceSubsystem类: 写基本的3个函数: 在蓝图中的样子: 创建SubSystems中的UEditorSubsystem类: SubSystem是什么就不多说了,可以看看大钊的相关文章: 《InsideUE4》GamePlay架构(十一)Subsystems - 知

    2024年02月14日
    浏览(29)
  • ue4中使用c++实现自定义网格体

    有两个类可以在ue4中实现自定义网格体,分别是UCustomMeshComponent和UProceduralMeshComponent,实现的方法都是构建三角形以实现不同的网格体。 网上的教程以蓝图为主,但我想用c++实现。 我找到了一篇用UProceduralMeshComponent实现的博客,链接如下:https://blog.csdn.net/yb0022/article/details

    2024年02月07日
    浏览(35)
  • UE4\UE5显示鼠标并自定义的鼠标样式

    UE4UE5中动态修改自定义的鼠标样式. 一,首先在UE场景中显示鼠标 二,创建Wedget  命名为UI_MyCursorStyle 三,在新创建的UI里设置自定义的鼠标样式图片 搜索鼠标,鼠标样式图片应有尽有  四,在Wedget里创建image  五,接着启动场景里更改鼠标样式 效果如下:  分享工程,有需要可

    2024年02月11日
    浏览(33)
  • UE4 C++:Actor与Component的创建、销毁

    目录 Actor的创建与销毁 创建 UClass* TSubclassOf SpawnActor() 销毁 直接销毁:Destroy() 设置生命周期 Component 的创建与销毁 创建 构造函数创建:CreateDefaultSubobject Runtime创建:NewObject、RegisterComponent() 加载资源 FObjectFinder构造函数加载资源 LoadObject加载资源 设置组件层级关系 销毁组件

    2023年04月11日
    浏览(34)
  • Ue4创建新关卡,场景一片漆黑怎么解决?

    首先遇到这个问题是因为新创建的关卡内什么也没有,所以需要在场景中添加天空系统和光源。 需要在场景中添加几个东西分别是:定向光源,BP_Sky-Sphere,天空光照。 (大气雾) 定向光源和天空光照需要将坐标初始化。

    2024年02月13日
    浏览(30)
  • AirSim学习(2)创建UE4项目并添加AirSim插件

    AirSim学习(1)安装Unreal Engine和AirSim AirSim学习(2)创建UE4项目并添加AirSim插件 AirSim学习(3)AirSim的PythonAPI基本操作——VehicleClient类 AirSim学习(4)AirSim的PythonAPI基本操作——MultirotorClient类 AirSim学习(5)AirSim的C++接口、AirSim与ROS的联合仿真 使用AirSim的一个重要原因就是它的

    2024年04月15日
    浏览(45)
  • UE4中C++动态创建材质的几种方法Material

    第一种方式:         1、首先加载材质,代码如下: UMaterialInterface* Material = LoadObjectUMaterialInterface(nullptr, TEXT(\\\"Material\\\'/Game/Materials/ColorMaterial.ColorMaterial\\\'\\\"));         2、然后调用CreateDynamicMaterialInstance创建静态材质实例,如下: UMaterialInstance * DynamicMaterial = UKismetMaterialLibr

    2024年02月08日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包