遊戲中的GUI相比一般應用中的GUI在技術上有哪些差別?
01-08
現在有哪些比較優秀的開源GUI是專為遊戲設計的呢?
輕量,靈活。不要動不動就一套框架,就一個簡單的能讓遊戲引擎調用的UI渲染和輸入就行了。需要能接入引擎本身的渲染介面和輸入介面,而不是直接跟系統打交道。(甚至字體渲染和矩形管理都交給引擎)
MyGUI和CEGUI都是不錯的選擇。在遊戲中,UI只是用戶(玩家)可視內容的一部分,在多數情況下甚至只是相對次要的一部分。它的設計和實現需要服從主要的部分,也就是遊戲畫面。而對於絕大多數普通應用,可以說UI就是它的可視內容的全部。
由於遊戲UI要服從遊戲畫面的風格,因此需要極強的可定製性。而對於應用UI,其所運行的環境往往會要求所有應用都具有一致的風格和操作習慣,鼓勵使用相同的組件。
遊戲UI通常會使用與遊戲內容相同的渲染管線,因此一個面向遊戲的UI系統需要能夠輕易地集成到遊戲的引擎中。而為了保證設計和實現的統一性,面嚮應用的UI系統通常會使用共通的輸入和渲染系統。
對於多數遊戲來說,UI都不會太複雜,且不同遊戲界面的差異較大,因此對通用組件庫的要求不高。一般來說,只需要有Image(渲染圖片)、Text(渲染文本)和Button(接受點按輸入)即可實現絕大多數遊戲的UI。而應用UI比較複雜,其中存在更多的可以抽象出來的組件,同時為了保證不同應用之間UI的統一性,因此常常會提供豐富的組件庫。ocornut/imgui 接入和使用都很方便.主要是為了給開發者調試用的.
工作原因一般使用商業UI解決方案:基於flash的scaleform(生態原因國內這類人才較少很多人也不願意做了),Awe,CorhentUI(基於h5,很fancy。但是性能和展現力一般不如scaleform). 如果用unity,他們的cgui和ugui都是主流,沒用過不做判斷. 還有種方法就是自己直接畫貼圖,要解決諸如事件響應,傳遞。布局等基礎功能,目前浮躁的國內遊戲圈,你覺得最後這個靠譜嗎?
推薦閱讀:
※Vulkan API什麼時候發布?
※截圖顯示效果與顯卡類型、性能有無關係?
※哪些圖形學相關的博客 (blog) 值得推薦?
※UE4的SSR(屏幕空間反射)是如何實現分攤到多幀渲染的?
TAG:圖形用戶界面 | OpenGL | 計算機圖形學 | WindowsPresentationFoundationWPF | DirectX |