zoukankan      html  css  js  c++  java
  • 从外围了解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

  • 相关阅读:
    损失函数
    DPM 目标检测1
    编程题
    枚举型和元类
    python 多继承
    网络基础Cisco路由交换一
    网络基础tcp/ip协议五
    网络基础tcp/ip协议四
    网络基础tcp/ip协议三
    网络基础tcp/ip协议二
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/4055006.html
Copyright © 2011-2022 走看看