從外圍了解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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM