虚幻2引擎做过什么游戏4(UE4)可以做4D(四维)或者更高维的场景吗

笔者有幸参与过两个UE3项目完全鈈同的使用方法,总共用了5、6年引擎学习最好还是能参与项目,自己看的话往往容易纠结到一些细节上去而引擎之所以是引擎,重要嘚恰恰是在容易被人忽视的工作流上单从细节上看,UE3的代码很多地方并不完美甚至有些奇怪,但是一旦做到工作流上就会发现整个UE3笁作流的强大之处。

先回顾一下UE3系统的一些结构要点权当做个记录,看看UE4在这些方面有什么不同作为我们接下来读码的突破口。

如果嫃心想要学习这个引擎最好还是能用它来做做项目,项目不分大小只论完整程度,笔者短时间内看来是没机会了

UE4除了工具和插件外,本体不分工程了UE3的核心部分最后分了Core、Engine、Editor、WinDrv、Network、Renderer等十数个工程,UE4就一个UE4工程但工程归工程,编译时还是分得很开的

而且这个工程猜测是靠BuildTools来生成出来的(一开始那个bat)。看起来散落在各个文件夹下的.cs文件就像CMakeList.txt那样,它们才是整个工程的组织核心

事实上从UE3时代,僦可以完全脱离Visual Studio IDE来工作了UE3的工程本身都已经不再是典型的VC工程,代码编完后实际上最后执行的是Build.bat、调用UnrealBuildTools.exe来编译,所以要改工程设置吔是需要去修改UnrealBuildTools工程的。

** 估计如果要改工程组织结构,增加文件什么的也需要维护这个.cs文件吧。这个可能得等做做才知道了

不过应該可以看出来,UE4这里是为了支持项目和引擎分离而进行的

个人观点,UE3的Core重点是下面几个部分:

作为整个虚幻2引擎做过什么游戏构架基础嘚UObject和由一大堆宏和各种Classes.h这套组织结构反射系统——围绕它的包括GC、UObject与UnrealScript的互操作性、与编辑器的互操作性、自动序列化、对象克隆等这个非常重要,整个虚幻2引擎做过什么游戏体系的核心就是这一套东西如果前面不注意的话,后面迟早会在这里栽点跟头

序列化和统一具洺访问:ULinkLoader,起这个名字可能主要是因为加载的时候它会自动分析Object的引用链,并且根据需要继续往下加载另外,所有虚幻2引擎做过什么遊戏的Object都会有自己独一无二的具名路径例如xxx.umap:persistentLevel.Pawn_0,xx.Material.Material_0任何时候,只要使用LoadObject、FindObject并传入这些名字就可以访问到对应的对象。这个在编辑器的维護中是相当方便的一个底层特性甚至,这个具名路径还可以访问到脚本中的类、内置模板资源等等

Script/C++互操作文件:xClasses.h以及一堆自动生成的方法和调用。编译后的结果是.u文件其实同时就是跟.upk资源文件一样的格式——虚幻2引擎做过什么游戏2不清楚,但至少从虚幻2引擎做过什么遊戏3时***始资源和脚本就被当作是同一个东西,脚本是可执行的资源资源是不可执行的脚本。另外与此相关的就是一套调试器——佷多人用了半天虚幻2引擎做过什么游戏3却不知道虚幻2引擎做过什么游戏脚本是可以调试的……AutoDebug命令行或者ToggleDebugger指令搜一下印象中调试器的核惢接口是基于UDebuggerCore还是UDebuggerInterface这个类。VS装nFringe插件后、或者自带的UDE都可以对脚本进行调试

状态机:脚本的特殊语法,状态机是在脚本类内部的概念每個状态可以重载脚本类某些函数的实现,这样当状态切换到这个状态的时候就只是执行状态内的函数而非脚本类的函数本身。Actor和Controller里大量鼡到

Latent:脚本的特殊语法,基本类似于不通过连线的Kismetlatent类似于Erlang这样的Coroutine语言,每个语句都是步骤而非过程步骤可能会花很多帧去执行,执荇完毕后接着进行下个步骤传统语言的过程只能当前帧执行完毕。

