1. 为UMG设置模块依赖

如果您刚使用 虚幻引擎4 ,建议您先读一下编程快速入门 tutorial 。 对这篇教程来说,我们假设您已经了解了如何创建项目,如何添加C++代码到项目中,以及如何编译您的代码。 我们还会暴露函数和属性到 蓝图 中。 如您想要学习更多与此相关内容,请开始查阅变量、定时器和事件 tutorial

  1. 我们首先创建一个新项目:

    • 选择C++选项卡。

    • 选择基础代码。

    • 保持Desktop/Console(桌面电脑/主机)的默认值以及With Starter Content(和入门内容一起启动)内容不动。

    • 我们使用名称"HowTo_UMG"。

    UMG_ProjectSetup.png

    由于我们要写的代码使用了 Unreal Motion Graphics (UMG) ,我们需要转到 Visual Studio 以包含一些默认不可用的 模块

  2. 我们可以使用主编辑器屏幕的 文件 下拉菜单的 Open Visual Studio(打开Visual Studio) 命令来使用项目的代码。

    OpenVisualStudio.png

  3. UMG 是依赖于一些模块的,我们需要添加这些模块到"HowTo_UMG.Build.cs"中。

    BuildCS.png

    在"HowTo_UMG.Build.CS",我们需要添加"UMG"到包括了公共模块的列表,并把"Slate"和"SlateCore"添加到包含了私有模块的列表中。 我们需要修改HowTo_UMG的构造函数的首行来使之如下所示:

    PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" });

    然后我们可以取消对如下行的注释:

    PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

    和以往一样,我们在下方提供了完整源代码,以供您检查。


UMG 设置完成后,我们可以添加代码到项目的自定义 Game Mode(游戏模式) 来创建和显示游戏菜单。

正在开发中的代码

HowTo_UMG.Build.cs

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class HowTo_UMG : ModuleRules
{
    public HowTo_UMG(TargetInfo Target)
    {
        PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG" });

        //PrivateDependencyModuleNames.AddRange(new string[] {  });

        // 如果您正在使用Slate UI则取消注释
        PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

        // 如果您正在使用在线功能则取消注释
        // PrivateDependencyModuleNames.Add("OnlineSubsystem");
        // if ((Target.Platform == UnrealTargetPlatform.Win32) || (Target.Platform == UnrealTargetPlatform.Win64))
        // {
        //      if (UEBuildConfiguration.bCompileSteamOSS == true)
        //      {
        //          DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");
        //      }
        // }
    }
}