>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
C-plus-plus

Jak połączyć Unreal Engine z nowoczesnymi sieciami neuronowymi bez zbędnego bólu głowy

Wyobraź sobie: tworzysz grę i chcesz dodać NPC, który nie tylko wypowiada trzy z góry ustalone kwestie, ale faktycznie rozumie gracza. Albo jeszcze ciekawiej — chcesz, żeby sieć neuronowa pomagała ci budować poziomy bezpośrednio w edytorze, rozmieszczając obiekty na podstawie opisów tekstowych.

Zazwyczaj kończy się to żmudnym pisaniem wrapperów API, walką z asynchronicznymi żądaniami w C++ i próbami zachowania zdrowych zmysłów przy ciągłych aktualizacjach modeli co dwa tygodnie. Projekt UnrealGenAISupport autorstwa dewelopera prajwalshettydev eliminuje tę rutynę. To wtyczka łącząca Unreal Engine z całą menażerią nowoczesnych LLM-ów.

Co to za projekt

UnrealGenAISupport to wtyczka open-source dla silników UE w wersjach 5.4 do 5.7, która integruje pracę z OpenAI, Claude, DeepSeek, Google Gemini, a nawet Grok od Elona Muska w jednym miejscu. Autor wyraźnie dążył do stworzenia „szwajcarskiego scyzoryka" dla projektantów gier, którzy potrzebują szybko zintegrować generatywną AI ze swoimi projektami.

Ciekawe jest to, że projekt nie ogranicza się do prostego czatu. Obejmuje wsparcie dla MCP (Model Context Protocol), który pozwala sieciom neuronowym faktycznie „widzieć" twój projekt i nim sterować.

Kluczowe funkcje warte wypróbowania

1. Sterowanie edytorem przez MCP

To prawdopodobnie najbardziej obiecująca część. Używając protokołu MCP, możesz połączyć Claude Desktop lub Cursor bezpośrednio z działającym edytorem Unreal. W README znajdziesz przykłady, gdzie sieć neuronowa tworzy obiekty, zmienia ich transformacje, aplikuje materiały, a nawet generuje Blueprints.

Oczywiście lista znanych problemów szczerze informuje, że węzły w Blueprints mogą czasem łączyć się niepoprawnie, a także brakuje Cofnij/Ponów. Ale do prototypowania czy automatyzacji żmudnych zadań — to już działające narzędzie.

2. Wsparcie dla DeepSeek i modeli „rozumujących"

Wszyscy teraz mówią o DeepSeek R1 ze względu na jego zdolność do „myślenia" przed udzieleniem odpowiedzi. Wsparcie dla R1 jest już w wtyczce. Deweloper ostrzega: ponieważ te modele długo odpowiadają, standardowe 30-sekundowe limity czasu w Unreal nie zadziałają. Musisz dostosować konfigurację w DefaultEngine.ini:

[HTTP]
HttpConnectionTimeout=180
HttpReceiveTimeout=180

3. Strukturyzowane odpowiedzi (Structured Outputs)

Jeśli chcesz, żeby sieć neuronowa zwracała nie tylko tekst, ale dane, które gra może przetworzyć (na przykład statystyki nowego przedmiotu lub współrzędne spawnu wrogów), wtyczka obsługuje schematy JSON. Podajesz modelowi schemat i otrzymujesz czysty JSON, który można łatwo przekształcić w strukturę danych wewnątrz UE.

Przykład w C++ wygląda przejrzyście:

UGenAISchemaService::RequestStructuredOutput(
    TEXT("Сгенерируй список из 3 врагов для ледяной локации"),
    MySchemaJson,
    [](const FString& Response, const FString& Error, bool Success) {
       // Здесь парсим Response
    }
);

4. Wielomodalność i 3D

W płatnej wersji Pro autor oferuje integrację z ElevenLabs (głos) i Meshy (generowanie modeli 3D). Ale nawet w wersji darmowej jest wystarczająco narzędzi na start: wsparcie Vision API (analizowanie zrzutów ekranu z gry przez sieci neuronowe) oraz podstawowe funkcje do pracy z chińskimi modelami jak Qwen, co jest istotne dla wielu osób.

Jak to działa pod maską

Wtyczka jest napisana w C++, ale maksymalnie przyjazna dla entuzjastów Blueprint. Prawie wszystkie funkcje są wystawione jako węzły, więc możesz zbudować agenta AI bez pisania jakiegokolwiek kodu.

Architektura jest prosta: wtyczka nie ciągnie za sobą ciężkich zewnętrznych zależności. Dla MCP używa małego serwera Python, który komunikuje się z edytorem przez gniazda. Oznacza to, że musisz włączyć Python Editor Script Plugin w ustawieniach projektu.

Dla kogo to jest

Widzę dwa główne scenariusze:

  1. Dla twórców NPC i zadań: Jeśli potrzebujesz szybko przetestować hipotezę z „inteligentnymi" dialogami, ta wtyczka zaoszczędzi ci tygodnia pracy nad warstwą sieciową.
  2. Dla narzędzi automatyzacji: Jeśli masz dość ręcznego rozmieszczania tysięcy drzew czy tworzenia powtarzalnych materiałów, możesz spróbować delegować to do Claude przez MCP.

Osobiste obserwacje i niuanse

Projekt jest aktywny, aktualizacje pojawiają się często, ale musisz rozumieć — to nie jest gotowe rozwiązanie „out of the box" do wydania na Steam. To potężne narzędzie deweloperskie.

Przy okazji, autor szczerze porusza kwestię bezpieczeństwa: nie wpisuj kluczy API na twardo do builda gry. Do testów w edytorze klucze pobierane są ze zmiennych środowiskowych (na przykład PS_OPENAIAPIKEY), a do produkcji musisz postawić własny backend proxy, żeby gracze nie wyczyścili twojego salda OpenAI.

Jeśli od jakiegoś czasu chciałeś wypróbować LLM-y w Unreal, ale nie wiedziałeś, od której strony ugryźć API — UnrealGenAISupport to świetny punkt wyjścia.

Możesz sprawdzić kod i przykłady w repozytorium: prajwalshettydev/UnrealGenAISupport A dla szybkiego startu dostępny jest projekt testowy, gdzie wszystko jest już skonfigurowane.

Powiązane projekty