Szybki start dla deweloperów gier
Jeśli jesteś deweloperem gier i szukasz prostego sposobu na integrację efektów SignalRGB dla swoich użytkowników, witaj w przewodniku szybkiego startu. Nasi deweloperzy specjalizują się w sprawianiu, aby efekty działały z interfejsem użytkownika, który zazwyczaj nie jest zaprojektowany dla naszych celów. Użytkownicy doceniają takie funkcje jak gradienty, przezroczysty UI, konfigurowalny UI umiejętności, elementy HUD, które odbijają się lub drżą — to wszystko niespójności, które musimy brać pod uwagę podczas aktywowania efektów. Im trudniejszy UI, tym mniej możemy zrobić dla gry i doświadczenia użytkownika. Dzięki pewnej współpracy między tobą a naszymi deweloperami te problemy mogą zostać wyeliminowane, a integracje z grami wyniesione na wyższy poziom.
Podstawy aktywacji
Dział zatytułowany „Podstawy aktywacji”API SignalRGB zapewnia deweloperom unikalne i potężne narzędzia do analizy informacji wizualnych. Mówiąc prosto, możemy przechwytywać precyzyjne dane kolorów RGB z dowolnego piksela lub grupy pikseli i używać zmian w stabilnych wartościach do aktywowania efektów. Pomyśl o pasku zdrowia, który maleje, menu, które się otwiera, lub ikonie umiejętności, która traci kolor — każdy spójny element UI może być użyty do aktywowania efektu na urządzeniach peryferyjnych użytkownika.
Ta metoda jest uważana za komunikację pośrednią i wiąże się z różnymi wyzwaniami, które nasi deweloperzy biorą pod uwagę przy każdej integracji. Poniższe sekcje badają pomysły na komunikację bezpośrednią, które są obecnie teoretyczne (deweloperzy gier, skontaktujcie się z nami).
Pomysł 1 — Komunikacja binarna
Dział zatytułowany „Pomysł 1 — Komunikacja binarna”Nasz najprostszy wyzwalacz sprawdza określony zakres kolorów i zwraca “tak”, jeśli pasuje, lub “nie”, jeśli nie pasuje. W terminologii danych nazywa się to bitem, a grupa ośmiu bitów tworzy bajt, który może reprezentować do 256 możliwych stanów.
W praktyce podajesz współrzędne stałych pikseli na ekranie (widocznych przy wszystkich rozdzielczościach). Te piksele mogą być zgrupowane lub rozproszone i mogą mieć dowolny kolor — o ile lokalizacja każdego piksela nigdy nie zmienia się w grze, a kolor aktywacji pozostaje spójny. Gdy kolor piksela pasuje do koloru aktywacji, jest rejestrowany jako “1” w tablicy. Jeśli jest inny kolor, rejestrowany jest jako “0”. Każda klatka integracja oblicza wynikową liczbę całkowitą z tej sekwencji binarnej i utrzymuje odpowiadający jej stan, który zdefiniowałeś.
Oto uproszczony przykład z zaledwie trzema pikselami, dający sześć unikalnych stanów. Element UI w tym przykładzie to róg minimapy z popularnej gry.

I moje trzy piksele:

Wybrałem oryginalne kolory jako kolor przechodzący, więc ta konfiguracja bitów jest równa 111, czyli “6”. Brak kolorów przechodzących, czyli 000, byłoby “0”.

Pierwszą rzeczą, którą musimy ustalić, jest “bezczynny” stan w grze, który po prostu utrzymuje wszystko, co już się dzieje, czekając na więcej wejścia. Jest to stan “0” i może być reprezentowany przez następujące wartości pikseli:

Ustawiam każdy piksel na rgb(0, 0, 0), co nie przechodzi. Jednak duże różnice jak ta mogą być zauważalne dla użytkownika. W następnym przykładzie jesteśmy bardziej subtelni.
Powiedzmy więc, że ustaliliśmy, że jesteśmy w grze i utrzymujemy stan podstawowy. Twoja postać użyła swojej pierwszej umiejętności i chcemy zarejestrować tę zmianę jako efekt. Efekt dla “Użyto umiejętności 1” jest przypisany jako stan “1” i aktywuje się, gdy komunikujemy stan “1” do naszej integracji. Aby to zrobić, lekko dostosowuję podstawowe kolory dla pikseli 1 i 2 (od lewej), aby stworzyć 001.

Może się to nie wydawać dużo, ale piksel 1 zmniejszył jasność o około 30%, a piksel 2 zyskał 50% nasycenia. Ponieważ nasz system może łatwo wykryć te zmiany, stan niezawodnie przełącza się na “1” i efekt umiejętności zostaje aktywowany. Umiejętności o stałym czasie trwania mogą same się kończyć, ale powiedzmy też, że ta aktywuje się jednym naciśnięciem przycisku i kończy innym naciśnięciem. Aby utrzymać nieokreślony efekt, stan “1” by go aktywował, a stan “2” mógłby go zakończyć na podstawie dalszego wejścia użytkownika. Niektóre efekty są bardzo analogowe i nadal musiałyby być obsługiwane indywidualnie przez naszych deweloperów, ale dla reszty ten system gwarantuje niezawodność. Głównym ograniczeniem jest widoczność “pikseli”, które muszą być stałe podczas rozgrywki i prawdopodobnie muszą być większe niż rozdzielczość piksela stanu “1”.