傳統3D遊戲引擎的Web化
轉載自:http://blog.csdn.net/xoyojank/article/details/8107373
最近floh大神的blog又復活了, 現在n3的主要發展發向是web化
其實也是跟PC和主機平臺的衰落有關, 各種移動裝置正在逐漸取代PC的地位
而做為一個3D遊戲引擎, 想要適應這個潮流卻不是很容易
先不考慮其它, 光技術上面臨的問題就很棘手:
- C++目前無法直接用於web開發, 必然要面臨老程式碼轉換/移植的問題
- 3D硬體加速的渲染在瀏覽器這邊, 沒有一個統一的標準
- 多執行緒, web瀏覽器裡對於執行緒的使用有很多限制
- 輸入裝置, 比如右鍵的功能很多時候會跟瀏覽器衝突
- IO, 通過網路傳輸的資源在傳輸, 訪問許可權等上也有限制
- 效能問題, 指令碼語言的速度雖說已經很快的, 但還是沒有Native快
- Microsoft IE ActiveX
- 平臺支援: IE(Win). 本身設計有問題, 不被其它平臺支援
- 優勢: 相當於把現有的引擎換個視窗, 程式碼改動最小, 效能幾乎沒損失
- 缺點: 需要安裝外掛, 沒認證過的會被大多數安全軟體攔截, 不如直接做成微端
- 代表: Unity3D, 山寨(或叫自研)3D引擎開發的遊戲
- Sun Java JNI
- 平臺支援: Win/Mac/Linux. 不過需要每個平臺都做一個Native版本
- 優勢: 瀏覽器相容性好, 相當於一個通用的ActiveX
- 缺點: 作業系統跨平臺需要額外工作. 需要安裝Java, 並且開啟瀏覽器支援
- 代表: Drakensang Online
- Adobe FlasCC
- 平臺支援: Win/Mac/Linux. 需要Flash11+, 把C++編譯成AS能用的庫
- 優勢: 平臺相容性目前最好
- 缺點: 渲染器需要重寫, 而且是Adobe自己的一套標準. 另外, 想要效能高? 買license!
- 代表:Epic Citadel(只是demo而已)
- Google Native Client
- 平臺支援: Chrome(Win/Mac/Linux). 瀏覽器限制住了...
- 優勢: 與Native的效能差距不大, 而且IDE與Debugger目前也有了(VS2010)
- 缺點: 雖然看上去很完美, 但不被其它勢力所支援
- 代表: OGRE, Bullet, Unity3D...Google Web Store上有不少移植好的遊戲了
- Mozilla Emscripten
- 平臺支援: FireFox/Chrome(Win/Mac/Linux). 把C++編譯成JS
- 優勢: HTML5符合未來的發展趨勢
- 缺點: WebGL不被Microsoft支援. 效能目前損失比較大, SDK也不是非常成熟
- 代表:BananaBread
值得注意的是, Adobe/Google/Mozilla這些都是基於LLVM搞的, 看來這也是一個好玩的玩意兒
暫時總結這麼多, 很多觀點是具有時效性的, 明年說不定就大變樣了
做為遊戲開發者, 還是要做好準備, 免得out了, HOHO~
注: 本文僅限於C++開發的3D遊戲引擎, 不包括各種XNA/Sliverlight的3D遊戲或是Flash/HTML5的2D遊戲
相關文章
- Elements Of A Game Engine - 3D遊戲引擎原理 (轉)GAM3D遊戲引擎
- 3D遊戲的照明設計理論(四):如何在遊戲引擎中照亮遊戲世界3D遊戲引擎
- Android 3D遊戲開發——Opengl ES遊戲引擎實現Android3D遊戲開發遊戲引擎
- 3D遊戲引擎之遊戲攝像機的使用 公開課直播視訊3D遊戲引擎
- 排名前10的H5、Js 3D遊戲引擎和框架H5JS3D遊戲引擎框架
- 3D繪圖:18個WebGL開源引擎框架及Web 3D圖形庫3D繪圖Web框架
- 鏟子騎士:2D遊戲,3D引擎打造遊戲3D
- Top 10:HTML5、JavaScript 3D遊戲引擎和框架HTMLJavaScript3D遊戲引擎框架
- 基於HT for Web 3D呈現Box2DJS物理引擎Web3DJS
- Android 3D遊戲開發(高階篇)——Opengl ES遊戲引擎實現Android3D遊戲開發遊戲引擎
- Web3架構與傳統Web的比較 - thenewstackWeb架構
- WebGL入門之基於WebGL的3D視覺化引擎介紹Web3D視覺化
- Web 3D 垃圾分類 GIS 系統,智慧城市環保一體化監控系統Web3D
- 做前端的怎麼很快的學會 Web 3D 遊戲的開發前端Web3D遊戲
- Web 開發者新神器:能執行遊戲引擎的火狐 Quantum 瀏覽器Web遊戲引擎瀏覽器
- 遊戲與遊戲引擎遊戲引擎
- 傳統能源轉型:數字孿生智慧火電廠 3D 視覺化3D視覺化
- 傳統 Web 框架部署與遷移Web框架
- Anno微服務引擎與傳統應用相融合微服務
- 3D探索——Web 3D哪家強?3DWeb
- javascript遊戲引擎JavaScript遊戲引擎
- 遊戲ai引擎遊戲AI
- 004 Web Assembly康威遊戲之優化Web遊戲優化
- Web安全下的資料感知引擎Web
- 【開源】微信小程式、小遊戲以及 Web 通用 Canvas 渲染引擎 - Cax微信小程式遊戲WebCanvas
- 遊戲趣史:遊戲引擎的發展史遊戲引擎
- 圖撲 Web 視覺化引擎在模擬分析領域的應用Web視覺化
- 白鷺引擎助力《迷你世界》研發團隊開發3D小遊戲版3D遊戲
- 3D遊戲引擎Unity上市:市值180億 紅杉銀湖是股東3D遊戲引擎Unity
- HT for Web 3D遊戲設計設計--漢諾塔(Towers of Hanoi)Web3D遊戲設計
- 基於 HTML5 WebGL 的 3D 渲染引擎構建工廠運作系統HTMLWeb3D
- 傳統 Web 應用中的身份驗證技術Web
- 智慧火電扭轉傳統運作模式,3D視覺化助力雙碳政策疾行模式3D視覺化
- 【開源】小程式、小遊戲和Web運動引擎 to2to 釋出遊戲Web
- Orillusion 引擎正式開源!AIGC 時代下的 WebGPU 輕量級 3D 渲染引擎!AIGCWebGPU3D
- 遊戲引擎架構遊戲引擎架構
- 3D城市自動生成方案升級,騰訊GiiNEX遊戲AI引擎正式亮相3D遊戲AI
- 004 Web Assembly康威遊戲之最佳化Web遊戲