概述:

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

    http://acm.hdu.edu.cn/showproblem.php?pid=6333 题意: 求 C(0,n)+C(1,n)+...+C(m,n) 分析: 这道题,我们令s(m,n) = C( ...

  2. 计算机网络之传输层UDP协议

    文章转自:https://blog.csdn.net/weixin_43914604/article/details/105453096 学习课程:<2019王道考研计算机网络> 学习目的 ...

  3. accept error: Too many open files

    今天测试socket服务器同一时间处理多个客户端连接问题,第一次测试1000个的时候没问题,第二次测试1000个服务器accept的时候就报错了 accept error: Too many open ...

  4. nginx 支持https访问

    1,先确认nginx安装时已编译http_ssl模块. 就是执行nginx -V命令查看是否存在--with-http_ssl_module.如果没有,则需要重新编译nginx将该模块加入.yum安装 ...

  5. 分布式事务(四)之TCC

    在电商领域等互联网场景下,传统的事务在数据库性能和处理能力上都暴露出了瓶颈.在分布式领域基于CAP理论以及BASE理论,有人就提出了柔性事务的概念.在业内,关于柔性事务,最主要的有以下四种类型:两阶段 ...

  6. 什么是SimpleNVR流媒体服务器软件?

    SimpleNVR是一款新兴流媒体服务器应用软件,占用内存少,无插件.跨平台,应用非常广泛,操作简单易上手,同时还支持一键观看,十分便捷.另外,跟其他一般流媒体服务器不同,SimpleNVR支持开发者 ...

  7. k8s入坑之路(9)k8s网络插件详解

    Flannel: 最成熟.最简单的选择 Calico: 性能好.灵活性最强,目前的企业级主流 Canal: 将Flannel提供的网络层与Calico的网络策略功能集成在一起. Weave: 独有的功 ...

  8. Linux 用户&用户组

    用户和用户组的概念 用户 ---> 使用操作系统的人 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系 ...

  9. js 鼠标和键盘事件

    js 鼠标和键盘事件 鼠标事件 聚焦事件 离焦事件 鼠标单击和双击 鼠标的其他事件 鼠标事件对象 键盘事件 鼠标事件 聚焦事件 <input type="text" id=& ...

  10. Spark中资源调度和任务调度

    Spark比MR快的原因 1.Spark基于内存的计算 2.粗粒度资源调度 3.DAG有向无环图:可以根据宽窄依赖划分出可以并行计算的task 细粒度资源调度 MR是属于细粒度资源调度 优点:每个ta ...