添加自动化项目

添加AutomationTool自动化项目的方法。

Windows
MacOS
Linux
Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

可在 AutomationTool 能定位的位置新建C#项目,从而实现项目特定自动化脚本,将由AutomationTool进行编译和加载。

此操作需使用引擎的源版本(从GitHub或Perforce获取,而非Epic Games launcher),且项目所在位置,可通过 UE4Games.uprojectdirs 文件中所列子目录发现。此文件位于UE4根目录中。

步骤

  1. 在Visual Studio中,右键点击项目文件夹,选择 添加(Add)>新建项目……(New Project...)

  2. 打开 添加新项目(Add New Project) 菜单后,选择 类库(.NET Framework)Visual C# 选项,为便于讲解,使用以下设置:

    设置

    注释

    命名**

    SampleScript.Automation

    项目的生成脚本将查找具有 *.Automation.csproj 扩展名的 *.csproj 文件。

    位置

    [ProjectDir]\Build

    [EngineDir]\Source\Programs

    可将项目保存在Build或Source目录中。

    对于Build目录,需将其放入可发现 *.uproject 文件所在目录,此表示游戏位于 UE4Games.uprojectdirs 文件所列目录之一中。

    框架

    4.6.2

    编写本文时所用的.NET框架。

    项目所在文件夹不能包含 *.build.cs*.target.cs 文件。

  3. 为便于讲解,右键点击 SampleScript.Automation > Class1.cs,选择 重命名,然后将其命名为 SampleScript.cs

更新项目设置

解决方案现在便拥有新的自动化项目,接下来要设置其版本配置和项目的编译输出路径。

重命名发布版本配置

选择SampleScript自动化项目:

  1. 打开 版本(Build)>配置管理器……(Configuration Manager...)

  2. 在列表中找到 SampleScript.Automation 项目,然后在配置列中选择 编辑……

  3. 编辑项目配置(Edit Project Configurations) 窗口,选择 发布(Release) 配置,并按 重命名 按钮。

    1.将新命名设为 Development

  4. 关闭两个窗口。

设置项目编译输出路径

在项目属性菜单中选中"编译(Build)"选项卡:

  1. 选择"所有配置"。

  2. 现在,将 输出路径: 字段设为项目的自动化脚本目录。

    • 可使用 浏览... 或输入输出路径

    • 输出路径相对于项目的根目录,因此务必使用".."通过父目录导航

    • 如未正确设置项目的输出路径,AutomationTool无法发现自动化命令

  3. 关闭Visual Studio并运行 GenerateProjectFiles.bat

  4. 如需验证设置,打开生成的 UE4.sln,在解决方案浏览器中导航到 UE4 >程序>自动化 以定位新添加的自动化项目。

添加需要的程序集引用

要使用AutomationTool的基本功能,需添加对 AutomationUtils 库的引用:

  1. 在解决方案浏览器的 程序 > 自动化 下找到项目。

  2. 在项目文件夹下,右键点击 引用,并选择 添加引用……

  3. 引用管理器项目(Reference Manager Projects) 菜单中,找到并选择 AutomationUtils.Automation ,然后点击 OK

最终结果

现在,具有正确设置和引用的自动化项目已添加完毕,可开始学习添加命令 的方法了。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback