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 ...
随机推荐
- C++STL(set……)
set 底层实现是用红黑树. set 建立 set<int> s; // 不可重,默认升序 set<int,less> s; // 不可重,升序 set<int,grea ...
- cf 12C Fruits(贪心【简单数学】)
题意: m个水果,n个价格.每种水果只有一个价格. 问如果给每种水果分配价格,使得买的m个水果总价格最小.最大. 输出最小值和最大值. 思路: 贪心. 代码: bool cmp(int a,int b ...
- 在Delphi中高效执行JS代码
因为一些原因,需要进行encodeURIComponent和decodeURIComponent编码,在Delphi中找了一个,首先是发现不能正确编码+号,后面强制处理替换了,勉强可用. 后面发现多次 ...
- mysql数据库导入导出文件sql文件
window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql ...
- QuantumTunnel:协议路由 vs 端口路由
本篇来聊一下内网穿透中流量转发的问题 内网穿透和核心逻辑是根据流量的路由信息准确地将公网流量路由到指定的机器端口上,从而完成一次流量的内网穿透. 这里有一个核心问题,路由信息从哪里获取? 常见的有将路 ...
- elasticsearch7.x配置文件
前言: 以下配置文件基于elasticsearch-7.13.4版本,当然也适用于其它7.x版本 集群环境: 部署3个节点的集群,各个节点不做角色区分,既是master,也是data,在性能 上这种方 ...
- xxx.app已损坏无法打开、来自身份不明的开发者解决办法
在 Mac 上安装非 App Store 软件时,可能会遇到一些这样或那样的问题,这篇文章就 Mac 从 .dmg 安装软件时可能遇到的问题提一些解决方法. 状况一:双击 .dmg 安装软件出现以下情 ...
- Java8新特性之Optional,如何优雅地处理空指针
是什么 从 Java 8 引入的一个很有趣的特性是 Optional 类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException)-- 每个 Java ...
- 集合概述&集合之List接口
集合与数组存储概述 集合.数组都是对多个数据进行存储操作的结构,简称Java容器.此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 数组存储的特点: ...
- Unicode、UTF-8、UTF-16 终于懂了
计算机起源于美国,上个世纪,他们对英语字符与二进制位之间的关系做了统一规定,并制定了一套字符编码规则,这套编码规则被称为ASCII编码 ASCII 编码一共定义了128个字符的编码规则,用七位二进制表 ...