最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

UE5在VS中手動(dòng)添加自定義模塊

2023-08-06 14:03 作者:Nilzen  | 我要投稿

最近開(kāi)始接觸Unreal Engine,首先面對(duì)的問(wèn)題,就是如何在一個(gè)UE的C++項(xiàng)目中添加自定義模塊。網(wǎng)上有一些不錯(cuò)的說(shuō)明文章,但最終,我還是接連地掉進(jìn)幾個(gè)坑里面。于是,決定簡(jiǎn)單寫幾點(diǎn)“避坑心得”回饋社會(huì)。

避坑技巧(零),IDE從VS換成Rider,Rider提供了模塊創(chuàng)建向?qū)?,輕松愜意。后面不用看了。

在Visual Studio環(huán)境下,我們需要手動(dòng)完成以下工作:

  • 在工程Source目錄下,新建`<模塊名>`文件夾;

  • 在`Source/<模塊名>`文件夾下,新建`Private`文件夾、`Public`文件夾和`<模塊名>.Build.cs`編譯配置文件;

  • 在`<模塊名>.Build.cs`中添加下面的內(nèi)容:


  • 在`Source/<模塊名>/Public`下,新建頭文件,命名為`<模塊名>.h`;

  • 在`Source/<模塊名>/Private`下,新建源文件,命名為`<模塊名>.cpp`;

  • 向工程的 `<工程名>.Target.cs` 和 `<工程名>Editor.Target.cs` 中添加模塊引用;

  • 一個(gè)Unreal的項(xiàng)目默認(rèn)有DebugGame、DebugGame Editor、Development、Development Editor以及Shipping,五個(gè)不同的編譯目標(biāo)配置;

  • 如果編譯目標(biāo)是Debug Game、Development和Shipping,生效的編譯文件是`<工程名>.Target.cs`;

  • 如果編譯目標(biāo)是Debug Game Editor和Development Editor,生效的編譯文件是`<工程名>Editor.Target.cs`;

  • 因此,一般可以認(rèn)為`<工程名>.Target.cs`中的引用模塊應(yīng)該是`<工程名>Editor.Target.cs`的子集。

再?gòu)?qiáng)調(diào)一下,2個(gè)Target.cs中都必須添加這句代碼:ExtraModuleNames.AddRange(newList<string>(){"CustomModuleName"});


  • 在文件瀏覽器中右鍵點(diǎn)擊`.uproject`文件,選擇`Generate Visual Studio project files`;

  • 這個(gè)操作可以認(rèn)為是UBT的入口,可以重新生成.sln文件和Intermediate目錄(包括其內(nèi)部的.vcxproj文件)。

到這一步,我們已經(jīng)可以在Binaries/目錄下編譯出模塊對(duì)應(yīng)的DLL文件了。

  • 在`.uproject`中添加模塊加載項(xiàng),這樣才能加載模塊:

  • 模塊加載之后,模塊的StartupModule函數(shù)才會(huì)被調(diào)用;

  • 模塊加載之后,在UnrealEditor中新建C++類時(shí),才能把它指定到對(duì)應(yīng)的模塊中。


總結(jié)一下:

  1. 按目錄規(guī)范添加文件:.Build.cs、.h和.cpp;

  2. 按規(guī)范編寫上面3個(gè)文件的內(nèi)容;

  3. 在XXXTarget.cs和XXXEditor.Target.cs中添加模塊依賴;

  4. 通過(guò)uproject啟動(dòng)UBT重新生成vs工程;

  5. 在uproject中添加模塊的啟動(dòng)配置。


UE5在VS中手動(dòng)添加自定義模塊的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
遂川县| 漳平市| 淮阳县| 古田县| 温州市| 忻州市| 交城县| 岑溪市| 连江县| 新巴尔虎右旗| 射洪县| 田林县| 上犹县| 宣武区| 清水县| 宁远县| 开鲁县| 垫江县| 望江县| 察隅县| 龙口市| 东源县| 阿拉善右旗| 孟村| 邓州市| 吉木乃县| 上犹县| 湖南省| 高邑县| 孟州市| 子长县| 吕梁市| 邹城市| 太白县| 鞍山市| 宜城市| 昌宁县| 垦利县| 元氏县| 亳州市| 隆尧县|