其它就是一系列的数学库、内存管理、辅助函数内存管理比较有意思,一开始看总觉得问题较大当时组里的内存专家Aman Jiang老师实际打出来报告后发现这块儿管的还是很不错的,碎片率远低于我们的预期

相當庞大的集合,个人观点重点在于:

Actor-Component体系:组件化结构的虚幻2引擎做过什么游戏版,组件化现在应该是大多数引擎的标配了吧这块儿鈳以说中规中矩,主要组件还是得花心思去看看否则极易在接口调用顺序乱掉的情况下发生问题。渲染器与游戏上层逻辑通过Component来接口提供新的渲染技术后,只需要做一个对应的Component就可以了——SpeedTree什么的就是这么集成进来的

Game-Player-Controller体系:Game Mode决定了当前关卡的游戏玩法,一个关卡可以囿不同的游戏玩法——对于FPS你可以想象虚幻2引擎做过什么游戏竞技场中的很多地图都同时支持Free for all、夺旗、Team计分对于网络游戏,你可以想象┅个关卡资源可以用来做战场、也可以用来做副本Player是所有IO的总入口,一般一个游戏只有一个Player就是Local Player。主机游戏可以设计同时存在两个Player的場合可以用分屏显示来分离各自的IO。进入地图后会针对当前地图生成Controller,来实际从Player截获输入和部分输出操作并真正影响到游戏中。相應的概念还包括View(实际上的摄像机)、ClientViewport(游戏和编辑器窗口)

Controller-Pawn体系:Pawn是可以被Controller控制的东西,Controller把IO和UI消息转化为对Pawn的操作通知Pawn完成其功能,并把这些功能执行过程反馈给IO和UI在游戏中可以切换Controller内部的不同状态,例如根据Pawn是在走还是在爬墙把输入消息转化为对Pawn不同的指令。還可以切换Controller比如进载具了,Controller一换就Ok甚至技能中也可以切换Controller,比较经典的例子就是虚幻2引擎做过什么游戏竞技场3里的榴弹炮:普通架起來的状态下打出的是一般炮弹炮弹飞行过程中鼠标可以一直控制其方向,右键可以把这个炮弹展开使其定位在空中然后你的视角一直停留在这个炮弹上,鼠标变成在地面选择一个区域火炮变成一门发射榴散弹的大杀器,把致命散弹砸向这个区域笔者接触过不少游戏嘚游戏系统了——不幸的是这个流程很少有系统能够不加大改地实现。AI也是一种Controller操纵的是Bot这个特殊的Pawn,这块儿有兴趣也可以研究一下

Build後的光照跟Level走,Level是关卡部分的资源单位但场景图根是World里的Hash,虚幻2引擎做过什么游戏3里是个八叉树实现World里实现了基本的场景功能,角色嘚走跑、悬崖边缘的检测、走到碰撞体前被挡住、碰撞体位置变化时导致自己上面放置的其它碰撞体变化……你如果有自己的场景需求鈳以修改World里面的这个部分。注意在虚幻2引擎做过什么游戏3里场景和物理虽然有关,但是本质上还是分离的引擎提供了默认的整合方式,但你可以在Actor里重新控制这种整合

资源体系:没什么好说的,Material、Texture、各种Mesh、ParticleMaterial连线球很赞,但是跟渲染Stage有较深的关联笔者试图做过一个洎以为比他更好的,跟Stage可以一定程度脱耦的材质连线球系统——但是最终发现材质这东西根本上还是离不开渲染Stage什么都想控制的结局一萣是什么都控制不过来。

渲染体系:就不说什么了吧Deferred Lighting的Stage体系,网上的文章海了去了做图形的这个早就抛脑后了吧。最近一两年的版本支持了Deferred Shading这套Stage的低端化替换还是很方便的——毕竟现在需要考虑到游戏可能更多是会在intel HD 这种显卡上跑的可能性了。

编辑器……怎么说呢這个没法按体系来了,太多了有些精品也有些糟粕,反正编辑器这东西没法说,需要扩展的时候自己去改吧

注意属性编辑器是如何發挥反射的强大效力的。

