从外围了解UE4
我的游戏终于全球发售咯,在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