跳到內容

遊戲開發者快速入門

如果您是遊戲開發者,希望為您的使用者輕鬆整合 SignalRGB 特效,歡迎使用快速入門指南。我們的開發者專門使特效與通常不是為我們目的設計的 UI 一起工作。使用者喜歡顏色漸層、透明 UI、可自訂的技能 UI、會彈跳或搖晃的 HUD 元素等功能——所有這些不一致性我們都必須在特效觸發中加以考慮。UI 越難,我們能為遊戲和使用者體驗做的就越少。透過您和我們開發者之間的一些協作,可以消除這些問題,並將遊戲整合推向新的水平。

SignalRGB 的 API 為開發者提供了分析視覺資訊的獨特而強大的工具。簡單來說,我們可以從任何像素或像素群組擷取精確的 RGB 顏色資料,並使用穩定值的變化來觸發特效。例如,血條減少、選單開啟或技能圖示去飽和——任何一致的 UI 元素都可以用來觸發使用者外設上的特效。

這種方法被認為是間接通訊,並帶來了我們開發者在每次整合中都要考慮的幾個挑戰。以下各節探討了直接通訊的想法,目前是理論性的(遊戲開發者,請與我們聯繫)。

我們最簡單的觸發器檢查特定顏色範圍,如果匹配返回「是」,如果不匹配返回「否」。在資料術語中,這被稱為一個位元,八個位元組成一個位元組,可以表示多達 256 種可能的狀態。

在實踐中,您提供螢幕上固定像素的座標(在所有解析度下都可見)。這些像素可以聚集在一起或分散開來,它們可以是任何顏色——只要每個像素的位置在遊戲內永遠不會改變,其啟動顏色保持一致。當像素的顏色與啟動顏色匹配時,它在陣列中記錄為「1」。**如果是任何其他顏色,**它記錄為「0」。每個影格,整合從這個二進位序列計算出結果整數並維護您定義的相應狀態。

以下是使用僅三個像素的簡化範例,產生六個唯一的狀態。此範例中的 UI 元素是來自熱門遊戲的小地圖角落。

以及我的三個像素:

我選擇了原始顏色作為通過顏色,所以這種位元排列等於 111,即「6」。沒有通過(000)將是「0」。

我們需要建立的第一件事是遊戲內的「閒置」狀態,它只是在我們等待更多輸入時維護其他一切。這將是狀態「0」,可以用以下像素值表示:

我將每個設定為 rgb(0, 0, 0),這不通過。但是,這樣的大差異可能對使用者可見。在下一個範例中,我們將更加微妙。

所以,假設我們已確定我們在遊戲中並維護基本狀態。您的角色施放了他們的第一個技能,我們想將這個變化記錄為一個特效。「技能 1 施放」的特效被指定為狀態「1」,當我們向整合通訊狀態「1」時將啟動。為此,我略微編輯像素 1 和 2(從左側)的基本顏色以建立 001。

看起來可能不起眼,但像素 1 的亮度降低了約 30%,像素 2 的飽和度增加了 50%。由於我們的系統可以輕易偵測到這些變化,狀態將可靠地切換到「1」並觸發技能特效。具有設定持續時間的技能可以自行結束,但假設這個技能按一次按鍵啟動,再按一次結束。要維持不定時的特效,狀態「1」將啟動它,狀態「2」可以根據進一步的使用者輸入結束它。有些特效仍然非常模擬,仍然需要我們的開發者單獨處理,但對於其餘的特效,這個系統應該是可靠的。主要限制是「像素」的可見性,它必須在遊戲狀態期間保持不變,並且可能應該比狀態「1」像素的解析度更大。