Unity i AI vodič: Napravi prvi AI sistem za svoju igru

Prestanite bacati novac na skupe assete koji obećavaju pametne neprijatelje

Većina tih skripti sa prodavnica je samo gomila nabacanih if-else naredbi koje će vam zagušiti procesor čim ubacite tri NPC-a u scenu. Ako želite AI koji zapravo misli, a ne samo prati putanju, morate zaprljati ruke kodom i razumjeti logiku iza NavMesh-a. Vi trebate kontrolu, a ne crnu kutiju koja prestane raditi čim Unity izbaci novi update. U ovom vodiču uštedićete minimalno 50 eura na assete i sate frustracije, a sve što vam treba je vaša trenutna Unity instalacija i malo volje da skontate kako mašina vidi prostor. Radi. Odmah.

Tvoj arsenal: Šta ti zapravo treba na disku

Zaboravite na fensi dodatke. Da biste napravili funkcionalan sistem, potrebna vam je Unity verzija 2022.3 LTS ili novija zbog stabilnosti NavMesh API-ja. Kao što smo ranije objasnili u tekstu o tome kako spojiti Unity i AI, osnova svega je prohodnost terena. Ako nemate bar 8GB RAM-a, nemojte ni pokušavati peći kompleksne mape puta (NavMesh baking) dok vam je upaljen Chrome sa 50 tabova. Isključite sve nepotrebno. Vaš kod mora biti čist. Koristite VS Code ili Visual Studio, ali isključite one dosadne auto-complete sugestije koje vam podmeću pogrešne biblioteke.

NavMesh: Postavljanje granica za tvog digitalnog monstruma

Prva stvar koju početnici zabrljaju je postavljanje statičnih objekata. Ako tvoj zid nije označen kao ‘Navigation Static’, tvoj AI će pokušati proći kroz njega kao da ne postoji. To smrdi na loš dizajn. Označi sve prepreke, idi na Window > AI > Navigation i udari taj ‘Bake’ dugme. Osjetićeš miris vrele plastike iz laptopa ako je scena prevelika, ali to je normalno. Unity Editor prikazuje NavMesh navigaciju za AI karaktera u 3D igri

Mozak operacije: State Machine protiv Behavior Tree

Nemojte prekomplikovati. Za vašu prvu igru, Finite State Machine (FSM) je zakon. To je prosta logika: IDLE, CHASE, ATTACK. Svako stanje je posebna funkcija. Kada AI uđe u zonu detekcije, ‘prešaltaj’ ga u CHASE. To je gruba, ali efikasna metoda. Ako koristite generativni AI za programiranje, tražite od njega da vam napiše čistu ‘switch’ petlju, a ne neki prenapuhani framework koji ne razumijete. Glavni problem nastaje kada AI ‘zaglavi’ između dva stanja. To izgleda očajno. NPC se trese kao da ima strujni udar. Rješenje? Dodajte mali ‘buffer’ od 0.5 sekundi prije nego što promjeni odluku.

Da li moj AI mora da vidi kroz zidove?

Ne, i to je najčešći razlog zašto igre djeluju jeftino. Koristite Raycast. Zamislite to kao laserski pokazivač koji NPC ispaljuje iz očiju. Ako laserska zraka pogodi zid prije nego što pogodi igrača, NPC vas ne vidi. Prosto. Ako želite ubrzati proces i ispraviti bugove u sekundi, testirajte ovo u praznoj sceni sa jednom kockom.

Koliko NPC-ova može raditi odjednom?

Zavisi od vaše optimizacije. Ako svaki NPC provjerava udaljenost do igrača u svakom frejmu (Update petlja), igra će početi da sjecka. Koristite ‘Coroutines’ i provjeravajte logiku svakih 0.2 sekunde. Igrač to neće primjetiti, a procesor će vam biti zahvalan. Uvijek pratite performance u realnom vremenu da vidite gdje curi memorija.

Anatomija katastrofe: Kako sam spržio procesor lošim Update petljama

Prije dvije godine, pokušao sam napraviti sistem gdje 100 vukova juri zeca. Umjesto pametnog lova, dobio sam slideshow od 2 frejma po sekundi. Greška? Svaki vuk je tražio put ispočetka u svakom frejmu. To je kao da svaki put kad trepnete, ponovo učite put do prodavnice. Velika greška. Ako ne keširate putanje (path caching), vaš projekat je osuđen na propast. Koristite NavMeshAgent.pathPending provjeru prije nego što mu naredite novu destinaciju. Ako to preskočite, vaš NPC će stalno ‘razmišljati’ i nikada se neće pomjeriti.

UPOZORENJE: Nikada ne pozivajte NavMesh.CalculatePath unutar Update() petlje bez brojača. To može dovesti do trenutnog zamrzavanja Unity Editora i gubitka nesačuvanog koda. Vaš CPU će skočiti na 100% i jedini spas je Task Manager.

Zašto ovo radi: Fizika kretanja i Navigacija

NavMesh nije magija, to je trigonometrija upakovana u lijep interfejs. On dijeli vaš pod na trouglove (navigacijska mreža). Kada AI treba doći od tačke A do tačke B, on koristi A* algoritam da pronađe najkraći niz trouglova. Ako razumijete ovo, shvatićete zašto je bitno da vam podovi budu ravni. Čim imate stepenice koje su previše strme, NavMesh puca. Prema standardima iz 2026., AI agenti moraju imati definisanu maksimalnu visinu stepenika (Step Height) koja se poklapa sa njihovom animacijom, inače će NPC ‘levitirati’ iznad stepenica, što izgleda grozno.

Završni radovi: Kako da AI ne izgleda kao robot

Dodajte ‘Random.insideUnitSphere’. Kada NPC patrolira, nemojte mu dati fiksnu tačku. Dajte mu zonu. Neka malo luta. To daje iluziju života. Za ozbiljnije projekte, pogledajte kako AI prati stabilnost servera i primjenite sličnu logiku nadzora nad vašim NPC grupama. Ako planirate kompleksnije sisteme, naučite kako da podesite AI agente da sami koriguju svoje ponašanje. DIY pristup je težak, bolan i prljav, ali na kraju dana, vi ste vlasnik koda, a ne rob tuđeg asseta. Zakucajte to u glavu i počnite kodirati.

Slični tekstovi

Komentariši

Vaša email adresa neće biti objavljivana. Neophodna polja su označena sa *