Godot:SB 開發快照(遊戲 UI 演示)


3樓貓 發佈時間:2024-03-27 23:32:51 作者:命運坍縮 Language

介紹

Super Ball 功能開發快照
主要演示了遊戲內的 UI 交互,歡迎進行任何形式的反饋
遊戲使用 Godot 引擎進行開發,是一個多人競技遊戲,帶有一定的派對屬性
整體的思路是希望能讓 UI 內容的切換選擇可以儘可能的快捷,聚合
目前階段做了一些比較基礎的美術設計,核心還是先以功能實現為主
暴露了大部分 Godot 自帶的畫質調節選項,音頻管線的控制等等

語言適配問題

進行了簡單的英語適配,就是遇到了一個在中文環境開發時最初沒考慮到的問題
側邊的按鍵採用了豎形排列,在漢語或東亞文化圈中豎型排列的方式並不少見,但是如果使用其他的語言,豎型排列就會遇到困難
不僅是 Godot 本身沒有暴露豎型語言的排列方法,實現需要額外的開發成本,可讀性也會大大降低
於是還是單獨的做了另一版英文按鍵的排列方式,並實現了語言更改時的切換
只是還有一個問題,按鍵文字會影響按鈕的大小,若某一種語言某個單詞的長度特別長又會導致按鈕大小的失衡,就比如圖中的 Control 按鍵
可能比較簡單的解決方式就是留出足夠的空間,至少在 IU 設計時這需要考慮在內(每每此時就愛死了中文方塊字的特性,可以很規整的控制文字的長度,簡直強迫症的福音)

按鈕音頻問題

在最初為按鈕添加音效時不太想的好採用怎樣的實現方案,因為 Godot 目前在 UI 音頻配置方面還沒有一套內置的方案,如果可以結合進目前 Godot 的 UI 主題系統中就完美了(雖然 Calinou 已經進行了實現只是合併樂觀估計也得到 4.4 版本了)
最後還是決定藉助在上一篇文章中介紹過的插件 Resonate 為每種 UI 控件單獨寫一個腳本,並添加到每個 UI 控件上,相對來說會清晰一些,也方便對已有 UI 控件的升級
其他更多的就是尋找合適的音效了,又算是一個體力活,不過在後續發現 itch 還是有挺多 UI 音效包的,也許就不用面臨自己辛苦找半天,效果還不統一的問題了

總結

UI 的實現,整體也屬於技術方面並不存在太大的難度,但是相對來說會比較繁瑣的一類
總體來說目前的 UI 實現都是使用 Godot 自帶的 UI 控件,不得不說 Godot 的 UI 系統還是很方便強大的,除了一些小Bug
比如若使用 Godot 的 tr() 函數用於內容翻譯,在切換多語言時就無法自動刷新,需要手動重新生成(當然這點可能不算 Bug)
  1. 在使用 OptionButton 控件時,選項小窗無法和 UI 界面做到統一的分辨率
  2. 如果移動或是設置了顯隱操作,選項小窗也無法跟隨 OptionButton 一起變化,需要額外的手動適配
  3. 主題設置方面也存在一些問題
(主要還是 PopupMenu 的問題 問題報告


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com