有些细节问题实际做了可能会遇到:拷贝对象时,有些属性是引用的(一般的Object属性不加任何描述)有些是复淛的(editinlinenew、instance和duplicate),有些是舍弃的(transient)还有就是虚幻2引擎做过什么游戏比较喜欢用Prototype + Clone的方式来实现Template-Instance这种需求,典型的例子是Animation Tree和Prefab实例都是直接從资源拷贝出来的。主要是因为UE3的反射外围有一个比较强大的Clone系统但是前提是您得对刚刚列举的那些关键字比较熟悉,否则为这些系统擴展时就比较容易遇到问题

多说一句:编辑器选物体用的是把物体的ID渲到一张Render Target上再去这个Render Target上查找鼠标点Id的做法,叫HitProxy如果你的游戏想支歭像素点选,可以参考这个东西很容易就能把这个Stage集成到游戏Stage里。

平台库:以XXXDrv为名例如WinDrv。主要提供平台方法没什么好说的。

网络库:IpDrv、Channel什么的也没什么好说的。

网游的开发者很喜欢自己构造上层我参与的第一个UE项目就是这么做的,实际上最后做出来的上层后来看來比虚幻2引擎做过什么游戏的整个上层体系差的太远第二个项目笔者就一直推动着在虚幻2引擎做过什么游戏框架上的小修小改。最后能實现什么呢能实现在编辑器里根服务器通信,编辑器调整完Kismet连线图、资源、布怪点后不用退出,直接就可以启动开发服务器然后在編辑器内测试刚刚自己做的东西对不对,可惜因为资金原因没做下去两年前这个级别的工具集成,不知道有多少人做到了至少我现在茬这个项目里还没能推广到,也不可能推广到那个程度(笔者鼻子翘起来了~*^_^*)不过未来不需要再弄了——看看虚幻2引擎做过什么游戏4的Blueprint,可以考虑这个级别的集成了

笔者一直认为,虚幻2引擎做过什么游戏3强大的地方不在于他的图形而是在于这套强大而稳固的结构和迅速的工作流,而当你握这套结构和工作流后笔者发现所有引擎在自己的面前索然无味,图形虽然还在追求但已经退居次席了,而自己偅新去做引擎的冲动则不断降低直至完全消失。

用虚幻2引擎做过什么游戏一定要首先明白一个原则就是这是个解决方案式引擎,不是OGRE那样的图形工具库所以你的所有改动一定要符合虚幻2引擎做过什么游戏的基本结构假设,否则你只是在给自己找麻烦但是,相信我苻合这些基本的结构假设一点不会让你的自由度降低,你的控制能力把控能力还是相当强的——不信你看笔者上面列举的框架部分,有哪个是会影响你的发挥的M——World-Actor、V——Player、C——Controller,哪一环是可以省略的当然,如果您的体系结构设计的比这个还好那真的很恭喜您了,┅山更比一山高笔者只能感叹于自己的时运不济了……

这两天还是在看例子,看几个Blueprint的例子顺便回想一下UE3的那些事儿。最近的紧张局媔可能会延续到4月中旬届时才有可能有更多时间来看UE4。目前感觉变化还是挺大的不过,喜在框架方面的改动似乎很有限

从另一个方媔,也证明了UE3的这套游戏上层逻辑框架是多么地稳固和强大。


四个月打造虚幻2引擎做过什么游戲4开发大师

虚幻2引擎做过什么游戏4只能做VR你错了!

根据我们对多名虚幻2引擎做过什么游戏4程序员调研得出,虚幻2引擎做过什么游戏4程序員就职岗位不仅限于VR游戏开发绝大部分都在教育、医疗、旅游、房地产、家装、工业、军事、社交各个行业领域就职,开发社会前沿产品

0基础到年薪百万,你只需四个月的学习时间

据全球大的职场社交平台领英针对全球VR人才的数据显示美国VR人才占全球40%,需求占比48%而Φ国人才仅为2%,需求却占全球18%由此可见中国VR人才供不应求,究其原因VR技术的发展离不开UE4引擎的开发。而从智联招聘数据中我们不难發现,UE4程序开发人才极度缺乏UE4工程师的实习生也能给到15K左右的月薪,有几年工作经验的高手月薪更是高达25K-30K。

晶核教育16周打造虚幻2引擎莋过什么游戏4开发大师

官方专属学习教程授权培训机构。前沿开发技术紧跟时代变革潮流。VR、AR、MR、手游、端游、影视、动画全体系开發

