http://blog.csdn.net/neil3d/article/details/46723589

Unreal Engine 4发布好长好长时间了,直到最近才有时间仔细去看一下。

TimSweeney老大一句话“IF YOU LOVE SOMETHING, SET IT FREE”,原来需要几十万授权金才能拿到的东西,就从$19,变成免费了,而且开源。作为一个国际顶尖的引擎,能走出这一步,对我等普通开发者真是福音啊。如此的牛X,再加上开源,相信Unreal Engine 4会火起来的,你看看最近E3上的产品展示也能感觉到。不过,Unreal的定位毕竟是“国际顶尖”,而非Unity3D那样的“开发大众化”,所以上手是有一定难度的。

下面我把对Unreal Engine 4的初步印象总结一下,特别针对像我一样有Unreal Engine 3的同学,希望更多的同学来已经学习Unreal。

UnrealScript去掉了

开发语言上最大的变化,莫过于把UnrealScript去掉了。
UnrealScript吧,当年来看还是一个非常NB的东西,要知道Unreal一代发布是1998年的事儿,而JAVA语言也就是95年才发布的。据说Tim Sweeney在开始设计Unreal的时候曾经考虑过使用Java作为上层语言,不过那时候Java还不成熟,所以他参考Java,实现了这个一个面向对象的,单根继承的脚本语言。不过,随着时间流转,Epic似乎并没有花太大的力气去演进UnrealScript。在Unreal Engine 3的时代,它确实显得有点老旧了,书写起来比一些现代语言确实有很多不方便的地方。所以,去掉就去掉吧。不过,值得注意的是,官方也留出了整合其他脚本语言的接口,例如LUA。

C++11

底层很多基础代码看上去有很强的亲切感,底层架构设计思路沿用了许多。底层依然是使用C++,不过用了很多C++11的特性,代码看上去简洁了不少。
项目的编译、构建使用UnrealBuildTool,这应该是从3代延续过来;另外,就是增加了一个UnrealHeaderTool工具,猜想是根据UCLASS,UPROPERTY等宏,生成自定义反射信息用的,具体的还待进一步研究。

Blueprint Visual Scripting

据说这是UE4最牛X的改进了。看了看,原来是Kismet的延伸,连源代码很多都是UKismentXXX那一套。UE3里面的Kistmet只限于在一个关卡中使用,而Blueprint扩展了。关卡可以有唯一的一个Level Blueprint,相当于原来的Kismet;另外增加了Blueprint Class,大概就是用Blueprint创建自定义的Actor、Pown之类的,由于有了这个功能所以原来的Archetype顺带也就被替代了。其实,作为老一代屌丝Coder,我一直对Kismet那种表达式层级可视化编程,一直不太感冒(像Unity的PlayMaker那样,提供更高层级抽象的可视化工具更好)。不过,既然是UE4主推的个东东,还是得看看。
不过,总体上给Designer一套可视化编程的东西,让他们自己实现一些关卡逻辑、游戏规则之类的,还真是一个特别好的方法。当然,我们这些Coder的工作还是不会丢掉的,例如游戏框架,游戏一些底层功能、常用模块还是要C++写好(或者使用LUA脚本?),封装给Blueprint来使用的。

AnimTree哪去了

UE3的AnimTree给我震撼太大了,所以特别关心UE4的动画系统。看了一下,貌似被分解成了BlendSpace和AnimGraph。
  • BlendSpace
    好比说“站立、走、跑”这三个动作,在UE3的AnimTree里面是有一个特定的node来混合的,根据移动速度不同。在UE4里,则需要创建一个BlendSpace1D资源,然后暴露出Speed参数。
  • AnimBlueprint
    使用Blueprint,AnimGraph,状态机等等控制角色的动画,怎么看上去和Unity的Mecanim有点像呢,唉~
看来AnimTree是真的不见了,很遗憾,因为我觉得那个使用树形结构来抽象的动画系统,实在是非常清晰而且强大。

渲染系统

基于物理的渲染(PBR:Physically-Based Rendering)效果真的是太NB了,Unity5虽然也是PBR,好像比UE4还是略逊一筹啊!这个无需多言了,各种DEMO视频大家都看了不少了。渲染流程也完全走延迟渲染了。但多线程渲染,SceneProxy、Material之类的基础架构没怎么变。

Behavior Tree

这个东西好像在国外的游戏AI领域这几年挺流行了,是个很高大上的东西,UE4直接做了,太好了。
另外,还有很多重大改进,例如Package,资源导入,增加插件支持等,这里就不一一细说了。推荐看一下官网的文章吧,作为本文的补充
  • TRANSITIONING FROM UE3 TO UE4,https://www.unrealengine.com/blog/transitioning-from-ue3-to-ue4
  • UE3 to UE4 Transition Guide,https://wiki.unrealengine.com/UE3_to_UE4_Transition_Guide

