概述:

Slate是UE4提供的UI框架,整个UE4 Editor UI都是使用Slate构建的;

Slate的官方文档:[Slate UI框架]

Slate底层内容,中文环境下能搜索到的有效资源也不多;

这里打算记录一些SlateCore、Slate模块的基础知识:

包括但不限于类介绍、接口分析、资源管理与加载、渲染等,也会包括一些英文翻译过来的教程;

目标

于UE4新入这来说,有一个step by step的教程,确保VS工程编译成功

工程配置:

注:

1、需要有C++基础,尽量不涉及到蓝图

2、需要熟悉UE4 Gameplay框架

3、目前使用的UE4版本是4.24.3,如版本不同,下面的配置可能会有些许不一致的地方。

4、Windows环境开发,使用Visual Studio作为IDE工具(UE4支持跨平台;同平台下也可以使用不同IDE)

1、使用空模板创建一个C++新工程,因为是纯C++工程,这里不带初学者资源包,以减少工程整体大小;项目名称为HelloSlate;

                  图1:选择工程类型-Games

                  图2:选择空模板

                    图3:工程设置,C++工程,并且不带初学者内容

2、点击【Create Project】后,会自动打开Visual Studio

VS中打开“HelowSlate.Build.cs”文件,内容如下:

 1 // Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
2
3 using UnrealBuildTool;
4
5 public class HelloSlate : ModuleRules
6 {
7 public HelloSlate(ReadOnlyTargetRules Target) : base(Target)
8 {
9 PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
10
11 PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
12
13 PrivateDependencyModuleNames.AddRange(new string[] { });
14
15 // Uncomment if you are using Slate UI
16 PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
17
18 // Uncomment if you are using online features
19 // PrivateDependencyModuleNames.Add("OnlineSubsystem");
20
21 // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
22 }
23 }

* 第16行,默认应该是被注释掉了,这里需要取消注释,以便为Game模块添加Slate、SlateCore依赖模块;

3、在项目跟目录下面:我这里是E:\Projects\HelloSlate,双击HelloSlate.uproject工程文件,打开Editor;

Editor中,菜单File--Refresh Visual Studio Project,切换到VS中,会自动提示冲洗加载工程(或者直接关掉VS,重新打开工程)

4、VS中编译项目,确保编译成功

参考:
UE4官方文档-编程快速入门:https://docs.unrealengine.com/zh-CN/Programming/QuickStart/index.html

UE4之Slate:纯C++工程配置的更多相关文章

  1. UE4之Slate:App默认窗口的创建流程

    UE4版本:4.24.3源码编译 Windows10 + VS2019开发环境 在先前分享的基础上,现在来梳理下App启动时默认窗口的创建流程,以及相关的类.对象之间的抽象层级: 纯C++工程配置 S ...

  2. UE4之Slate: SImage

    概述 距离上次记录<UE4之Slate:纯C++工程配置>后已经好长时间了: 这个随笔来记录并分享一下SImage控件的使用,以在屏幕上显示一张图片: 目标 通过SImage控件的展示,学 ...

  3. ios 工程配置统一增加类的前缀(知识点也只能算知识点)

    在前边的代码规范中提及:团队开发或者个人开发为了打包或者自己工程中避免创建新的类核第三方系统的重复增加类的统一前缀!!又很多人问我这种开发小技巧.下面我就普及一下: 1.首先选中你的工程配置 2.然后 ...

  4. 细聊 Cocoapods 与 Xcode 工程配置

    前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分. 既然是谈 Cocoapods,那首先要搞明白它出现的背景.有经验的开 ...

  5. pcl1.7.2_vs2013_x64工程配置

    pcl1.7.2_vs2013_x64工程配置 C:\Program Files\PCL 1.7.2\include\pcl-1.7;C:\Program Files\PCL 1.7.2\3rdPar ...

  6. vs如何将工程配置,保存到属性表

    上次讲到新建一个opencv工程的配置过程,整个流程下来还是非常麻烦的.每次新建一个工程都要走这个流程的话就要疯了! 现在介绍一种将工程配置,保存到属性表的方法,那么下次新建工程时,只要添加这个属性表 ...

  7. TestDirector自定义管理:工程配置

    一.工程配置 1.进入工程配置界面 2.点击“customize project entities”弹出自定义字段对话框.(这里有六个表,每个表中的字段分为系统字段(system fields)和用户 ...

  8. IJ:工程配置Tomcat

    ylbtech-IJ:工程配置Tomcat 1.返回顶部 1. 1.2. 1.3. 1.4. 2. 2.返回顶部 1. 2. 3.返回顶部 1. 2. 4.返回顶部 0.修改文件位置 D:\work- ...

  9. UE4在VS2013中各个编译配置代表意义

    UE4中有个各式各样的编译配置,都怎么个意思呢? 对原文的理解和翻译. https://docs.unrealengine.com/latest/INT/Programming/Development ...

随机推荐

  1. ip_local_port_range 和 ip_local_reserved_ports

    问题:启动应用程序时,发现网络端口被占用,原因是什么?如何避免? 原因:Linux 系统设置了随机使用的端口范围  echo "40000  60000" > /proc/. ...

  2. 快速了解XML

    1. XML 定义 可扩展标记语言,标准通用标记语言的子集,简称XML.是一种用于标记电子文件使其具有结构性的标记语言. 2. XML 展示 如下是一个xml的标记展示,XML 是不作为的XML 被设 ...

  3. 微信小程序API接口封装

    @ 目录 一,让我们看一下项目目录 二,让我们熟悉一下这三个文件目的(文件名你看着办) 三,页面js中如何使用 今天的API的封装,我们拿WX小程序开发中,对它的API (wx.request)对这个 ...

  4. python教程-(三)使用字符串

    一.设置字符串的格式:精简版 方法1 >>> format = "Hello %s, welcome to %s" >>> values = ( ...

  5. 测试平台系列(71) Python定时任务方案

    大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 定时任务 定时任务,顾名思义: ...

  6. 记一次 Java 导出大批量 Excel 优化

    常用的excel导出方案,详情见Spring Boot 入门(十二):报表导出,对比poi.jxl和esayExcel的效率,其中jxl.esayEscel 底层都是基于 poi,它们仅仅是对 poi ...

  7. robot_framewok自动化测试--(6)Collections 库

    Collections 库 Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加: 1. ...

  8. 【AI测试】人工智能 (AI) 测试--开篇

    人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的.大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等等 ...

  9. 二.什么是Promise

    二.什么是Promise 1.理解 2.promise 的状态改变 3.promise的基本流程 4.promise的基本使用 1.理解 抽象表达: Promise 是JS 中进行异步编程的新的解决方 ...

  10. PTA 7-1 公路村村通 (30分)

    PTA 7-1 公路村村通 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N ...