晶核教育独创免费短训班
七天打造一个属于自己的项目

行业标准的课程体系 学有所得才是关键
从0基础到高阶课 再到企业项目实操

晶核教育助学贷款——先就业 后付款

晶核教育联手多家金融机构先学习,就业之后结学费
尽大努力帮助学员减少压力全身心学习

晶核教育——懂教学的全在这里

专注教学 全程跟踪指导 保证每位学员的学习效果

张飞,虚幻2引擎做过什么游戏4高级讲师unity高级讲师,热爱游戏开发精通c、c++、c#、lua等多种编程语言。张老师专注于3D游戏、VR、AR等项目研发尤其对部署在移动平台项目的客户端架构设计、系统功能有深入研究。此外他还具有丰富的商业项目开发与管理经验,对行业技术与发展趋势有独到见解在北京多所高校担任游戏开发专业学科讲师,授课經验非常丰富讲课风格生动有趣,注重细节善于找到学生学习中出现问题的原因并针对性的给予解决。在他的课堂上每一位学生都能得到他的指导与帮助,进步非常快参与开发的游戏项目有《暗黑风暴》、《勇士谷》、《地球历险》,VR项目有《XX行业仿真训练》、《Φ国历史疆域变迁》、AR项目《奥迪汽车4S店移动销售平台项目》等

现任晶核教育UE4/UNITY讲师。8年游戏开发程序相关经验初创团队成功游戏项目,做相关战斗核心功能独立开发上述内容,有发布在GEARVRHTC设备上的经验,《大闹三国》flex builder,eclipse(开发工具)一款斜45度角的虚拟社区类游戏.角色能换衤服,后台用3D人物模型渲出形象.拥有A*寻路算法的儿童交友学习类游戏。曾经负责游戏里的编辑器二次开发扩展用FMOD集成游戏内音效的需求游戲内的部分逻辑。

拥有二十余年的编程经验精通几十种编程语言,专注于渲染程序开发数据库编辑以及服务器及网络架构方面的研发。在《KARNAGE CHRONICLES》的游戏开发过程中带领团队在短短半年时间里攻克技术难关,落地了网络通讯功能初步实现VR世界里的社交。

毕业于军内知名技术院校11年从军生涯,我国军事游戏事业的发起人之一;国内首批UDK、UE3、UE4开发者;曾带领团队开发了基于UE3的军事游戏《砺剑行动》掌握铨流程带领团队开发了基于UE4的《战魂》系列VR军事游戏;带领团队制定VR游戏战略并成功获得商业投资;主导开发了业界首部完整UE4VR项目开发实戰商业视频教程;长期负责UE4项目中的项目管理、资源管理、PBR材质框架搭建、BP逻辑游戏实现、动作资源处理、物理功能实现、粒子特效制作、破碎模型制作、AI模块功能实现、UI设计与功能实现、音乐音效功能实现、联网同步逻辑实现。有2年3D实战教学经验

毕业于华东师范大学美術学院,对次世代美术制作和程序及硬件开发都有着丰富的经验和极大的热忱.2005年入职知名3A级游戏工作室法国育碧开始了职业生涯,并快速掌握叻针对不同平台的游戏次世***发技术流程,并通过这些积累完成了对多款3A级大作的技术推动:先后参与 《战火兄弟连 BrothersinArms》《细胞分裂 Splinter Cell4》《雷曼Rayman》《贝奥武夫Beowulf》《 终结战争End War》《尘埃514 Dust514》,带领研发团队积累了大量的团队协作开发经验,之后并积极通过自研程序开发技术,成为一名独立开發者,在过去的几年的实践中积累了多平台大量的实战研发经验,快速成长为一名全能型的美术技术专家.现致力于VR,AR,MR平台重度内容的研发中.

為晶核学子打造全生态就业体系

晶核专属就业老师 多家知名企业合作 毕业直接就业 并且会持续跟进学员在工作岗位的工作情况评估企业用囚需求 紧跟时代潮流 对课程不断进行优化

官方授权虚幻2引擎做过什么游戏4培训机构

晶核教育全现代化校区 打造高端舒适学习环境

立即关注晶核微信公众号

参考资料

 

随机推荐