初试虚幻4引擎感想

最近两天下载了虚幻4的源代码和编译好的环境,稍微尝试了下。没有深入研究,只是运行了几个Sample,看了看编辑器环境,甚至连c++代码都没有多看。所以并没有资格对这个世界上最先进的游戏引擎品头论足。不过由于不打算继续深入研究了,所以表达一下感想。

虽然对Unity已经比较熟悉了,但是真正接触虚幻4还是感觉力不从心。单单使用Unity的时候,感觉有很多坑,各种不爽,但是换了UE4,反而感觉Unity无论从编辑器界面还是代码框架设计都非常干净精简。从某种程度上说,Unity入门容易,上手快,并不仅仅是一个噱头。

虚幻4的编辑器功能选项很多,菜单中也有各种看得懂和看不懂的功能。有点像是用3DMax一样,熟悉而又陌生,要真正上手估计要一两个月的时间。当然如果是之前接触过UDK或者是有过虚幻引擎开发经验的人或者是真正的大牛,上手会快一些。但是个人感觉,无论如何要比Unity难一些。

我准备业余时间(短期内不会有太多时间)自己开发一个ARPG的,目标就是火炬之光手游版本。所以选择引擎的标准就是3D、酷炫、手游、开发方便。试了试UE4感觉就是,UE4不花一些力气是Hold不住的,而在Unity5已经非常好用的情况下,除非个人兴趣,否则没有必要多花力气去搞定UE4。

下面是我的一些个人感想:

1、虚幻4开放了所有的源代码,只要19美元一个月,就可以随时获得最新代码。网上也可以下到最新的代码和编译好的环境。 开放源代码,这个对于技术向的程序员应该非常有吸引力。因为所有人都会有这样的想法,代码开放了,那我出了问题可以自己修改Bug,并且可以自己随意扩展功能。不过使用Unity后的感受是,如果设计非常漂亮的话,即便不开放源代码也可以自由的扩展引擎功能。虽然有无法扩展或修改的部分(也就是一些很不爽的敌方),但是这个也不是自己能随意改的,因为很多东西牵一发而动全身,结果自己能修改的部分还是一些插件性质的内容。而这些东西Unity没有开放代码也做到了。不知道为什么会有人觉得不开放代码我们就会碰到搞不定的问题,而开放代码后一切都可以搞得定。感觉UE4开放代码更像是一个噱头,或者是自己设计不足时的补救措施。

2、BluePrint

这个东西很强大,简单说就是不写一行代码就可以做出一个游戏。Unity里面也有很多类似的插件,最出名的是PlayMaker。虽然我很赞赏这些工具让策划或者不是很擅长程序的人也可以做出一个漂亮的游戏。但是我个人是很不习惯使用这些的,就像我很不习惯MecAnim中的状态机编辑器一样,我感觉使用代码和配置来维护状态操作起来更加方便,很多时候也更加智能。而且当项目复杂起来的时候,使用这些可视化工具很容易陷入泥沼。当然能够正确的使用他们的话,对项目还是非常有帮助的。比如关卡设计的时候开放一些功能给策划去配置,这个就相当于一个可视化的而且更加强大的关卡事件编辑器。

3、工作流程

引擎最重要的职能就是定义工作流程。代码可以自己摸索,功能可以自己实践,但是正确的工作流程却必须要在团队中学习。Unity因为相对简单,所以还可以自己摸索下,但是UE4的工作流程是什么,怎么做才能发挥这个最先进引擎的真正威力,这个都需要好好学习摸索。如果仅仅是把它像OGRE一样去使用,反而会显得憋手蹩脚。如果不能真正发挥引擎威力的话,那再先进的引擎也是浪费。

4、次世代的渲染效果

