虚幻引擎C++项目的基本设置

2021-07-07 约 1704 字 预计阅读 4 分钟

1. 基础准备

1.1. 编辑器和Terminal

我的选择是sublime text 3和Terminus, 简单美观,几乎不用设置

1.2. 全新安装Visual Studio

到官网搜索到当前版本需要的vs的版本,Release Notes,找到 关于推荐的Visual Studio的版本,然后去微软下载安装

安装的时候注意事项

  • 选择.net Desktop development和Desktop development with c++
  • 打开组件(individual components)选项卡
    • 安装release note里的描述的.net target pack
    • 安装release note里的描述的 windows10 sdk相应的版本

1.3. 安装windows 10 SDK

参照releas notes里的说明,到Windows SDK and emulator archive 下载并安装windows 10 sdk

1.4. 修改原有的Visual Studio

如果机器上已经有了VS, 可以打开vs的安装器进行修改安装,并假如需要的.net和windows10 sdk

2. 设置

2.1. Sublime设置

安装Project manager

安装Switch File Deluxe

Unreal Snippets

3. 项目基本结构初始化

项目名称示例为Cocoding

3.1. 新建项目

Project Manager来创建新的项目, Ctrl+Shift+P -> project manager add new project -> 输入名称

在磁盘上新建项目的根文件夹

添加到sublime里,Ctrl+Shift+P -> project: add folder -> 选择创建好的文件夹

创建项目文件,例如Cocoding.uproject

创建Source文件夹,并在Source下创建CocodingCore文件夹

最终目录解构如下

1
2
3
4
└─Cocoding
    │  Cocoding.uproject
    └─Source
        └─CocodingCore

编辑Cocoding.uproject文件,输入uuproj然后tab即可自动补全,然后修改Modules的name

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
	"FileVersion": 3,
	"EngineAssociation": "4.26",
	"Category": "",
	"Description": "",
	"Modules": [
		{
			"Name": "CocodingCore",
			"Type": "Runtime",
			"LoadingPhase": "Default"
		}
	]
}

在souce目录下新建Cocoding.Target.cs,编辑它,输入umt然后自动补全

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
using UnrealBuildTool;

public class CocodingTarget : TargetRules
{
	public CocodingTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		ExtraModuleNames.AddRange( new string[] { "CocodingCore" } );
	}
}

在source目录下新建CocodingEditor.Target.cs,输入umt,自动补全,修改如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
using UnrealBuildTool;

public class CocodingEditorTarget : TargetRules
{
	public CocodingEditorTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Editor;
		DefaultBuildSettings = BuildSettingsVersion.V2;
		ExtraModuleNames.AddRange( new string[] { "CocodingCore" } );
	}
}

3.2. 添加源码文件夹

CocodingCore下新建PublicPrivate文件夹

CocodingCore下新建CocodingCore.Build.cs文件,输入umb自动补全后可以看到加载的模块, 这些模块可以在unreal的文件夹下找到,路径是\Epic Games\UE_4.26\Engine\Source\Runtime

Public文件夹下新建CocodingCore.h,输入umh自动补全 在Private文件夹下新建CocodingCore.cpp,输入umcp自动补全 在Private文件夹下新建Log.hLog.cpp,输入ulhulc自动补全

构建编辑器

如果对编译不太熟悉,可以打开一个项目的visual studio查看项目属性的make部分,就能知道工具链的编译方式和参数

image-20210708193805193

然后打开一个cmd(一定不要用powershell),输入编译命令

1
"E:\Program Files (x86)\Epic Games\UE_4.26\Engine\Build\BatchFiles\Build.bat" CocodingEditor Win64 Development -Project="d:\develop\workspace\unreal\unrealcppdemo1\Cocoding\Cocoding.uproject" -WaitMutex -NoHotReload

运行编辑器

1
"e:\Program Files (x86)\Epic Games\UE_4.26\Engine\Binaries\Win64\UE4Editor.exe" "d:\develop\workspace\unreal\unrealcppdemo1\Cocoding\Cocoding.uproject" -log

这样就能打开UE的编辑器了,第一次打开还有一些后续的工作要做

首先,保存地图,建立好文件夹,将地图保存为DefaultMap,然后我们可以对地图的天空颜色做修改(为了确保项目已经是一个完整关联的项目)

然后对项目进行设置, 打开Project Settings

  • Project -> Target Hardware 修改为新建项目时候的设置

image-20210709204655082

  • Project -> Map & Modes 修改Default Map为刚才保存的Map

    image-20210709204612618

测试运行项目

1
"e:\Program Files (x86)\Epic Games\UE_4.26\Engine\Binaries\Win64\UE4Editor.exe" "d:\develop\workspace\unreal\unrealcppdemo1\Cocoding\Cocoding.uproject" -game -log -windowed -resx=1280 -resy=720

构建standalone

1
"E:\Program Files (x86)\Epic Games\UE_4.26\Engine\Build\BatchFiles\Build.bat" Cocoding Win64 Development -Project="d:\develop\workspace\unreal\unrealcppdemo1\Cocoding\Cocoding.uproject" -WaitMutex -NoHotReload

这一步虽然能正常生成,但是还不能运行,因为缺少材质和一些内容.这时候需呀借助工具来完成assets的转换

Cook Content

1
"e:\Program Files (x86)\Epic Games\UE_4.26\Engine\Binaries\Win64\UE4Editor-Cmd.exe" "d:\develop\workspace\unreal\unrealcppdemo1\Cocoding\Cocoding.uproject" -run=cook -targetplatform=WindowsNoEditor

完成这一步以后就会在Saved文件夹下多了一个Cooked文件夹,这时就可以单独用exe进行打开了

1
"d:\develop\workspace\unreal\unrealcppdemo1\Cocoding\Binaries\Win64\Cocoding.exe" -log -windowed -resx=1280 -resy=720

4. 参考

文章作者 : Cocding