深夜長談:聊聊 Cocos Creator 3D 的未來
從去年十月份 Cocos Creator 3D 誕生以來,3D 引擎組經歷了激動人心的幾個月,有很多節點讓我們對這個產品越來越有信心。今天想和大家分享未來的計劃,但在這之前,我們想先感謝這幾個月來,對我們非常重要的一些人和事,有來自社群的激勵,也有內部的揭祕。
來自社群滿滿的愛
令我們感到欣喜的是,去年 10 月 16 日 Cocos Creator 3D 釋出之後,很快就有幾位社群的研究達人釋出了好幾篇 Demo 和教程,比如張曉衡發的打磚塊案例分享;一枚小工的足球射門和疊貨箱;白玉無冰的螞蟻莊園系列和拇指射箭;博毅創為 Blake 老師的街頭籃球直播;@yans 移植的 ShadowGun 經典 Shader 案例(甚至還包含水面、霧效和體積光哦)。同時,我們的論壇社群中,無數開發者每天都在互相幫助,給新人指導,答疑解惑。對於這些熱心的開發者們,我們心懷無限感激。大家的關注與陪伴,也激勵著我們引擎團隊不斷完善 3D 引擎。
夢想結出果實:上線遊戲
同樣就在 3D 引擎發出後的短短兩週時間內,我們就發現了幾款小遊戲使用 Cocos Creator 3D 上線了。我們最早發現的是“畫線射門”和“瘋狂接盤俠”這兩款小遊戲,雖然都是非常輕度的休閒闖關遊戲,但也給了整個團隊莫大的信心,讓我們對編輯器的方向更加堅定。
Cocos Creator 3D 經歷了三年多的研發,但直到近 2018 年中,我們才確定了要做自己的編輯器,而不是從其他編輯器匯出資源執行。這個決定意味著開發者用其他引擎製作的專案無法直接遷移,也需要學習一套新的編輯器工作流,我們自己的研發週期也會被繼續拉長,承擔巨大的編輯器研發成本和時間。這兩款最初第三方遊戲的上線,讓我們知道這就是我們堅定編輯器研發路線的回報。如果不是高度統一的工作流,不可能有如此高的開發效率。當然,後續更多的 Creator 3D 遊戲也陸續上線,越來越精品化,比如熊靈傳說、熱血街道、豬豬俠之極速狂飆、最佳進球、極品車王、巔峰漂移等等。直至我們下一個故事的主角,第一款跨端 Creator 3D 遊戲。
突破原生:彈無虛發
應該說 Cocos Creator 3D 直到 v1.0.3 才算是完整版本,它 終於支援了原生平臺。在這之前大家也都在觀望平臺支援的情況,擔心我們無法快速完成跨平臺的適配。幸好引擎團隊非常給力,經過三個小版本補齊了所有 Creator 支援的平臺。更讓我們感到欣喜的是開發者的信任,有一些開發者在我們尚未支援目標平臺的情況下,就果斷立項啟用我們的引擎,等待我們的更新。其中最好的例子就是“彈無虛發”這款遊戲,2020 年元旦前我們釋出了支援原生平臺的社群公測版本,1 月 11 日就有收到帖子“《彈無虛發》終於上線內部測試版本啦(IOS端)”,開發者的速度簡直驚掉了我們的下巴。當然,這也證明了我們 Cocos 祖傳的原生平臺支援一如既往的穩健。很有趣的是,這款遊戲先上線 iOS,在這周才剛剛上線微信小遊戲平臺,完成了跨端釋出。
Powered by Cocos Creator 3D
從 v1.0.1 版本開始,我們對微信開放了一個新的功能:插屏替換功能。也有開發者們誤會這是我們在鋪墊付費或者強制宣傳,其實這個功能背後的祕密沒有那麼功利。
引擎上線之後,我們發現不少吐槽載入慢的問題,也發現有些專案遇到微信端卡在 100% 白屏進不了遊戲。我們仔細研究後發現,如果在小遊戲渲染出第一幀之前,出現錯誤的話,就會卡在微信的載入介面,此時連報錯資訊都檢視不了,這對於開發者除錯體驗實在太不友好了。所以我們才想到了 Splash Screen 這一經典解決方案,在使用者指令碼、資源、場景載入之前就載入一個插屏頁面,提交第一幀渲染,完美解決了卡白屏的問題,甚至減輕了玩家對載入速度慢的感知,極大地提高了響應速度和玩家體驗。
當然,隨著這個功能上線我們也同時允許開發者在構建時直接修改插屏圖片,允許去除 Powered by Cocos Creator 3D 的字樣。只需要給我們提供遊戲專案的一些資訊,幫助我們找到可愛的開發者們,建立聯絡甚至合作關係。儘管如此,仍然有很多開發者保留了 Powered by Cocos Creator 3D,在此誠摯地向你們表示引擎團隊的感謝!
未來路線圖公開
當然今天的正題是分享 Cocos Creator 3D 接下來的重要版本計劃,這些計劃已經被公開在 Trello 公開的看板上,會一直保持更新。
可以看到接下來的釋出計劃主要是 v1.0.4 和 v1.1 兩個版本,其中 v1.0.4 為春節前 v1.0.3 基礎上大幅度增強穩定性的版本。而 v1.1 則是我們注入了很多重要新特性的里程碑版本。
Trello 路線圖看板:
https://trello.com/b/3DmJCvh3/cocos-creator-3d-roadmap
Cocos Creator 3D v1.0.4
v1.0.4 在下週很快就會和大家見面,由於想趕在年前釋出,v1.0.3 的迭代略微有些倉促,加入了各種平臺支援,所以穩定性和細節上我們不太滿意。二月初開始我們恢復了遠端辦公,經過一個月左右的迭代和測試,完成了更穩定的 v1.0.4 版本。這個版本的重要更新包括:
- 桌面端微信平臺支援
- Tween API 易用性優化:增加 onUpdate、onStart、onComplete 回撥,節點銷燬時關聯的 tween 自動停止
- 各個小遊戲平臺的分包功能支援
- Ammo 物理後端支援膠囊體
- 修復元件物件構造失敗可能導致的場景資料丟失問題,這個問題在論壇中有不少開發者遇到過,我們之前一直未能重現,感謝 @o???u??? 提供的測試專案幫助我們找到了問題的根本原因。這個問題的根本原因仍然是迴圈依賴導致的指令碼丟失,不過丟失的不是元件指令碼,而是元件建構函式依賴的指令碼,導致元件例項化失敗,而我們沒有處理這個錯誤進而損壞了場景資料,如果使用者儲存了錯誤的資料,就會導致場景再也無法開啟。這個嚴重的問題相信在 v1.0.4 之後就會大幅度減少,而迴圈依賴的問題我們也計劃在 v1.1 中繼續優化。Cocos Creator 3D 目前比較容易出現迴圈依賴的主要原因是因為 @property({type: XXX}) 這種裝飾器寫法會在解釋指令碼階段立即執行,最終在指令碼匯入階段變成了硬依賴,就使得這種型別宣告變成了迴圈依賴的罪魁禍首。我們會盡力在 v1.1 找到更完善的解決方案。
- 修復 fbx 匯入工具對部分 Mac OS X 版本不相容的問題,目前已支援 Mac OS X 10.12+
Cocos Creator 3D v1.1
在 v1.0.4 之後,我們將正式進入 v1.1 的迭代週期,總的來說,v1.1.x 的核心目標有三個
- 原生強化!
- 開發效率!
- 執行效能!
作為一款跨平臺的遊戲引擎,今年 Cocos Creator 3D 的目標是服務於跨端 3D 遊戲的開發需求,我們尤其關注移動原生平臺的質量。這背後的原因相信大家也很清楚,在國內政策縮緊的情況下,海外原生平臺成為廣大開發者自救的最好選擇。在引擎支援上,我們會在上半年就完成原生多渲染後端的支援,包括蘋果 Metal 和安卓 Vulkan。不僅如此,在原生框架上我們還會投入大量研發資源,後續將逐步輸出具體計劃。
在開發效率上,v1.1 將提供一些社群開發者們眾望所歸的功能,比如場景編輯器中顯示攝像機預覽的小窗;材質編輯預覽功能;外掛指令碼順序管理。相信這些功能對開發效率會有顯著提升,原有模組比如動畫編輯器也會得到持續的體驗優化。除此之外,我們也從各個角度提升了編輯器執行效能,降低了 CPU 佔用率。
開發者非常關注的執行效能方面:原生平臺上主要是框架級別的原生化以及多後端接入,本身就會帶來顯著的效能提升,框架準備也可以為後續長期的效能優化打好基礎;在 Web 和小遊戲層面,我們會嘗試在更多平臺和環境下開啟 WebGL2 或是 WebGL1 extension,比如之前在微信上由於相容性關閉的 VAO 支援:同時很多材質都可以通過開啟新增的 GPU Instancing 選項顯著增強渲染效能,而基於 GPU 的粒子系統也是為了讓開發者輕鬆無痛地在遊戲中使用更多特效。
以上就是版本相關的計劃,非常歡迎大家到我們 Trello 的看板上評論你們的想法,給你們感興趣的功能點贊。大家也可以繼續在論壇中提出我們沒有考慮到的各種建議,我們會收集到路線圖中。
更長遠的規劃
目前公開的計劃不算多,只有最近這兩個版本,但我們內部其實已經做了非常長遠的規劃。今年最重要的目標是原生平臺框架的持續升級,並且得益於我們在繫結技術上的長久積累,引擎的框架可以做到漸進式的遷移,這點是非常有價值的。另外,海外各種平臺服務的支援也會逐步整合到 Cocos Creator 3D 中,幫助大家更輕鬆地進軍海外市場。在功能和特性上,我們會不斷深入挖掘動畫混合、場景編輯、地形和烘焙功能、資源編輯、可程式設計渲染管線、物理系統、外掛體系等方面的能力。具體的計劃請持續關注我們的 Roadmap 和公眾號。
最後再次感謝所有陪伴我們成長的開發者們,感謝你們的無數反饋、分享和你們做出的遊戲!
作者: Panda
來源:COCOS
原地址:https://mp.weixin.qq.com/s/7l8OehStvTrmuGYkrxHpSg
相關文章
- 深夜思考著未來
- Cocos Creator v2.1.0 正式釋出,新增 3D 支援3D
- Cocos Creator 3D 案例《彈彈樂》技術實現分享3D
- Cocos Creator 的工作流程 2.4
- Cocos Creator 3D 材質系統:曲面效果如何實現?3D
- 如何用 Cocos Creator 3D 如何實現小姐姐的髮絲高光?3D
- Cocos Creator 3.x缺陷
- Cocos Creator踩坑日記(一)
- cocos creator中適配iPhone XiPhone
- Cocos Creator iOS 互相呼叫看我的就夠了iOS
- cocos creator 視訊互動遊戲遊戲
- cocos-creator 指令碼邏輯-1指令碼
- Cocos Creator 中的動作系統那些事兒
- 初探 Cocos Creator: 碰撞與物理系統
- Cocos Creator 新資源管理系統剖析
- Cocos Creator 3.8.x 透明帶滾動功能的容器
- Cocos Creator - 微信小遊戲 實戰分享遊戲
- Cocos Creator 入門篇-拖拽小遊戲(一)遊戲
- 小遊戲開發上手體驗 – Cocos Creator遊戲開發
- Cocos Creator 3.8.x bundle核心知識點
- Cocos Creator 3.8.x bundle注意知識點
- Cocos Creator 3.8.x bundle設定最佳方案
- 聊聊李開復的 AI 未來觀AI
- cocos creator螢幕適配的一些知識點
- Cocos Creator 資源載入流程剖析【三】——Load部分
- Cocos Creator 打包原生 Android 包該如何選擇 NDK 版本?Android
- 再談 PHP 未來之路PHP
- Cocos Creator 入門篇-描摹小遊戲(cocos描摹數字,描摹英語字母,描摹圖形)遊戲
- 工序升級!在 Cocos Creator 裡畫一個完美的矩形
- 進階!Cocos Creator 中使用模板測試實現遮罩效果遮罩
- OpenAI o1 模型到來後,談談提示詞工程的未來OpenAI模型
- 《糖豆人》--是時候談談它的未來了
- 【經驗心得】談一談我IT行業未來的方向行業
- 光影的魔法!Cocos Creator 實現螢幕空間的環境光遮蔽(SSAO)
- 馬化騰深夜發問 網際網路未來何去何從
- 貓頭鷹的深夜翻譯:趣談Java ExceptionJavaException
- IT專家們談OpenStack和Kubernetes的未來
- 路在何方?漫談國產GalGame的未來GAM