次世代一直在进化,比如UE4使用GPU粒子,可以渲染几百万个粒子(正常来说同屏几千个粒子已经会拖慢速度了),使用曲面和物理光照可以实现更加真实的渲染效果。但是我的需求是一个手游ARPG,我要表现的是一个酷炫的感觉,是否真实不在我的考虑范围之内。至于GPU粒子就更不用说了,几年内手机显卡估计都不会支持。所以说,很多高级特性给我们了也不能用,不敢用。 Unity5里面的全局光照我都持有怀疑态度,不知道是否真的不再需要LightingMap了,不知道手机上性能和兼容性如何。所以单从渲染技术上说,UE4并不具备真正的优势,很多U3做的游戏非常炫,但是那个也需要美术给力才行。

5、c++代码

基本上说UE4开发就是c++代码和Blue Print相结合。虽然可以方便的嵌入lua什么的脚本语言,但是估计不会有特别的好处。虽然写C++写习惯了,不会感觉有很多坑。但是跟c#相比还是麻烦了一点。 Unity使用c#真是相当明智的选择,一方面借助c#解决了开发者难题,一方面借助Mono实现了跨平台,同时还能够保证效率。至于游戏运行效率,如果c#代码能够成为性能瓶颈的话,那我感觉c++也不会好到哪里去,这个时候更应该优化客户端代码而不是抱怨语言效率。

6、代码热加载,即写即编译

借助于llvm,可以实现即时编译,而Unity又可以实现动态库的运行时热加载,所以可以实现边修改变查看运行结果的效果。

7、很多实际功能不知道如何去解决

比如使用Unity,我已经知道了碰撞盒如何去加,物理如何设置,动画如何处理,如何设计技能系统,UI怎么做,光效怎么编辑。而这些在UE4中都要重新去学习掌握,而UE4的文档教程并不是很多,很多时候也找不到具体功能如何去实现。 等UE4发展起来估计会好一些,不过UDK发展了这么多年,也没有起色,我很担心UE4能够有什么改变。Unity能够备受游戏公司和独立开发者推崇,在最近一两年出了如此多Unity制作的卖好又卖座的精品游戏,肯定有其理由。而这个优势肯定不是开放个源代码就可以弥补的。整个生态链的搭建没有个一两年是做不到的。除非它能够放下身段去学习Unity,不过那样的话虚幻就不是虚幻了。

8、没有找到内嵌的性能分析工具

Unity自带的Profiler功能强大而且简单好用。这个不是说用个Intel GPA就可以替代的。运行时也不像Unity一样可以直接查看当前的性能参数,我不知道怎么样评估游戏运行的性能。这个其实很重要。 同时,因为现在还几乎没有UE4(UE3的也不多)的成功游戏,所以运行性能、发热、兼容性也都不能做任何保证。

其实不光是性能分析工具,像GUI编辑器之类的东西,貌似也要自己处理。且不说插件商店之类的外围设施,即便是编辑器和引擎核心的功能UE4也还有很多路要走。

总结就是:出于兴趣玩一下UE4是可以的,但是除非是专业的引擎开发人员,或者有真正的项目需要,否则研究下去即不能用来做项目也学不到什么东西。

时间: 2024-12-24 10:35:29

初试虚幻4引擎感想的相关文章

虚幻4引擎角色蓝图Character的Movement组件学习

Jumping/Falling Air Control :角色在空中时的控制参数.数值为1 代表完全控制. Air Control Boost Multiplier :当角色的速度超过 Velocity Threshold时 空气控制变为原数值乘该参数数值. Air Control Boost Velocity Threshould:速度阈值.

虚幻4引擎Gear VR开发入门(下)

VR常用操作接口 UE4在Blueprint中提供了一组HMD函数,如下图所示: 另外,对于Gear VR,可以开启Oculus Library插件,访问下图中的函数: 常用功能实现 Gear VR头盔右侧有一个Touchpad,经试验,可以通过Blueprint中的Touch事件来响应其操作,例如: 另外,目前VR中常用的就是视点交互的方式,需要使用Line of Sight检测,例如:

(转载)虚幻引擎3--基础知识

