UE4基础知识总结(四)

UE4基础知识总结(四),第1张

六、自动测试技术

1.自动测试分为简单测试和复杂测试,简单测试用来描述单个原子测试,复杂测试用来运行基于多个输入的相同代码。

2.简单测试可用来确认特定功能如预期般可 *** 作。一般都是单元测试或功能测试。

3.复杂测试可被用来对一系列物品迭代并对每个物品运行相同的功能。一般就是内容压力测试。例如载入所有地图或编译所有蓝本。

4.当前的规则是将所有的自动测试放置到相关模块内的PrivateTests目录。测试文件命名为[ClassFilename]Test.cpp

5.这些测试通过应用RunTest()函数来单独定义其功能,而且Parameters字符串将保持为空字符串。

IMPLEMENT_SIMPLE_AUTOMATION_TEST( TClass, PrettyName, TFlags )

IMPLEMENT_COMPLEX_AUTOMATION_TEST( TClass, PrettyName, TFlags )

七、编码规范

1.编码规范对于程序员来说非常重要,原因如下:

a.一套软件80%的生命周期都是维护。

b.在软件的整个生命周期中,几乎不可能一直是软件的原始作者来对其进行维护。

c.编码规范可以改进软件的可读性,从而使得工程师可以快速并透彻地理解新的代码。

d.如果我们决定将源代码公布到 MOD 开发者社区,那么我们想让它通俗易懂。

e.大部分编码规范实际上是交叉编译器兼容性所要求的。

2.变量、方法及类的名称应该清晰、明确且具有描述性。

3.注释应该是辅助加强代码的,代码是功能实现,注释表明了代码的目的。

八、对象

1.虚幻引擎中的对象基础类为UObject。UCLASS宏可用于标记从UObject派生的类,使UObject处理系统识别到它们。

2.UCLASS宏为UObject提供一个对UCLASS的引用,描述其基于虚幻引擎的类型。

3.每个UCLASS保留一个称作“类默认对象(Class Default Object)”的对象,简称CDO。

4.新建UObject示例的函数有:

a.NewObject () 创建一个自动生成命名的新实例。在简单情况下使用最佳。

b.NewNamedObject () 使用特定命名以及其他几项任选参数创建一个新实例。将判断新实例的Outer中是否存在命名冲突。

c.ConstructObject () 创建一个提供所有可用创建选项的新实例。仅限需要灵活性时使用。

d.new 用于在特定低层情况下构建对象,如构建函数需要参数时。

5.UObjects提供的功能有:

a.垃圾回收:虚幻引擎实现了一个垃圾回收方案,定期清理不再被引用或被显式标记为待销毁的 UObject。

b.引用更新:对象被垃圾回收清理时,对它的UPROPERTY引用将自动被更新为 NULL。

c.映象

d.序列化:当一个 UObject 被序列化时,所有 UProperty 数值将被自动书写或读取。

e.默认属性变化自动更新:UClass 的CDO发生变化时,引擎将尝试把这些变化智能应用到类的所有实例上(在它们被加载时)。

f.自动属性初始化:初始化时,在构建函数被调用之前,UObject 将被自动清零。

g.自动编辑器整合:编辑器理解 UObjects 和 UProperties,还可将这些数值自动公开进行编辑,而无需编写特殊代码。

h.运行时类型信息可用:UObject 明确其为何种 UClass,运行时可作出类型相关的决定。

i.网络复制:UObject 系统包括一个稳定的功能集,实现网络通讯和多人 游戏 。

6.UObjects的头文件格式:

#include 'Object.h'

#include 'MyObject.generated.h'

UCLASS() //UCLASS 宏使虚幻引擎 4 能识别 UMyObject。

class MYPROJECT_API UMyObject : public UObject //如 MyProject 希望将 UMyObject 类公开到其他模块,则需要指定 MYPROJECT_API。

{

GENERATED_BODY() //对类进行设置,以支持引擎要求的基础结构。

}

虚幻4(ue4)找工作大致分为两个方面,一种是游戏性,一种是美术:

第一种游戏性,适合程序员入手,一般都要求熟悉C++或者类似编程语言1-2年经验,这种小白就不用尝试了。程序员上手累积得至少半年,主要熟悉蓝图。有些程序员本来就是做游戏的,那更容易,以前是做unity3D的换了个引擎而已,现在这方面人才是急缺啊,工资的话大概1-3w不等。

第二种是美术,包括建模贴图,光照,特效,粒子等等,要求会3dmax,maya,zbrush等一些建模软件以及photoshop,等等,适合做美术的入手,工资比第一种低一些,也差不多0.7w-2w不等。

再说一下国内的环境,目前国内主要用的引擎是unity3D,比如王者荣耀。u3d上手简单,没有ue4这么麻烦,许多虚幻4团队都还在筹建,处于初级阶段。看一些招聘网的写招聘信息的人也不是特别了解虚幻4,而且目前国内教程都比较浅,Youtube上有很多,开个机翻也凑合能看,虚幻4各个版本差别很大,有些菜单都是大改。未来5年虚幻4在国内会慢慢火起来的,尤其是在VR领域。

总之,选择一个方向,ue4可以慢慢学,但ue4周边的技术得扎实。

正好我最近也在自学ue4,网上有很多不错的零基础入门教程,比如B站上,学习的话建议目前学习最新版本,好像是4.24吧,因为新版本汉化全面,有些功能比如工程新建和老版本有很大不同,基础功能都是一样的,从最基础的功能学起,比如如何在试图面板灵活 *** 作,如何导入模型,如果设置物理碰撞等,一步步来就可以了,后面最重要的就是蓝图,他是做游戏的关键,你会max基础,那么学ue4会很容易,因为有一些 *** 作和max很像


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7693661.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存