从Unreal Engine 3到Unreal Engine 4相关推荐

  1. Express engine 学习笔记 - app.engine 的使用方法

    看下面这段代码: server.engine('html',ngExpressEngine({bootstrap: AppServerModule,})); app.engine(ext, callb ...

  2. Google Earth Engine OEEL——Open Earth Engine extension 插件,事半功倍的GEE辅助神器(附链接)

    上一次写了一篇run all的自动化影像下载的文章链接如下: (977条消息) Google Earth Engine(GEE)--Tasks升级,实现RUN ALL可以一键下载任务类型中的所有影像_ ...

  3. 安装cheat engine之后reason security engine长期占用cpu和内存

    在任务管理器中发现一个叫reason security engine的进程一直占用cpu资源20%~30%,点开文件所在位置发现是一个叫RAVAntivirus的软件一直在后台运行. 执行它的卸载程序 ...

  4. Google Earth Engine (GEE) ——Google Earth Engine 和modi的关系

    如引言中所述,雪盖的全球尺度映射有几个要求.由于积雪可能是一种短暂的土地覆盖状态,因此需要较高的时间分辨率来捕捉积雪的变化.此外,空间分辨率越高越好: 与具有 20 km 2像素的雪盖地图相比,30 ...

  5. matlab您的安装可能需要执行其他配置步骤_手把手超详细介绍MATLAB+RoadRunner+Unreal Engine自动驾驶联合仿真...

    RoadRuner是MathWorks新收购的自动驾驶场景构建工具,Unreal Engine是商业游戏引擎.RoadRunner创建驾驶场景,导入到Unreal Engine,与Simulink联合 ...

  6. UNREAL ENGINE 4.13 正式发布!

    这次的版本带来了数百个虚幻引擎 4 的更新,包括来自 GitHub 的社区成员们提交的 145 个改进!感谢所有为虚幻引擎 4 添砖加瓦贡献的人们: alk3ovation, Allegorithmi ...

  7. Unreal Engine 4 系列教程 Part 1:入门

    原文:Unreal Engine 4 Tutorial for Beginners: Getting Started 作者:Tommy Tran 译者:Shuchang Liu 本篇教程将引导你安装U ...

  8. 基于Unreal Engine 2的救援机器人仿真平台开发(一)

    Ureal Engine(以下简称UE)是Epic Games开发的游戏引擎.他与游戏Ureal Tournament 2004(UT2004)一起发布.UE和UT2004都分别发布了Windows, ...

  9. ue4怎么导出fbx文件_【教程】Houdini Engine在UE4中的基本使用(一)

    后续文章更新移步→微信公众号"虚幻社区"(mantra-xhsq),您的支持是我创作的动力. 在读本篇文章之前大家最好搞懂"程序化建模"的概念. 1.Houdi ...

最新文章

  1. phpcurl 请求Chunked-Encoded data 遇到的一个问题
  2. 用jamon来监控你的sql执行效率
  3. nyist -- 组队赛(一)
  4. Android 判断当前联网的类型 wifi、移动数据流量
  5. 朋友圈有趣的灵魂都去哪了?这几个优质公号给你答案
  6. luoguP4213 【模板】杜教筛(Sum)杜教筛
  7. React 点击按钮显示div与隐藏div
  8. 10篇产品大V精华文章,你值得一读
  9. Linux DRM KMS 驱动简介
  10. 从离职之日起,一年内仲裁
  11. Linux学习笔记08—如何关闭防火墙
  12. excel各种填充的总结
  13. 618闭着眼睛买都不会错的三款好物!当贝投影最推荐?!
  14. php如何导出数据库,PHP导出数据库方法
  15. 使用python进行分布分析(算数平均、几何平均、偏度、峰度,绘制直方图),以2022年上半年沪深300指数为例
  16. 单片机学习笔记————组合BCD码,非组合BCD码,以及数值三者之间的相互转换和关系
  17. 学会用python识别图像
  18. Buy Watermelon(思维题)
  19. 在DirectX9.0中使用Mesh
  20. 蚂蚁高管被约谈,IPO如何引燃了蚂蚁的监管风波?

热门文章

  1. php引擎,php基于什么引擎
  2. 自学python怎么转行_没有基础的想转行学习Python怎么学
  3. el 能否定义作用域变量_python命名空间和作用域
  4. Linux(四):虚拟机Ubuntu 卸载
  5. VSCode运行Python教程
  6. Python数据分析:pandas玩转Excel(一)
  7. mongodb和mysql的语法_Mongodb和mysql的区别
  8. android 手机铃声设置铃声设置,Android 修改系统来电铃声
  9. Mac下图像标注工具labelImg的安装
  10. jsp+java bean+mysql数据库进行分页显示