这是虚幻引擎3UDN的技术文档,共有六个章节.以下将分别把中文译本贴出来,方便懒人学习[偷笑]  一.虚幻引擎 3 基础知识 概述 -------------------------------------------------------------------- 有几个游戏性元素实际上是所有使用虚幻引擎3或虚幻开发工具包创建的项目所共有的.自定义这些元素可以创建出完全独特的.外观和行为符合期望的游戏.没有任何两个项目是相同的,尽管虚幻引擎提供了这些元素的默认实现,但是肯定需要对它们进行很大

虚幻4 - ARPG实战教程(第一季)

在广受欢迎的的<虚幻4高速开发入门>视频教程之后.我收到了许多的反馈,当中大量的同学想要一个实战类的教程.于是,我花了一段时间准备之后,推出了新的一系列实战教程. 希望以深入浅出的方式.解说虚幻4引擎各个模块的实际使用方法.开发思路,以及相关知识拓展. 因为这一系列教程很庞大.所以会分为上.中.下三部来公布,敬请期待. 使用"开发人员头条"的同学.能够关注一下我的主题:http://toutiao.io/subjects/96671 课程相关资源下载:https://cod

SpeedTree导入到虚幻UE4的注意事项

有网友翻译官方文档一篇,详细描述了如何把在SpeedTree中制作的模型导入到虚幻4引擎: 相关问题答疑: 1.导入有如果有阴影问题? 请调整光照贴图分辨率 2.树叶摆动怎么做的? speedtree for ue4版本另存可导出srt,导入srt文件,在ue4中加入风力,即可实现: 导出时,请注意以下参数: 本文转自:52VR.com  Hololens http://www.52vr.com/article-765-1.html

为何要学习游戏引擎底层技术

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. 最近这段时间,开始写一些关于3D游戏引擎底层实现的文章并附上源代码,目的是唤起开发者学习引擎底层的兴趣.随着引擎封装的越来越好,很多人都抱着会用的思想,把人家的东西用到极致作为奋斗的方向.作为我们开发者来说这是非常可悲的,这会导致写引擎底层的人越来越少,最终这些技术

虚幻4以及DX12将允许开发者利用Xbox One的更多性能(转)

GamingBolt 最近采访了 Epic Games 的总经理 Ray Davis,讨论了有关旗下虚幻引擎(Unreal Engine)的议题.在这次的访谈中,Ray 解释了关于使用 DirectX 12 结合虚幻4引擎的优势以及这样是否能够对 Xbox One 的性能表现产生影响.随着微软即将再次重视PC平台的游戏市 场,虚幻4引擎将会如何帮助游戏开发者利用即将推出的 DirectX 12 API 呢?他表示:“对我来说 DirectX 12 最令人感兴趣的层面就在于,特别针对移除开发者与硬

Unreal Cook Book:神奇的Spline Mesh

啥是Spline Mesh 虚幻4引擎和Unity3D一个主要的不同就是:虚幻4引擎提供了非常非常多的各种功能.这是因为EPIC也开发游戏,而且是很成功的大作.他们会把游戏项目中一些验证过.可被其他开发者重用的功能整合到引擎层.所以虚幻4引擎要学习的东西非常多,但是如果你掌握的越多,做起项目来很可能就约轻松.:) 本文就介绍虚幻4引擎中的一个很好玩的组件:Spline和Spline Mesh.Spline就是一个曲线,你可以在编辑器中添加控制点,移动控制点,设置控制点的切线等:而Spline M

张瀚荣:如何用UE4制作3D动作游戏

转自:http://www.gamelook.com.cn/2015/06/218267 GameLook报道/ 6月5日,2015年第三期GameLook开放日?虚幻引擎专场活动在上海正式举行,此次活动由Epic Games与GameLook联合主办. 动作游戏凭借爽快的打击感和强烈的操作感一直受到玩家的喜爱,但一些高品质的3D动作游戏设计其实颇有难度,国内市场上常见的大多是横版2D游戏.本次活动上,Megafun的创始人张瀚荣来分享了利用UE4引擎制作3D横版动作游戏的心得. 张瀚荣从策划的