UE4之Slate:纯C++工程配置
概述:
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++工程配置的更多相关文章
- UE4之Slate:App默认窗口的创建流程
UE4版本:4.24.3源码编译 Windows10 + VS2019开发环境 在先前分享的基础上,现在来梳理下App启动时默认窗口的创建流程,以及相关的类.对象之间的抽象层级: 纯C++工程配置 S ...
- UE4之Slate: SImage
概述 距离上次记录<UE4之Slate:纯C++工程配置>后已经好长时间了: 这个随笔来记录并分享一下SImage控件的使用,以在屏幕上显示一张图片: 目标 通过SImage控件的展示,学 ...
- ios 工程配置统一增加类的前缀(知识点也只能算知识点)
在前边的代码规范中提及:团队开发或者个人开发为了打包或者自己工程中避免创建新的类核第三方系统的重复增加类的统一前缀!!又很多人问我这种开发小技巧.下面我就普及一下: 1.首先选中你的工程配置 2.然后 ...
- 细聊 Cocoapods 与 Xcode 工程配置
前言 文章比较长,所以在文章的开头我打算简单介绍一下这篇文章将要讲述的内容,读者可以选择通篇细度,也可以直接找到自己感兴趣的部分. 既然是谈 Cocoapods,那首先要搞明白它出现的背景.有经验的开 ...
- 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 ...
- vs如何将工程配置,保存到属性表
上次讲到新建一个opencv工程的配置过程,整个流程下来还是非常麻烦的.每次新建一个工程都要走这个流程的话就要疯了! 现在介绍一种将工程配置,保存到属性表的方法,那么下次新建工程时,只要添加这个属性表 ...
- TestDirector自定义管理:工程配置
一.工程配置 1.进入工程配置界面 2.点击“customize project entities”弹出自定义字段对话框.(这里有六个表,每个表中的字段分为系统字段(system fields)和用户 ...
- IJ:工程配置Tomcat
ylbtech-IJ:工程配置Tomcat 1.返回顶部 1. 1.2. 1.3. 1.4. 2. 2.返回顶部 1. 2. 3.返回顶部 1. 2. 4.返回顶部 0.修改文件位置 D:\work- ...
- UE4在VS2013中各个编译配置代表意义
UE4中有个各式各样的编译配置,都怎么个意思呢? 对原文的理解和翻译. https://docs.unrealengine.com/latest/INT/Programming/Development ...
随机推荐
- Noip模拟74 2021.10.11
T1 自然数 考场上当我发现我的做法可能要打线段树的时候,以为自己百分之百是考虑麻烦了 但还是打了,还过掉了所有的样例,于是十分自信的就交了 正解还真是线段树,真就第一题数据结构 但是包括自己造的小样 ...
- reactnative实现qq聊天消息气泡拖拽消失效果
前言(可跳过) 我在开发自己的APP时遇到了一个类似于qq聊天消息气泡拖拽消息的需求,因为在网上没有找到相关的组件,所以自己动手实现了一下 需求:对聊天消息气泡拖拽到一定长度松开时该气泡会消失(可自行 ...
- Node.js躬行记(13)——MySQL归档
当前我们组管理着一套审核系统,除了数据源是服务端提供的,其余后台管理都是由我们组在维护. 这个系统就是将APP中的各类社交信息送到后台,然后有专门的审核人员来判断信息是否合规,当然在送到后台之前已经让 ...
- tarjan知识点梳理
tarjan在图论中还是挺重要的.这里就简要的梳理一下tarjan的知识点. tarjan算法与无向图连通性. 首先说一下图中割点和桥的定义. 桥:也称割边,定义类似,在无向图中,若去掉某条边,导致整 ...
- 【数据结构&算法】04-线性表
目录 前言 线性表的定义 线性表的数据类型&操作 线性表操作 数据类型定义 复杂操作 线性表的顺序存储结构 顺序存储结构的定义 顺序存储方式 数据长度和线性表长度的区别 地址的计算方法 顺序存 ...
- js-arguments 函数参数对象详解
前言 JavaScript 函数参数不同于其他编程语言,既不需要规定参数的类型,也不需要关心参数的个数,因此 JavaScript 因函数参数而变得十分灵活,本文总结一下 arguments 参数对象 ...
- JavaJDK下载及配置环境变量
卸载jdk 找到原先安装jdk的位置,直接删除这个文件夹,你们叫什么名字就删哪个,我的叫javajdk. 找到我的电脑,右键属性,然后找到环境变量. 删除系统变量里面的JAVA_HOME变量 再双击击 ...
- 腾讯发布 K8s 多集群管理开源项目 Clusternet
11月4日,在腾讯数字生态大会上,腾讯宣布了云原生领域一项重磅开源进展-- K8s 多集群管理项目 Clusternet 正式开源. Clusternet 由腾讯联合多点生活.QQ音乐.富途证券.微众 ...
- uni-城市列表滑动组件,点击字母跳转到指定位置
本插件由博主自主开发,比uni插件市场的城市列表滑动组件性能好,且不会出现闪屏的情况. 通过计算城市列表的高度实现滚动到指定位置,使用了uni滚动到指定位置的api city-chooce为页面入口页 ...
- 解读Java8的Thread源码
1.创建的一个无参的Thread对象,默认会有一个线程名,以Thread-开头,从0开始计数,采用了一个static修饰的int变量,当对象初始化一次时一直存放在jvm方法区中 2.构造Thread的 ...