-
UE4对电脑配置的需要
所属栏目:[语言] 日期:2022-07-17 热度:83
正是因为 UE4 有着强悍的渲染效果,所以它所带来的硬件负担也会比其他的游戏引擎要大,这就要求大家的电脑配置不能太低,否则运行会变得缓慢。 大型游戏都是非常消耗资源的,只有配置高的电脑才能玩的流畅。 UE4 官方推荐的软硬件配置 操作系统 Win10 64[详细]
-
UE4新创项目
所属栏目:[语言] 日期:2022-07-17 热度:101
打开 UE4 启动器,选择 4.21.2 版本的虚幻引擎,点击启动按钮。 项目这一栏存放着你新建后的项目。我们点击新建项目,点击C++,选择基础代码,选择没有初学者内容,然后写上项目名字,注意不能有中文,然后点击创建项目。 「蓝图」是虚幻引擎为开发者开发[详细]
-
UE4新设人物和地图模式
所属栏目:[语言] 日期:2022-07-17 热度:99
在 UE4 中,每一个世界(World)有多个 Level(关卡),而每个关卡又可以设定自己的 GameMode(游戏模式),从而控制游戏的玩法。 1) 打开 UE4 编辑器,我们点击左下角的显示/隐藏资源面板。 显示/隐藏面板 2) 点击 C++类 ,选中GameProject 文件夹,在右[详细]
-
UE4设定默认游戏模式和关卡
所属栏目:[语言] 日期:2022-07-17 热度:115
UE4设定默认游戏模式和关卡: 1) 首先我们回到 VS 编辑器,在内容浏览器里面选择内容(Content): 2) 新建一个存放资源的文件夹名为Assest,然后在Assest目录下创建一个Maps文件夹,表示存放我们的地图。 3) 点击 保存关卡: 4) 在右边的窗口把DefaultGameM[详细]
-
UE4增加人物模型
所属栏目:[语言] 日期:2022-07-17 热度:70
在正式使用 UE4 添加人物模型之前,我们先来解释几个概念。 通过上面的介绍,我们已经知道需要通过添加组件来添加人物模型。那么我们要如何在 C++ 里面添加组件呢? 1) 首先打开 VS 编辑器,在 APlayingCharacter.h 文件尾部下入以下代码: //这个是骨骼模[详细]
-
UE4增添人物摄像机
所属栏目:[语言] 日期:2022-07-17 热度:71
在这一节中,我们需要添加两个组件分别是摄像机弹簧臂组件和摄像机组件。 摄像机弹簧臂组件 摄像机弹簧臂组件,可以想象成是我们的手臂和手。手拿着摄像机,当我们想移动摄像机的时候,我们移动的是我们的手臂而不是摄像机。 1) 打开VS编辑器,在PlayingCh[详细]
-
UE4添置人物动画之状态机
所属栏目:[语言] 日期:2022-07-17 热度:94
这一节我们创建一个动画蓝图并在C++中把它绑定到角色身上 。 状态机 状态机是可以让动画过渡到另一个动画的工具,它大大简化了动画设计流程。 1) 在 UE4 编辑器中,我们以 AnimInstance 为父类创建一个名为 CharacterAnimInstance 的子类。 2) 进入到我们[详细]
-
软件设计模式概论
所属栏目:[语言] 日期:2022-07-17 热度:75
本节是后面各章学习的基础,从整体上介绍软件设计模式的概念与特点、软件设计模式的基本要素,以及 GoF 的 23 种设计模式简介。 软件设计模式的产生背景 设计模式这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑[详细]
-
GoF 的 23 种设计模式的分类和性能
所属栏目:[语言] 日期:2022-07-17 热度:58
设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。 前面说明了 GoF 的 23 种设计模式的分类,现在对各个模式的功能进行介绍。 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓[详细]
-
UML统一建模语言是啥
所属栏目:[语言] 日期:2022-07-17 热度:143
UML(Unified Modeling Language,统一建模语言)是用来设计软件蓝图的可视化建模语言,是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,独立于任何一种具体的程序设计语言。 1997 年 UML 被国际对象管理组织(OMG)采纳为面向对象的建[详细]
-
UML类图及类图之间的联系
所属栏目:[语言] 日期:2022-07-17 热度:143
在 UML 2.0 的 13 种图中,类图(Class Diagrams)是使用频率最高的 UML 图之一。类图描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码之前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表[详细]
-
类关系记忆秘诀
所属栏目:[语言] 日期:2022-07-17 热度:170
类关系记忆技巧总结如下表所示。 分类 箭头特征 记忆技巧 箭头方向 从子类指向父类 定义子类需要通过 extends 关键字指定父类 子类一定是知道父类定义的,但父类并不知道子类的定义 只有知道对方信息时才能指向对方 箭头的方向是从子类指向父类 继承/实现[详细]
-
UMLet的使用与类图的策划
所属栏目:[语言] 日期:2022-07-17 热度:163
本实验是为后续实验做准备的。在《设计模式》教程中,各个程序实例都要画类图,所以读者必须掌握用某种 UML 建模工具来画类图,本教程选择 UMLet 作为 UML 的建模工具。 实验目的 本实验的主要目的如下。 理解类的基本概念,掌握如何从需求分析中抽象出类[详细]
-
什么叫做优秀的软件架构
所属栏目:[语言] 日期:2022-07-17 热度:200
开始学习设计模式前,我们先来看看软件架构的设计过程,及需要达成的目标和尽量避免的陷阱。 代码复用 无论是开发哪种软件产品,成本和时间都是最重要的。较少的开发时间意味着可以比竞争对手更早进入市[详细]
-
如何正确运用设计模式?
所属栏目:[语言] 日期:2022-07-17 热度:178
设计模式不是为每个人准备的,而是基于业务来选择设计模式,需要时就能想到它。要明白一点,技术永远为业务服务,技术只是满足业务需要的一个工具。我们需要掌握每种设计模式的应用场景、特征、优缺点,以及每种设计模式的关联关系,这样就能够很好地满足[详细]
-
UE4增添人物动画之前后左右移动
所属栏目:[语言] 日期:2022-07-17 热度:172
这也一节,我们来使用动画状态机的逻辑。 1) 编译一下,回到 UE4 编辑器双击我们的动画蓝图,选择动画图标,创建一个状态机,并双击状态机。 2) 点击引脚拉出来一个节点选择添加状态。 3) 更改名字为 Idle 说明是静止状态,然后在 Idle 节点拉出一个 Move[详细]
-
开闭原则 面对对象设计原则
所属栏目:[语言] 日期:2022-07-17 热度:83
在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。我们将在下面的几节中依次来介绍这 7 条原则,本节首先介绍开闭原则。 开闭[详细]
-
C++ STL distance 函数用法详解 一看就懂
所属栏目:[语言] 日期:2022-07-17 热度:195
我们知道,作用于同一容器的 2 个同类型迭代器可以有效指定一个区间范围。在此基础上,如果想获取该指定范围内包含元素的个数,就可以借助本节要讲的 distance() 函数。 distance() 函数用于计算两个迭代器表示的范围内包含元素的个数,其语法格式如下: t[详细]
-
C++ find_if 和find_if_not 函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:100
继《C++ find()函数》一节后,本节再讲解 2 个和 find() 功能类似的函数,分别为 find_if() 函数和 find_if_not() 函数。 值得一提的是,find_if() 和 find_if_not() 函数都定义在algorithm头文件中。因此在使用它们之前,程序中要先引入此头文件: #inclu[详细]
-
C++ find_end 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:165
find_end() 函数定义在algorithm头文件中,常用于在序列 A 中查找序列 B 最后一次出现的位置。例如,有如下 2 个序列: 序列 A:1,2,3,4,5,1,2,3,4,5 序列 B:1,2,3 通过观察不难发现,序列 B 在序列 A 中出现了 2 次,而借助 find_end() 函数,可以轻松的[详细]
-
C++ find_first_of 函数完全攻略
所属栏目:[语言] 日期:2022-07-17 热度:120
在某些情境中,我们可能需要在 A 序列中查找和 B 序列中任意元素相匹配的第一个元素,这时就可以使用 find_first_of() 函数。 仅仅用一句话概述 find_first_of() 函数的功能,读者可能并不理解。别急,下面我们将从语法格式的角度继续阐述该函数的功能。 f[详细]
-
C++ partition 和stable_partition 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:90
partition 可直译为分组,partition() 函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。 举个例子,假设有一个数组 a[9],其存储数据如下: 1 2 3 4 5 6 7 8 9[详细]
-
C++ partition_copy 函数详解
所属栏目:[语言] 日期:2022-07-17 热度:76
《C++ partition()和stable_partition()函数》一节中,已经详细介绍了 partition() 和 stable_partition() 函数的功能和用法。不知道读者是否发现,这 2 个函数在实现功能时,都直接修改了原序列中元素的存储位置。 而在某些场景中,我们需要类似 partitio[详细]
-
C++ find函数用法详解
所属栏目:[语言] 日期:2022-07-17 热度:124
find() 函数本质上是一个模板函数,用于在指定范围内查找和目标元素值相等的第一个元素。 如下为 find() 函数的语法格式: InputIterator find (InputIterator first, InputIterator last, const T val); 其中,first 和 last 为输入迭代器,[first, last)[详细]
-
C++ search_n 函数用法 超级详细
所属栏目:[语言] 日期:2022-07-17 热度:166
《C++ search()函数》一节中,已经详细介绍了 search() 函数的功能和用法。在此基础上,本节再介绍一个功能类似的函数,即 search_n() 函数。 和 search() 一样,search_n() 函数也定义在algorithm头文件中,用于在指定区域内查找第一个符合要求的子序列。[详细]