从外围了解UE4

Posted on 2014-10-29 12:02  neocsl  阅读(5566)  评论(1编辑  收藏  举报

  我的游戏终于全球发售咯,在97个国家得到AppStore首页推荐。当前在美国和加拿大付费排行榜的最好成绩是36名。这是当前国内最好成绩的iOS游戏吗?可能,也许吧。

更好的消息是SCE联系了我们,我们将会踏着快船向PlayStation家族进发。

  

  停止沾沾自喜,收集了大量的UE4 官方ppt,这可以让我们从外围解读。

 

1.虚幻4 的概览:一个程序员对UE4的一瞥

  好吧,你会被吓到的。

  • 虚幻4不像你的老奶奶一样,她非常的火辣哦
  • 他有5000以上的目录结构,40000以上的文档。好吧大师,你来上吧
  • 有多多多多多多多的代码量
  • 上百的模组
  • 成吨的工具,上千的特性
  • 一个人世纪:人月神话的人年在这里不顶事了

  那么这么个庞然大物,从哪里开始学呢?

  • 从脚趾干起,一步一步来呗
  • 大部分的代码和内容你永远都接触不到.Sounds good我很喜欢这点,我的时间有限,还有许多游戏要打,书要读,妹子要谈
  • 事实上即使是Tim Sweeny都不一定了解UE4的方方面面
  • 但是你看到了,UE4学起来并不难

 

2.代码的概览:

根目录结构

  •  /Engine 所有的代码内容,和引擎的配置文件
  • MyProject让你放置工程的地方,不像UDK一样让你最好使用一份引擎做一份工程
  • Templates 看看引擎创建工程的时候有FPS C++ Template了吗,就是这个东西,其实你也可以创建,更牛逼的是你还可以去MarketPlace中出售.我看到了一个家伙准备出售他的跑酷系统,使用蓝图

工程目录结构

  • /Binaries 谁都知道在UDK里面这个东西有什么用,DLL
  • /Build  需要构建引擎的文件
  • /Config 配置文件
  • /Content UE3 和UDK的人都懂
  • /DerivedDataCache 看起来很先进,新玩意,缓存数据(只有引擎的,你的content和地图数据休想)
  • /Intermediate 顾名思义(只有引擎)
  • /Plugins 分项工程文件的插件
  • /Saved 自动保存,本地配置文件,截图等
  • /Source 程序员他家  

 INI 

  • 保存所有class的属性
  • 将会在启动的时候加载到CDOs 我不懂什么是CDOs 求高手
  • 组织目录结构
  • 高层覆盖底层:这个UDKer都懂,像UDKEngine->DefaultEngine
  • 组织区域
  • 键值映射
  • 从编辑器UI扩展出来的重要东东
  • 底层键入FConfig 又不懂  
  • XXX.ini->DefaultXXX.ini->BaseXXX.ini->Class Constructor

 以下是目录结构

  UObject的定制区域

  [/script/ModuleName.ClassName]

  自定义定制区域

  [SectionName]

  支持的数据类型

  数值,字符串,枚举,结构,静态和动态数组

  自动序列化UObject properties

 

   一款先进的游戏引擎,让一名开发者在工程环节少走许多弯路。除非你是一名大师可以考虑事物构架的方方面面。对于初学者,你常使用这种强大的工具,潜意识中建立正确的工程构建之道。事情就是这么做的!

  UE4在这些方面为我们做的是值得我们该心存感激的:可复用(Blueprint就像你的碎块代码一样在不同工程之间拖拖拽拽,不像以前的kismet还得钉死在关卡中),可扩展(有了插件还有什么好说的),可维护(一直都是,UE4太谦虚了),去耦合(得深入开发才能给你举例子),高效(不会争辩)

   

  程序员看这儿:

  • Core    提供了基础核心类型和功能,Math...
  • CoreUObject 实现的UObject子系统,联网,Object
  • Engine 游戏的类,引擎的框架
  • OnlineSubsystem 所有的社交网络类,Steam,GameCenter
  • Slate 我还没有深入UMG,反正你不需要再强依赖Scleform或者MobileMenuScene或是强编HUD了。我也受够了UE3这方面的无节操

  给能钻的程序员更有趣的地方

  • PC(完美),Mac(跑不动),Linux(不会)
  • 自己定制编辑器
  • 游戏的运行循环
  • 消息提示,Steam,GameCenter...
  • 网络接口,好了,牛逼的伙计可以尝试MMORPG了,本人无爱
  • 设置,编辑器和工程文件的API你都可以动。不用UDK的条条框框是否略感自己无比强大:D
  • Slate  UI的核心地层代码
  • 目标平台,C++随你
  • UMG动态UI:
    • 我已经见到有开发者运用这套UI系统实现了自己的Flappy Bird~

  

 3.除过游戏之外的

  分析工具:手机用户的信息

  数据库管理:幸好我的工程还不是很大,否则没有数据库做AAA游戏是非常非常不可思议的

  游戏直播:自Twitch和PS4的share来了之后,PewDiePie的一行人好日子来了。咱们可以直播自己的游戏咯

  头戴:横井军平的超前思维在这个时代终于实现了,Oculus Rift。也许我们的游戏有这一天会很棒

  Json:云传输数据这一次应该能很好地操作,不像UE3中一次只能传输一个Object类数据

  版本控制:有API专门支持版本控制软件,Perforce

 

4.游戏本身

  这当然是我们最关心的内容了,你的游戏工程可以

  ①通过三种途径开发,Blueprint,C++或者是将两者结合

  ②包含所有模组和插件

  ③和别人分享,MarketPlace

  

  StarterKit也帮你有多重选择,你想开发FPS,横版,赛车,双摇杆射击?行你可以直接选择呗,最牛逼的你可以自己随便设。

 

  最后,这篇文章更像UE4的广告贴:D